] Благодарность Жилю за этот ответ; Жиль отметил в комментариях к вопросу, что переключатель '-n' игнорирует mtab и размонтирует все, что указано в / proc / mounts.
Из справочной страницы:
-n Unmount without writing in /etc/mtab.
Итак, чтобы ответить на мой вопрос о том, как распутать --rbind mount, вот полная команда, которая сработала для меня:
grep /mnt/chroot/sys /proc/mounts | cut -f2 -d" " | sort -r | xargs umount -n
Merci, Gilles!
Вы можете сначала добавить репозитории, (убедиться, что они заслуживают доверия ), а затем обновить, обновить все.
(Обратите внимание :, что вам следует сначала обновить, а затем обновить, потому что наоборот ничего не произойдет.)
Флаги -y
должны препятствовать тому, чтобы apt
запрашивал каждый раз. apt-install
позволяет указать несколько пакетов.
Разрешений 750
должно быть достаточно.
Это должно работать (дальнейшие пояснения в комментариях к скрипту):
#!/bin/bash
#add repos
sudo add-apt-repository ppa:webupd8team/java -y
sudo add-apt-repository ppa:flexiondotorg/minecraft -y
#make sure everything is up-to-date
sudo apt update
sudo apt upgrade -y
#install the packages
sudo apt install -y oracle-java8-installer oracle-java8-set-default default-jre minecraft-installer
#cleanup (not necessarily required)
sudo apt-get autoclean
echo "This world is about to get crafty!"
#if the.minecraft folder is located under /home/username/.minecraft, you should use ~/.minecraft
#temporarily change directory
pushd ~/.minecraft
#set permissions
chmod 750 launcher.jar
#start application in background, in order to finish script, the '&' is responsible for that
java -Xmx3G -Xms3G -jar launcher.jar &
#undo temporary directory change
popd
Вы можете улучшить это, хотя бы проверив коды возврата ваших команд (, то есть убедившись, что все работает ). Вы можете сделать это с помощью &&
или специальной переменной $?
.
Кроме того, почему бы не добавить сначала все репозитории, а затем apt update
только один раз? Это должно сэкономить время.
chmod 777
почти всегда плохая идея, должно быть достаточно предоставления пользователю прав на выполнение.