Как мне перейти на новую версию Ubuntu, не реагируя на запросы?
Я сейчас на 12.04 и хочу установить 12.10. Когда я запускаю обновление, оно обычно загружает материал, затем задает вопрос, устанавливает немного, задает вопрос и т. Д. Я оставляю это на ночь и иногда обнаруживаю, что обновление почти не прогрессирует. Я хотел бы просто начать процесс, уйти и закончить его через пару часов. У меня все в порядке с автоматическим обновлением файлов конфигурации в / etc и так далее. Так как же начать автоматическое обновление?
Подтвердить что состояния Thomas Ward в его ответе и противоречить принятому ответу, do-release-upgrade -d -f DistUpgradeViewNonInteractive
НЕ РАБОТАЕТ.
На самом деле при самой первой подсказке это повредило мои 16.04 к 18,04 тестовым поврежденным разделам, и я должен был повторно клонировать его. Это - то, где сценарий замораживается:
Setting up mount (2.31.1-0.4ubuntu3) ...
Setting up systemd (237-3ubuntu10) ...
Installing new version of config file /etc/pam.d/systemd-user ...
Installing new version of config file /etc/systemd/journald.conf ...
Configuration file '/etc/systemd/logind.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** logind.conf (Y/I/N/O/D/Z) [default=N] ? y
Y
CRASHED... NOTHING HAPPENS NOW... WILL KILL AND RESTART WITHOUT -f OPTION...
Должный не Ввести Ингибиторы ни перезагрузка, ни завершение работы не будут работать после уничтожения сценария. Необходимо сделать холодное завершение работы (держите кнопку питания ~ 10 секунд).
Слава Богу это было 16,04 обновлениями клона а не на реальных 16,04 разделах.
Для создания жизни еще более интересной, новый раздел на 898 МБ был добавлен к моему SSD NVMe и моим регулярным смещенным разделам:
$ lsdrv
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
nvme0n1 477G Samsung SSD 960 PRO 512G
├─nvme0n1p5 ntfs 858M
├─nvme0n1p3 16M
├─nvme0n1p1 ntfs 450M
├─nvme0n1p8 ntfs Shared_WSL+Linux /mnt/e 9G
├─nvme0n1p6 ext4 Ubuntu18.04 23.7G
├─nvme0n1p4 ntfs NVMe_Win10 /mnt/c 390.4G
├─nvme0n1p2 vfat /boot/efi 99M
├─nvme0n1p9 swap Linux Swap [SWAP] 7.9G
└─nvme0n1p7 ext4 NVMe_Ubuntu_16.0 / 44.6G
nvme0n1p5
используемый, чтобы быть, где мой раздел Ubuntu 16.04 находился, но теперь он идет nvme0n1p7
nvme0n1p8
используемый, чтобы быть, где мои 18,04 тестовых разделов находились, но теперь они идут nvme0n1p8
Примечание: Я также обновил Windows 10 от Сборки 1709 для Создания 1803 этим днем, таким образом, возможно, что это создало новых 898 МБ nvme0n1p5
раздел в ntfs
формат.
Просто для того, чтобы подробно остановиться на предыдущих ответах, здесь показано, как удаленно сделать то же самое, что и принятый ответ, используя обновление без пароля по ssh, которое обновит ваш ящик до последней версии. Это скопировано с моей собственной записи в блоге .
Все эти шаги предполагают, что ваш репозиторий пакетов работает. Это означает, что если вы выполните обновление apt-get, вам не будет предоставлено 404 файла из-за устаревшей версии. Сначала вам нужно это исправить, поэтому см. Этот ответ .
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Добавление себя в список пользователей, которые могут выполнять do-release-upgrade с использованием sudo без ввода пароля, достигается путем выполнения
sudo visudo -f /etc/sudoers.d/do-release-upgrade.
и добавления следующей строки подменяя my-username своим, конечно:
my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade
Выйдите из системы и выполните на компьютере следующую команду. Он выполнит обновление без запроса ввода (принимая все ответы по умолчанию), подождет, пока компьютер перезагрузится, а затем снова попытается выполнить обновление. Он работает до тех пор, пока вы не обновитесь до последней версии.
while true; do
ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
sleep 120;
done
После этого вам придется переместить резервные файлы конфигурации в их прежнее расположение, так как в процессе обновления на их месте находятся конфигурации по умолчанию.
У этого парня есть способ предварительно подготовить ответы для каждого приглашения, но недостатком является то, что вы должны знать, сколько существует запросов…
Попробуйте добавить опцию -y
к apt-get
, но знайте, что она ответит y
на все запросы.
Вы можете сделать это через терминал, используя sudo apt-get -y upgrade
. Это ответит «да» на все запросы. Однако он не будет запускаться автоматически, поэтому вы должны его запустить. Это должно работать. AFAIK, нет способа использовать диспетчер обновлений GUI для автоматического обновления программного обеспечения ( это НЕ то же самое, что обновление выпуска! )
Если вы пытаетесь выполнить обновление до другого Версия Ubuntu (также известная как , обновление и, как правило, следующая версия в ряду выпусков, относящихся к вашей версии Ubuntu), вы должны активировать вручную . sudo do-release-upgrade
может работать. Там нет способа пропустить прошлые запросы, хотя. Вот почему вы инициируете обновления, когда вы собираетесь быть рядом с такими приглашениями - будут приглашения.
Следующая команда обновляется до новой стабильной версии без запросов:
do-release-upgrade -f DistUpgradeViewNonInteractive
Следующая команда обновляется до текущей версии разработки без запросов:
do-release-upgrade -d -f DistUpgradeViewNonInteractive
Я не тестировал это, но, кажется, он просто выполняет действие по умолчанию, когда возникает вопрос. Он также отключает любые сценарии, если они зависают слишком долго.
Возможно, вам придется использовать dpkg-reconfigure
впоследствии, если вы недовольны конфигурацией определенных пакетов, но большую часть времени у вас должно быть все в порядке.
Источник: http://awaseroot.wordpress.com/2012/04/29/ubuntu-release-upgrade-fully-automatic-non-interactive-upgrade/ . В ссылке есть и другие способы сделать это.