Как вы используете apt-get для установки только критических обновлений безопасности в Ubuntu?


55

Как вы используете apt-get для установки только критических обновлений безопасности в Ubuntu?

Мы хотели бы обновлять только те пакеты, которые необходимо обновить по соображениям безопасности, без обновления всех остальных пакетов.



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

Две повторяющиеся темы (с разными решениями и разными объяснениями).
jpaugh

Для Debian проверьте debsecan ( домашняя страница ) и, конечно, unattended-upgradesпакет.
Пабло А

Ответы:


38

Я внимательно прочитал справочную страницу apt-get, когда мне надоело вручную редактировать sources.list каждый раз, когда я хотел применить только обновления безопасности (это означает второй раз).

Понял это решение:

sudo cp /etc/apt/sources.list /etc/apt/security.sources.list

Отредактируйте последний, чтобы он содержал только репозитории безопасности, затем:

sudo apt-get upgrade -o Dir::Etc::SourceList=/etc/apt/security.sources.list

Тадаааа ... Сценарий.


5
Очень хорошо! Вы также grep security /etc/apt/sources.list | sudo tee /etc/apt/security.sources.listможете избежать ручного редактирования.
Jpaugh

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

25

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


16

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

Эти две команды выплюнут список. Труба к wc -l, чтобы увидеть, сколько позади. ;-)

grep security /etc/apt/sources.list > /tmp/security.list
sudo apt-get upgrade -oDir::Etc::Sourcelist=/tmp/security.list -s

Все еще действует для старых дистрибутивов или если у вас отключены обновления репозиториев, но безопасность включена:

sudo apt-get upgrade -s| grep ^Inst |grep Security 

2

Я не знаю, будет ли это работать, но у apt есть источники в /etc/apt/sources.list и / или /etc/sources.list.d/

Почему бы не отредактировать файл и не прокомментировать все строки, которые не являются частью обновлений безопасности?

Строки безопасности для apt должны быть примерно такими:

deb http://security.ubuntu.com/ubuntu ..... ..... ...

Оставьте эти строки в покое и прокомментируйте все остальные.


1

Что я делаю:

apt-get update
apt-get install -y --only-upgrade $( apt-get --just-print upgrade | awk 'tolower($4) ~ /.*security.*/ || tolower($5) ~ /.*security.*/ {print $2}' | sort | uniq )
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.