Могу ли я сделать обновление в автоматическом или автоматическом режиме?

Как мне перейти на новую версию Ubuntu, не реагируя на запросы?

Я сейчас на 12.04 и хочу установить 12.10. Когда я запускаю обновление, оно обычно загружает материал, затем задает вопрос, устанавливает немного, задает вопрос и т. Д. Я оставляю это на ночь и иногда обнаруживаю, что обновление почти не прогрессирует. Я хотел бы просто начать процесс, уйти и закончить его через пару часов. У меня все в порядке с автоматическим обновлением файлов конфигурации в / etc и так далее. Так как же начать автоматическое обновление?

31
задан 11 February 2016 в 16:37

5 ответов

Подтвердить что состояния 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 формат.

5
ответ дан 11 February 2016 в 16:37

Просто для того, чтобы подробно остановиться на предыдущих ответах, здесь показано, как удаленно сделать то же самое, что и принятый ответ, используя обновление без пароля по ssh, которое обновит ваш ящик до последней версии. Это скопировано с моей собственной записи в блоге .

Все эти шаги предполагают, что ваш репозиторий пакетов работает. Это означает, что если вы выполните обновление apt-get, вам не будет предоставлено 404 файла из-за устаревшей версии. Сначала вам нужно это исправить, поэтому см. Этот ответ .

0. Обновите все существующие пакеты

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

1. Настройка выполнения без пароля

Добавление себя в список пользователей, которые могут выполнять do-release-upgrade с использованием sudo без ввода пароля, достигается путем выполнения

sudo visudo -f /etc/sudoers.d/do-release-upgrade.

и добавления следующей строки подменяя my-username своим, конечно:

my-username ALL=NOPASSWD: /usr/bin/do-release-upgrade

2. Начать инкрементные обновления

Выйдите из системы и выполните на компьютере следующую команду. Он выполнит обновление без запроса ввода (принимая все ответы по умолчанию), подождет, пока компьютер перезагрузится, а затем снова попытается выполнить обновление. Он работает до тех пор, пока вы не обновитесь до последней версии.

while true; do 
    ssh my-user@my-server sudo do-release-upgrade -f DistUpgradeViewNonInteractive;
    sleep 120; 
done

3. Зафиксируйте файлы конфигурации в их предыдущем состоянии

После этого вам придется переместить резервные файлы конфигурации в их прежнее расположение, так как в процессе обновления на их месте находятся конфигурации по умолчанию.

Не удовлетворены стандартными ответами?

У этого парня есть способ предварительно подготовить ответы для каждого приглашения, но недостатком является то, что вы должны знать, сколько существует запросов…

0
ответ дан 11 February 2016 в 16:37

Попробуйте добавить опцию -y к apt-get, но знайте, что она ответит y на все запросы.

0
ответ дан 11 February 2016 в 16:37

Вы можете сделать это через терминал, используя sudo apt-get -y upgrade. Это ответит «да» на все запросы. Однако он не будет запускаться автоматически, поэтому вы должны его запустить. Это должно работать. AFAIK, нет способа использовать диспетчер обновлений GUI для автоматического обновления программного обеспечения ( это НЕ то же самое, что обновление выпуска! )

Если вы пытаетесь выполнить обновление до другого Версия Ubuntu (также известная как , обновление и, как правило, следующая версия в ряду выпусков, относящихся к вашей версии Ubuntu), вы должны активировать вручную . sudo do-release-upgrade может работать. Там нет способа пропустить прошлые запросы, хотя. Вот почему вы инициируете обновления, когда вы собираетесь быть рядом с такими приглашениями - будут приглашения.

0
ответ дан 11 February 2016 в 16:37

Следующая команда обновляется до новой стабильной версии без запросов:

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/ . В ссылке есть и другие способы сделать это.

0
ответ дан 11 February 2016 в 16:37

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

Похожие вопросы: