- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 MacOS 10.13 开始,我遇到了以下问题。
/usr/bin/hdiutil attach "target/MyDrive-tmp.dmg"-mountroot/tmp
/dev/disk3 GUID_partition_scheme
/dev/disk3s1 Apple_APFS
/dev/disk4 EF57347C-0000-11AA-AA11-0030654
/dev/disk4s1 41504653-0000-11AA-AA11-0030654 /private/tmp/MyDrive
/usr/bin/hdiutil detach -force -debug "/tmp/MyDrive"
或 diskutil eject "/tmp/MyDrive"
process_detach: entry with "/tmp/MyDrive"
util_verify_dev_entry: entry with "disk4s1".
process_detach_deventry: about to unmount_and_eject disk4s1
unmount_and_eject(disk4s1)
LetDIDriverSettleDown: calling IOServiceWaitQuiet...
DI_kextWaitQuiet: about to call IOServiceWaitQuiet...
DI_kextWaitQuiet: IOServiceWaitQuiet took 0.000005 seconds
LetDiskImageDriverSettleDown: wait took 0.000066 seconds
_unmountCallback: disk4
"disk4" unmounted.
"disk4" ejected.
/usr/bin/hdiutil convert "target/MyDrive-tmp.dmg"-format UDZO -o "target/MyDrive.dmg"-debug
DIIsInitialized: returning YES
DIIsInitialized: returning YES
DIBackingStoreNewWithCFURL: entry with
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
writeable: false
DIBackingStoreInstantiatorProbe: entry
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
writeable: false
DIBackingStoreInstantiatorProbe: probing interface 0 CBSDBackingStore
CBSDBackingStore::newProbe score 100 for
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 0, score 100, CBSDBackingStore
DIBackingStoreInstantiatorProbe: probing interface 1 CBundleBackingStore
CBundleBackingStore::newProbe score -1000 for
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 1, score -1000,
CBundleBackingStore
DIBackingStoreInstantiatorProbe: probing interface 2 CRAMBackingStore
CRAMBackingStore::probe: scheme "file": not ram: or ramdisk: scheme.
CRAMBackingStore::probe: score -1000 for
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 2, score -1000, CRAMBackingStore
DIBackingStoreInstantiatorProbe: probing interface 3 CCarbonBackingStore
CCarbonBackingStore::newProbe: setting initial rval to +100
CCarbonBackingStore::newProbe score 100 for
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 3, score 100,
CCarbonBackingStore
DIBackingStoreInstantiatorProbe: probing interface 4 CDevBackingStore
CDevBackingStore::newProbe: not /dev/disk or /dev/rdisk (/Users/xxxx/Documents/git/Midi Automator/Midi Automator/target/MyDrive-tmp.dmg).CDevBackingStore::newProbe score -1000 for file:///Users/aguelle/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 4, score -1000, CDevBackingStore
DIBackingStoreInstantiatorProbe: probing interface 5 CCURLBackingStore
CCURLBackingStore::probe: scheme is: file
CCURLBackingStore::probe: not recognized URL scheme.
CCURLBackingStore::probe: score -1000 for
file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 5, score -1000, CCURLBackingStore
DIBackingStoreInstantiatorProbe: probing interface 6 CVectoredBackingStore
CVectoredBackingStore::newProbe not "vectored" scheme.
CVectoredBackingStore::newProbe score -1000 for file:///Users/xxxx/Documents/git/Midi%20Automator/Midi%20Automator/target/MyDrive-tmp.dmg
DIBackingStoreInstantiatorProbe: interface 6, score -1000,
CVectoredBackingStore
DIBackingStoreInstantiatorProbe: selecting CBSDBackingStore
DIBackingStoreNewWithCFURL: CBSDBackingStore
CBSDBackingStore::setPermission: opening /Users/xxxx/Documents/git/Midi
Automator/Midi Automator/target/MIDI Automator-tmp.dmg
CBSDBackingStore::OpenLockFriendly: mapping flags 0x00000000 -> 0x00000014 (locks are MANDATORY)
CBSDBackingStore:OpenLockFriendly: could not open with lock 35
DIBackingStoreNewWithCFURL: instantiator returned 35
DIBackingStoreNewWithCFURL: returning 35
DIResolveURLToBackingStore: unable to resolve to any backing store class. 35.
DIResolveURLToDiskImage: resolving backing store/file encoding failed. 35.
convert: unable to recognize "target/MyDrive-tmp.dmg":
resource temporarily unavailable.hdiutil: convert: result: 35`
/usr/bin/hdiutil attach "target/MyDrive-tmp.dmg"-mountroot/tmp
/usr/bin/hdiutil convert "target/MyDrive-tmp.dmg"-format UDZO -o "target/MyDrive.dmg"
-> 结果:转换正常
那么 hdiutil detach
、diskutil eject
和从 Finder 中弹出有什么区别呢?
分析:lsof [device]
没有输出,因为设备在 hdiutil detach
至少 mount
后没有留下。
diskutil info "disk4s1"
或 diskutil info/tmp/MyDrive
:
Device Identifier: disk4s1
Device Node: /dev/disk4s1
Whole: No
Part of Whole: disk4
Volume Name: MyDrive
Mounted: Yes
Mount Point: /private/tmp/MyDrive
Partition Type: 41504653-0000-11AA-AA11-00306543ECAC
File System Personality: APFS
Type (Bundle): apfs
Name (User Visible): APFS
Owners: Disabled
OS Can Be Installed: Yes
Media Type: Generic
Protocol: Disk Image
SMART Status: Not Supported
Volume UUID: A3EE0B42-A021-47AA-B424-E494B75049D3
Disk / Partition UUID: A3EE0B42-A021-47AA-B424-E494B75049D3
Disk Size: 212.5 MB (212471808 Bytes) (exactly 414984 512-Byte-Units)
Device Block Size: 4096 Bytes
Volume Total Space: 212.5 MB (212471808 Bytes) (exactly 414984 512-Byte-Units)
Volume Used Space: 184.7 MB (184709120 Bytes) (exactly 360760 512-Byte-Units) (86.9%)
Volume Available Space: 27.8 MB (27762688 Bytes) (exactly 54224 512-Byte-Units) (13.1%)
Allocation Block Size: 4096 Bytes
Read-Only Media: No
Read-Only Volume: No
Device Location: External
Removable Media: Removable
Media Removal: Software-Activated
最佳答案
hdiutil
真正用于处理磁盘镜像,就像您正在做的那样。 finder 中的弹出本质上是 diskutil eject [device]
。 hdutil detach
是“分离磁盘镜像并终止任何关联的进程”(来自手册页)。其中 diskutil 用于“操纵本地磁盘的结构”(来自手册页)。在功能上,hdiutil detach
与 diskutil eject
相同。它的工作方式取决于磁盘仲裁是否正在运行。
Disk Arbitration 是一个框架,并且在 diskarbitrationd 进程中,它由 launchd 启动并且默认情况下始终处于打开状态。它处理通过 USB、Firewire、Thunderbolt 等连接的磁盘的安装和卸载。
根据 hdutil 的手册页,当磁盘仲裁运行时。 hdutil detach
将使用它来卸载任何文件系统并分离图像。但是,如果 diskarbitrationd 没有运行,那么它会尝试卸载文件系统,并通过对 ioctl 的系统调用直接分离镜像。我不确定 diskutil -eject
是否使用磁盘仲裁框架,但我想说它确实如此。
尝试找出出现该错误的原因可能会很有趣。这通常意味着无法获得独占访问权。您可以尝试使用 lsof [device]
这将显示设备的所有 ope 文件和 PID 以及更多内容,并且这可能会给您提供有关 [EBUSY] 错误原因的线索(资源暂时不可用)。如果您不知道它是什么设备,则可以使用不带参数的 mount
来列出所有设备和安装点。我相信您也可以执行 lsof [mount/point]
。 lsof 的手册页是您的 friend ,它很长。
另一个诊断是将 -verbose 选项与 hdiutil 一起使用。它适用于所有动词。因此,/usr/bin/hdiutil -verbose convert "target/MyDrive-tmp.dmg"-format UDZO -o "target/MyDrive.dmg"
可能会提供一些启示。
另一个可能的线索来源是在您尝试导致错误的步骤时打开一个额外的 Terminal.app 窗口,并运行 diskutil activity
命令。此命令持续报告所有磁盘仲裁框架事件。 Ctrl-C 停止进程。
您有一个适合您的解决方法,因此可能调查为什么会出现错误对您来说并不重要或有趣。此外,如果您不想使用 Finder,您始终可以从终端使用 diskutil eject [device]
。自从我“升级”到 High Sierra 以来,我注意到很多事情不太对劲,并且基于网络上的博客,Apple 似乎以安全和他们的新文件系统的名义打破了一些东西。我怀疑在这种情况下它是否与安全相关,但如果他们引入了一个错误来改变命令和框架以与 APFS 一起工作,我不会感到惊讶。
关于macos - hdiutil 附加/分离/将结果转换为 "resource temporarily unavailable",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48368389/
我有一个使用 ARM 模板创建的 python 函数应用程序。当我尝试使用 azure Devops 管道部署函数时,我遇到以下错误, “无法将Web包部署到应用服务。服务暂时不可用代码503” 最佳
如果我在 Python 解释器中创建了一个包含大量进程的池,它显然会出错,但是在这样做之前似乎并没有清理 fork 进程,因此留下了环境脏,系统的其余部分无法 fork 进程。 >>> from mu
我正在构建一个包含 DT 的 UI表格和 slider (均作为输入),以及绘图输出。这些表格用于从多个表格中进行选择。用户只能选择一个单元格进行选择。 我希望用户能够存储表格和 slider 的设置
有没有办法暂时将拆分 Pane 扩展为完整选项卡并在完成后再次返回?我正在寻找一个键盘快捷键来执行此操作。用例是能够根据需要临时切换到全屏。 最佳答案 要最大化事件面板,只需在要扩展的屏幕上 Cmd
我正在开发一个用 PHP 和 Mysqli 编写的复杂数据库应用程序。对于大型数据库操作,我使用后台运行的守护进程(也是 PHP)。在这些可能需要几分钟的操作期间,我想阻止用户访问受影响的数据并向他们
就在几天前,我能够访问我的谷歌电子表格来自一个应用程序(在应用程序引擎中),但今天它坏了。 也就是说,我可以 name= "name of my spreadsheet" self.client =
我开发和维护用 JSP 和 Java 编写的小型内联网 Web 应用程序。它们在 Resin 网络服务器上运行,没有像 Apache 那样的专用 httpd。 在执行维护之前,我激活了一个非常简单的
这是一段代码: public function uploadPhoto(){ $filename = '../storage/temp/image.jpg'; file_put_co
为什么以下代码会在 80% 的时间内打印“read(): Resource temporary unavailable”?那就是EAGAIN代码,和WOULD BLOCK一样,表示没有数据等待读取,但
我正在尝试在 C 的 linux (red-hut) 中创建单线程服务器,它将监听多个套接字。 当我像这样将标志设置为非阻塞时,我需要使用非阻塞套接字: int flagss = fcntl(sock
在网页时出现503 service temporarily unavailable是什么意思?这让很多网友在访问某个网站时摸不着头脑,想看的网页打不开,只能灰溜溜地关闭。而这也对很
最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在nginx.conf里做了单ip访问次数限制,(limit_req_zone
我在一个启用了 envers 的项目中创建了一个实体复制器,但是对于这个复制器我不需要审计:有没有办法暂时禁用 envers 审计? 我知道有一些监听器作为拦截器(在审计触发器之前),但我还需要知道审
我有 apache 坐在我的节点服务器前面。节点在某个端口上运行,我使用 apache 代理到该端口,并且还为 https 配置了 apache。 当我启动 apache 然后启动我的节点服务器时,一
Sequelize.js 有没有办法暂时禁用时间戳,最好是单个查询? 特别是,我正在运行一个查询 MyModel.update({ UserId: 1 }, { where: {
我尝试在本地开发系统上设置 Varnish ,但它在启动后几秒钟终止,并显示以下消息: varnishd -s malloc,1G -T 127.0.0.1:2000 -a 0.0.0.0:81 -F
(在 Azure 门户中报告支持问题时,似乎没有选择 Application Insights 的选项,因此发布了这篇文章) 在大约 12 小时内,当我尝试查看特定应用服务的 Application
供引用: 我在 docker desktop for mac 上运行 Kubernetes 基于Nginx镜像的网站 我在 Kubetesetes 上运行 2 个简单的网站部署并使用 NodePort
(在 Azure 门户中报告支持问题时,似乎没有选择 Application Insights 的选项,因此发布了这篇文章) 在大约 12 小时内,当我尝试查看特定应用服务的 Application
编辑: 我正在以矩阵乘法为例学习多线程,我创建了这个程序: #include #include #include #include using namespace std; int N = 5
我是一名优秀的程序员,十分优秀!