В Ubuntu самый удобный способ обновить систему - вызвать apt-get update с последующим обновлением apt-get. Однако в системе, которая является частью производственной среды, обычной практикой является тестирование обновлений сначала в автономной системе, а затем применение тех же обновлений, которые были протестированы в производственной системе. Интересно, возможно ли это с помощью apt-get upgrade - есть ли способ указать обновление более подробно, например указав дату, до которой должно быть выполнено обновление?
После тестирования обновлений вы можете вручную обновить только те конкретные пакеты, которые вы протестировали на рабочем сервере, с помощью:
apt-get install somepackage=someversion
Это только начало, но вы, по крайней мере, можете увидеть, что сейчас изменится ...
apt-get --simulate upgrade
Итак, в системе dev / qa вы запускаете это и сохраняете вывод; в нем есть полные названия пакетов и их версии. Затем сделайте собственное обновление. Затем в производственных системах вы можете использовать --simulate. Тогда вы, по крайней мере, узнаете, будет ли обновление таким же, как и на dev / qa.
Вам по-прежнему приходится вручную выполнять обновление пакета за пакетом, если к тому времени, когда вы дойдете до производственной машины, на самом деле будет что-то новее.
Если вы хотите указать дату, когда должно быть выполнено обновление, вам следует выполнить cron.
Если вы собираетесь выполнить оптовое обновление, поместите это в свой crontab с желаемой датой:
/ usr / sbin / apt-get update --yes
Если вы хотите делать только определенные обновления, я предлагаю использовать формат из @psusi выше и снова помещать каждый пакет в список с флагом --yes.
Флаг --yes просто отвечает положительно на любые возникающие вопросы, поэтому установка не зависнет, ожидая, пока кто-то нажмет клавишу. Конечно, автоматическое подтверждение ваших обновлений имеет смысл только после того, как вы полностью протестируете их на dev.