Запрет автоматической перезагрузки после обновления Ubuntu Core на 16.xx

8

Как указано здесь , при наличии обновления ядра компьютер автоматически обновится, а затем перезагрузится.

Я хочу включить автоматическое обновление, но не хочу, чтобы машина автоматически перезагружалась. Есть ли способ сделать это?

Magneon
источник
1
Может быть полезно, если «Как
doug
Это было, когда об этом спросили. Вот еще один похожий вопрос: askubuntu.com/questions/886873/disable-ubuntu-core-autoupdate Похоже, вы не можете отключить автообновление.
Магнеон
@Magneon В вашей ссылке предлагается установить автоматическое обновление для определенного временного окна. Почему бы не запустить его в 3 часа ночи, когда перезагрузка не доставит вам неудобств? Вы можете выключить монитор и оставить Raspberry Pi включенным, так как он не потребляет много электроэнергии.
WinEunuuchs2Unix
1
Этот вариант использования для промышленного робота, который может работать по нефиксированному графику по выбору клиента. На самом деле не существует хорошего фиксированного графика, когда машина может быть перезагружена. В идеале обновления должны быть заменены при включении компьютера или после запроса пользователя.
Магнеон
На основе этой дискуссии я сомневаюсь , что вы можете сделать то , что вы хотите атм, я могу ошибаться .. forum.snapcraft.io/t/...
Дуги

Ответы:

2

Я пытался отследить исходный код Snappy Ubuntu Core, и самое близкое, что я смог найти, - это тот, у которого есть принятый ответ, который я считаю неприемлемым. Исходя из исходного кода, многие разработчики, желающие отключить автообновления, могут достичь цели, схожей с вашей.

Второе лучшее решение для них, и, возможно, для вас, - это найти имя двоичного файла, который выполняет автообновление. Допустим, к примеру, это называется a. Переименуйте его в b. Замените aна простую программу, которая отображает «Hello World». Во время загрузки системы вызывайте bсценарии запуска.

В основном, когда вы хотите обновить свою ОС (или «Store», как им нравится называть ее), просто перезагрузите компьютер. После обновления он перезагрузится снова. При второй перезагрузке, когда bвызывается первая перезагрузка, уже обновляются приложения (так называемые «привязки»), поэтому вторая перезагрузка будет работать без обновления.

Всякий раз, когда Ubuntu пытается запустить автообновления за вашей спиной, она просто запускает новую программу, которая пишет «Hello World» /var/log/syslog.

Я не использую Raspberry Pi 2, поэтому не могу найти название программы автообновления, которую нужно переименовать в «b». Надеюсь, кто-то еще использует его и может предоставить имя.

WinEunuuchs2Unix
источник
Это довольно плохое решение, но пока что кажется лучшим. Для меня это означает, что ядро ​​snappy нельзя использовать в проекте встроенных роботов, который иначе мог бы широко использовать эту технологию. Я бы предпочел не бороться с системой за базовые функциональные возможности (особенно когда обновление от canonical может довольно легко сломать это исправление).
Магнеон
Я надеюсь, что разработчики, которые нуждаются в этом, чтобы предотвратить перезагрузку своих обновлений, примут идею и сделают исправленную функцию. Я не мог подписаться на их сайт (в ссылке), чтобы предложить им это.
WinEunuuchs2Unix
0

Насколько я знаю, нет способа предотвратить / или позволить Ubuntu не перезагружаться после автоматического обновления.

Но в качестве обходного пути вы можете активировать rootpwфлаг sudoers, чтобы запуск sudo rebootтриггера в конце обновления (я полагаю) запрашивал пароль root вместо пароля пользователя. открыть черезvisudo

Defaults rootpw

Или, если процесс обновления выполняется upgrade && rebootв качестве примера, он запросит у вас пароль для команды обновления детали и выполнит следующую команду с кешированным вашим паролем. вам может понадобиться сбросить этот перехват, чтобы он снова запрашивал пароль, когда вторая перезагрузка захочет сработать.

sudo -K

или вы можете установить timestamp_timeoutпараметр, чтобы позволить sudoзапрашивать пароль для каждой команды, вызываемой с помощью sudo.

αғsнιη
источник