Как перейти на новую версию Ubuntu, не реагируя на запросы?
Сейчас я 12.04 и хочу установить 12.10. Когда я запускаю обновление, он обычно загружает материал, затем задает вопрос, устанавливает бит, задает вопрос и т. Д. Я оставляю его в одночасье и иногда вижу, что он практически не обновлял ход. Я хотел бы просто начать процесс, уйти и закончить через пару часов. Я в порядке, когда он автоматически обновляет файлы конфигурации в / etc и так далее. Итак, как начать автоматическое обновление?
Просто чтобы расширить предыдущие ответы, вот как удаленно сделать то же самое, что и принятый ответ, используя обновление без пароля по ssh, которое позволит обновить вашу версию до последней версии. Это скопировано с моей записи в блоге.
Все эти шаги предполагают, что ваш репозиторий пакетов работает. Значение, если вы выполняете обновление apt-get, вам не представлено много 404s из-за устаревшей версии. Сначала вам нужно исправить это, поэтому моя собственная запись в блоге для этого.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Добавить себя в список пользователей, которые могут выполнить make-release-обновление с использованием sudo без ввода пароля, достигается путем выполнения
sudo visudo -f /etc/sudoers.d/do-release-upgrade.
и добавления следуя строке, заменив мое имя для себя, конечно:
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
. После этого вам придется переместить резервные файлы конфигурации в их предыдущее место, так как процесс обновления установил конфигурации по умолчанию.
У этого парня есть способ предварительно подготовить ответы для каждого приглашения, но недостатком является то, что вы должны знать, сколько запросов есть ...
Вы можете сделать это через терминал, используя sudo apt-get -y upgrade. Это ответит «да» на все приглашения. Однако он не будет запускаться автоматически, поэтому вы должны запустить его. Он должен работать. AFAIK нет возможности использовать диспетчер обновлений GUI для автоматического обновления программного обеспечения (это НЕ то же самое, что и обновление версии!)
Если вы пытаетесь перейти на другую версию Ubuntu (ака это НЕ то же самое, что и обновление релиза! , и обычно следующий релиз в линейке релизов относительно вашей версии Ubuntu), вы должны активировать этот должен . sudo do-release-upgrade может работать. Однако нет возможности пропустить предыдущие подсказки. Вот почему вы инициируете обновления, когда будете собираться для таких запросов - появятся подсказки.
Чтобы подтвердить то, что утверждает Томас Уорд в своем ответе и противоречит принятому ответу, 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...
Из-за входных ингибиторов ни одна перезагрузка и выключение не будут работать после убийства скрипта.
Слава богу, это было обновление клон 16.04, а не реальный раздел 16.04.
Чтобы сделать жизнь еще более интересной, на мой NVMe SSD был добавлен новый раздел 898 МБ, и мои регулярные разделы сдвинулись:
$ 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 с Build 1709 до Build 1803 сегодня днем, чтобы он возможно, что он создал новый раздел 898 МБ nvme0n1p5 в формате ntfs.
Попробуйте добавить параметр -y к apt-get, но знаете, что он ответит на y все запросы.