Включите автоматические обновления из командной строки

Я создаю сценарий Bash, который, среди прочего, включит автоматические обновления, важные обновления системы защиты и опцию "Check daily" в меню обновлений программного обеспечения. Но неважно где я ищу, я не могу найти ответ. Из того, что я могу сказать, единственный способ сделать это через GUI. Там должен так или иначе сделать это, что я отсутствую?

РЕДАКТИРОВАНИЕ 1: Посредством еще некоторого исследования я выяснил, как включить важные обновления securty и обновления reccomended с этим битом кода:

find /etc/apt -type f -name '*.list' -exec sed -i 's/^#\(deb.*-backports.*\)/\1/; s/^#\(deb.*-updates.*\)/\1/; s/^#\(deb.*-proposed.*\)/\1/; s/^#\(deb.*-security.*\)/\1/' {} +

Из того, Как включить или отключить - обновления, - безопасность, - бэкпорты, - предложенные репозитории от командной строки?

4
задан 11 January 2019 в 06:21

2 ответа

Если Вы используете unattended-upgrades пакет и это уже установлены, затем согласно Общественной Справке Ubuntu Wiki на AutomaticSecurityUpdates (к вашему сведению, это также имеет информацию об использовании GNOME Менеджер обновлений, крон и способность, и способный к крону):

Определение текущей конфигурации

Текущая конфигурация может быть запрошена путем выполнения:

apt-config dump APT::Periodic::Unattended-Upgrade

Который произведет вывод как:

APT::Periodic::Unattended-Upgrade "1";

В этом примере Необслуживаемое Обновление выполнит каждый 1 день. Если число "0" затем отключены, необслуживаемые обновления.

Файлы в/etc/apt/apt.conf.d/оценены в лексикографическом порядке с каждым файлом, способным к переопределению набора значений в более ранних файлах. Это делает это недостаточным для просмотра установки в/etc/apt/apt.conf.d/20auto-upgrades и почему рекомендуется использовать способную конфигурацию.


Для включения его сделайте:

sudo dpkg-reconfigure --priority=low unattended-upgrades

(это - интерактивное диалоговое окно), который создаст /etc/apt/apt.conf.d/50unattended-upgrades. И /etc/apt/apt.conf.d/20auto-upgrades со следующим содержанием:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Детали о том, чем эти средние значения могут быть найдены в заголовке/etc/cron.daily/apt файла.

Если бы Вы абсолютно уверены, что не пропустили бы ничто больше dpkg-reconfigure делает (я не уверен, что вышеупомянутое является исчерпывающим списком), Вы могли просто создавать/редактировать вышеупомянутые файлы.

Или вместо вышеупомянутого, согласно Wiki Debian на UnattendedUpgrades:

Автоматический вызов через/etc/apt/apt.conf.d/02periodic

С другой стороны, можно также создать способный конфигурационный файл /etc/apt/apt.conf.d/02periodic активировать необслуживаемые обновления:

Ниже пример/etc/apt/apt.conf.d/02periodic:

// Control parameters for cron jobs by /etc/cron.daily/apt-compat //

// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";

// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "1";

// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";

// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";

// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "21";


// Send report mail to root
//  0: no report         (or null string)
//  1: progress report   (actually any string)
//  2: + command outputs (remove -qq, remove 2>/dev/null, add -d)
//  3: + trace on
APT::Periodic::Verbose "2";

Руководство выполняется (для отладки)

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

sudo unattended-upgrade -d

См. также

  • /usr/share/doc/unattended-upgrades/README.md.gz
  • /usr/share/doc/apt/examples/configure-index.gz
  • /etc/cron.daily/apt
  • apt.conf (5)

Кроме того, еще некоторая информация Вы могли бы интересоваться:

Связанные systemd файлы

Поскольку Debian использует systemd систему, ему определили таймеры для использования APT, эти файлы обеспечиваются способным пакетом.
Соответствующие файлы:

  • Используемый для загрузок: /lib/systemd/system/apt-daily.timer
    • переопределение с /etc/systemd/system/apt-daily.timer.d/override.conf
  • Используемый для обновления: /lib/systemd/system/apt-daily-upgrade.timer
    • переопределение с /etc/systemd/system/apt-daily-upgrade.d/override.conf

Можно переопределить эти настройки с помощью локальных файлов переопределения как показано выше, создав недостающие части, если не существующий все же.

Вот пример того, как переопределить время загрузки к 1:00 с помощью /etc/systemd/system/apt-daily.timer.d/override.conf :

[Timer]
OnCalendar=
OnCalendar=01:00

Строка № 2 выше необходима для сброса (пустой) значение по умолчанию, показанное ниже в строке № 5.

Значение по умолчанию в /lib/systemd/system/apt-daily.timer (в настоящее время этой записи):

[Unit]
Description=Daily apt download activities

[Timer]
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Persistent=true

[Install]
WantedBy=timers.target
2
ответ дан 1 December 2019 в 09:20

Необслуживаемые обновления включены по умолчанию во всех выпусках Ubuntu 16.04 и более новые.

Существует три простых способа сказать если unattended-upgrades пакет установлен и работа.

1) Посмотрите, установлен ли пакет. Ищите" [установленный]" в конце нижней строки вывода.

$ apt list unattended-upgrades
Listing... Done
unattended-upgrades/cosmic-updates,cosmic-updates,now 1.5ubuntu3.18.10.1 all [installed]

2) Проверьте способные метки времени на действие необслуживаемых обновлений. Ищите метку времени необслуживаемыми обновлениями в течение прошедшего дня или два:

$ ls -la /var/lib/apt/periodic/
total 8
drwxr-xr-x 2 root root 4096 Sep 15  2017 .
drwxr-xr-x 5 root root 4096 Jan  1 08:24 ..
-rw-r--r-- 1 root root    0 Jan 10 07:54 download-upgradeable-stamp
-rw-r--r-- 1 root root    0 Jan 10 07:51 unattended-upgrades-stamp
-rw-r--r-- 1 root root    0 Jan 10 07:52 update-stamp
-rw-r--r-- 1 root root    0 Jan 10 07:53 update-success-stamp
-rw-r--r-- 1 root root    0 Jan 10 07:55 upgrade-stamp

3) Проверьте способные настройки, чтобы видеть, превращены ли Необслуживаемые Обновления на ("1") или прочь ("0"):

$ grep Unattended-Upgrade /etc/apt/apt.conf.d/20auto-upgrades 
APT::Periodic::Unattended-Upgrade "1";

Репозитории, в которых перечислено использование необслуживаемых обновлений/etc/apt/apt.conf.d/50unattended-upgrade.

  • - репозиторий безопасности включен по умолчанию во всех релизах Ubuntu.
  • Добавление других репозиториев Ubuntu тривиально: Просто не прокомментируйте соответствующую строку.
  • Включение - бэкпортам препятствуют, те пакеты не полностью тестируются.
  • Включению - предложенный СИЛЬНО ПРЕПЯТСТВУЮТ, поскольку те пакеты могут быть очень опасными.

Если необслуживаемые обновления будут установлены и включены, то это будет ежедневно работать, хотите ли Вы это к или нет. Только GUI предоставляет возможность изменять период.

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

4
ответ дан 1 December 2019 в 09:20

Другие вопросы по тегам:

Похожие вопросы: