【问题标题】:OS X cannot detach volume, hdiutil errorOS X 无法分离卷,hdiutil 错误
【发布时间】:2016-03-26 13:00:36
【问题描述】:

我需要从命令行安装 Java。这就是我正在尝试的:

hdiutil attach javaforosx.dmg
cd /Volumes/Java\ for\ OS\ X\ 2015-001/
sudo installer -pkg JavaForOSX.pkg -target "/"
sudo hdiutil detach hdiutil detach /Volumes/Java\ for\ OS\ X\ 2015-001/

在最后一步失败,并显示错误消息:

hdiutil: couldn't unmount "disk2" - Resource busy

更重要的是,如果我现在转到我的桌面并手动尝试弹出与 Java 相关的磁盘映像(右键单击 -> 弹出),它说我无法弹出它,终端正在使用它。我必须关闭终端,然后才能弹出磁盘。

如何从命令行正确执行?

【问题讨论】:

  • 你是否尝试过退出镜像目录(退出/Volumes/Java\ for\ OS\ X\ 2015-001/)?

标签: java macos installation osx-elcapitan unmount


【解决方案1】:

您也需要退出图像目录。可能如果您将cd 更改为pushd,然后在执行hdiutil detach 之前执行popd。 这将返回您的工作目录。因此,只需将您的脚本更改为:

hdiutil attach javaforosx.dmg
pushd /Volumes/Java\ for\ OS\ X\ 2015-001/
sudo installer -pkg JavaForOSX.pkg -target "/"
popd
sudo hdiutil detach /Volumes/Java\ for\ OS\ X\ 2015-001/

另外,请注意,如果您安装了homebrew,您也可以使用cask 从命令行安装java。喜欢:

brew cask install java7

这也将处理下载细节和

【讨论】:

  • 对了。 cd-ing 出目录解决了这个问题。谢谢!
  • 顺便说一句,它并不是完全静默的,安装过程中仍然会显示带有 pkg​​ 文件的中间窗口。安装完成后它会消失,但在安装过程中仍会显示,如果命令行处于全屏模式,则在执行此操作时屏幕会切换到桌面。是否也有可能逃脱它,并且真的默默地做到这一点?
  • @Cupidvogel 您确定触发窗口的步骤了吗?是dmg finder 图像浏览器还是installer 设置窗口?
  • 您可以添加-nobrowse 参数,这样就不会在finder 中显示图像了。
  • 太棒了!像魅力一样工作!
猜你喜欢
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 2017-07-14
  • 2011-10-02
  • 2015-02-12
  • 1970-01-01
相关资源
最近更新 更多