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
Это также позаботится о деталях загрузки и