2015-12-20 6 views
1

Мне нужно установить Java из командной строки. Это то, что я пытаюсь:OS X не может отсоединить громкость, ошибка hdiutil

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

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

+0

Вы пытались выйти из каталога изображений (из '/ Volumes/Java \ для \ OS \ X \ 2015-001/')? – dan

ответ

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 

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

+0

Ах право. 'cd'-ing из каталога решила проблему. Благодаря! – SexyBeast

+0

@Cupidvogel Добро пожаловать, рад, что он сработал :) – dan

+0

Кстати, он не совсем бесшумный, промежуточное окно с файлом pkg все еще появляется во время установки. Когда установка завершается, она исчезает, но она все еще отображается во время установки, и если командная строка находится в полноэкранном режиме, экран при этом переходит на рабочий стол. Можно ли это избежать и делать это действительно тихо? – SexyBeast