sudo apt-get upgrade
устанавливает все обновления, а не только обновления безопасности. Я знаю, что могу использовать диспетчер обновлений, чтобы выбирать только важные обновления безопасности, но есть ли способ сделать это из командной строки?
command-line
package-management
updates
security
Майкл Креншоу
источник
источник
linux-image-generic
пакет, в зависимости от текущего образа, напримерlinux-image-3.x.y-zz-generic
(каждая версия которого является отдельным именем пакета), dist-upgrade (который позволяет устанавливать новые пакеты для удовлетворения зависимостей) будет выполнять это обновление тогда как обновление покажет пакет ядра как задержанный.apt-get
основанных ответов для этого, учитывая, как заметно это перечислено на каждом сервереОтветы:
Пакет unattended-upgrades предоставляет функцию автоматической установки обновлений безопасности.
Вы можете использовать это, но вместо настройки автоматической детали вы можете вызвать ее вручную:
Если вы хотите запустить его спокойно:
ПРИМЕЧАНИЕ. Когда вы вызываете автоматическое обновление, вы оставляете «s» без конца.
Это предполагает, что пакет установлен по умолчанию, что, вероятно, и есть. Если нет, просто сделайте:
Смотрите также
/usr/share/doc/unattended-upgrades/README.md
.источник
unattended-upgrade
вам, вероятно, нужно внести изменения/etc/cron.daily/apt
, но вы не уверены, что это «правильно»unattended-upgrades
по умолчанию не установлено.-v
для информационных сообщений или-d
для сообщений отладки. В противном случае утилита будет очень тихой, в этом случае вам нужно будет проверить вход в систему/var/log/unattended-upgrades
. Вы также можете использовать--dry-run
для симуляции, но на самом деле ничего не обновлять. Для получения дополнительной информации и других опций используйте,--help
чтобы получить справочное сообщение.unattended-upgrades
сегодняшнем дне. Спасибо!Несколько советов о том, как управлять обновлениями
Это относится как к Debian, так и к Ubuntu, но следуют более конкретные инструкции для Ubuntu.
Показывать только обновления безопасности:
или же
или же
Показать все обновляемые пакеты
Устанавливать только обновления безопасности
Примечания:
Иногда Ubuntu показывает обновления безопасности, как будто они приходят из репозитория $ release-updates. Мне сказали, что это так, потому что разработчики Ubuntu помещают обновления безопасности в репозиторий $ release-updates, чтобы ускорить их доступность.
Если это так, вы можете сделать следующее, чтобы показывать только обновления безопасности:
а также
Проверьте, какие службы необходимо перезапустить после обновления пакета. Выясните, какие пакеты вы собираетесь обновить, и запланируйте перезапуск / перезагрузку. Проблема здесь в том, что, если вы не перезапустите службу, она все еще может использовать более старую версию библиотеки (наиболее распространенная причина), которая была загружена в память до того, как вы установили новый пакет, который исправляет уязвимость безопасности или что-то еще.
Однако имейте в виду, что
checkrestart
могут быть перечислены процессы, которые не обязательно должны быть перезапущены. Например, служба PostgreSQL может хранить в своей памяти ссылку на уже удаленный файл xlog, что не является веской причиной для перезапуска службы.Поэтому еще один, более надежный способ проверить это с помощью стандартных утилит - это следующий маленький скрипт bash, который я бесстыдно украл с https://locallost.net/?p=233
Он проверяет, все ли запущенные процессы в системе все еще используют удаленные библиотеки, благодаря хранению их копий в активной памяти.
источник
заменить
/etc/apt/preferences
на следующее:Теперь простой
apt-get upgrade
обновит только все обновления безопасности.Почему (и как) это работает: файл настроек связывает все пакеты из дистрибутива Ubuntu с приоритетом 50, что делает их менее желательными, чем уже установленные пакеты. Файлы из хранилища безопасности имеют приоритет по умолчанию (500), поэтому они рассматриваются для установки. Это означает, что только пакеты, которые считаются более желательными, чем установленные в настоящее время, являются обновлениями безопасности. Больше информации о закреплении на странице руководства apt_preferences .
Вы можете временно рекламировать определенный дистрибутив для обновлений с
--target-release
опцией, которая работает сapt-get
иaptitude
(по крайней мере), которая позволит вам закрепить определенные выпуски, чтобы они имели право на обновление.Если вы хотите использовать это только для сценариев и не устанавливать по умолчанию для системы, вы можете поместить правила в другое место и использовать вместо этого:
Это заставит apt искать файл настроек из нестандартного местоположения.
Файл настроек, приведенный в качестве примера, не применяется к сторонним репозиториям. Если вы хотите закрепить их, вы можете
apt-cache policy
легко определить необходимые ключи для закрепления.источник
apt-cache policy packagename
. Это перечислит приоритеты для различных версий. Вы должны увидеть различные линии и разные приоритеты. Если нет строк с приоритетом 50, закрепление не влияет на рассматриваемые пакеты по какой-то причине.В Ubuntu 14.04 LTS подтверждается следующее.
Используйте
unattended-upgrade
пакет.Посмотри на файл
/etc/apt/apt.conf.d/50unattended-upgrades
. В верхней части должен быть раздел:Обратите внимание, что по умолчанию он настроен только на автоматическое обновление пакетов безопасности.
Изменить файл,
/etc/apt/apt.conf.d/10periodic
похожий на:Это будет запускать автоматические автоматические обновления безопасности, один раз в день.
Теперь, чтобы запустить вручную
sudo unattended-upgrade
.Для того, чтобы проверить , как сухую трассу, ничего не делая:
sudo unattended-upgrade --dry-run
.Источник: https://help.ubuntu.com/14.04/serverguide/automatic-updates.html.
источник
APT::Periodic::Unattended-Upgrade "30";
будет делать это - каждые 30 дней.Хотя это довольно уродливо, вы можете отключить все репозитории, кроме репозитория безопасности, и затем сделать:
Я не проверял его, но теоретически он будет только находить обновления в репозитории безопасности и применять их ...
источник
sudo apt-get update && sudo apt-get upgrade
(отмена до того, как были сделаны какие-либо обновления). Затем я снова включил все свои репозитории, запустилsudo apt-get updatee
и открыл диспетчер обновлений. Пакеты, помеченные как обновления безопасности, были не совсемapt-get upgrade
найдены, но они были очень близки - достаточно близко для меня. Мне все еще жаль, что я точно не знал, как Update Manager делает это и как сделать то же самое из командной строки, но это будет делать. Спасибо!apt-get update
: просто прочитайте записи в репозитории - в соответствии с существующим списком. Нужно проверить что нового.apt-get upgrade
: все обновления для установленных пакетов без модулей ядра. Нет релиза обновления.apt-get dist-upgrade
: все обновления для установленных пакетов также с модулями ядра. Нет релиза обновления.apt-get
с параметром-s
: только тест, без изменений.источник
В Debian я использую эту команду только для обновлений безопасности:
источник
Я не могу найти опцию ни в apt-get, ни в aptitude, однако у кого-то был такой же вопрос по SuperUser. Единственный ответ:
Никакого ответа относительно того, сработало ли это как бы то ни было.
источник
Вот скрипт, который достигает этого несколькими различными способами:
источник