OS X не может отсоединить том, ошибка hdiutil

Мне нужно установить 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 (щелчок правой кнопкой мыши -> Извлечь), он говорит, что я не могу извлечь его, терминал использует его. Я должен закрыть терминал, и только тогда я смогу извлечь диск.

Как мне сделать это правильно из командной строки?

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

Это также позаботится о деталях загрузки и

Другие вопросы по тегам