В этом учебном материале показано, как настроить систему Debian 6.0 Squeeze для автоматического обновления пакетов без вмешательства пользователя. В дополнение к этому я покажу Вам, что необходимо сделать, чтобы система сообщала Вас ежедневно о доступных обновлениях по электронной почте основе.
Настройка системы для автоматического обновления
Чтобы сделать программу установки обновления автоматической, нам необходимо установить пакет автоматического-обновления. Так же хорошо иметь /usr/bin/mail системную команду в случае, если Вы хотите настроить автоматическую-обновление пакета для отправки уведомления по электронной почте, поэтому мы установим пакет bsd-mailx, а также:
|
Вы можете настроить автоматическую-обновления пакета, изменив файл /etc/apt/apt.conf.d/50unattended-upgrades:
|
// Automatically upgrade packages from these (origin, archive) pairs Unattended-Upgrade::Allowed-Origins { "${distro_id} stable"; "${distro_id} ${distro_codename}-security"; // "${distro_id} ${distro_codename}-updates"; // "${distro_id} ${distro_codename}-proposed-updates"; }; // List of packages to not update Unattended-Upgrade::Package-Blacklist { // "vim"; // "libc6"; // "libc6-dev"; // "libc6-i686"; }; // Send email to this address for problems or packages upgrades // If empty or unset then no email is sent, make sure that you // have a working mail setup on your system. The package 'mailx' // must be installed or anything that provides /usr/bin/mail. //Unattended-Upgrade::Mail "root@localhost"; // Do automatic removal of new unused dependencies after the upgrade // (equivalent to apt-get autoremove) //Unattended-Upgrade::Remove-Unused-Dependencies "false"; // Automatically reboot *WITHOUT CONFIRMATION* if a // the file /var/run/reboot-required is found after the upgrade //Unattended-Upgrade::Automatic-Reboot "false"; // Use apt bandwidth limit feature, this example limits the download // speed to 70kb/sec //Acquire::http::Dl-Limit "70";
Затем создайте файл /etc/apt/apt.conf.d/02periodic включить автоматическое обновление (опять же, файл самостоятельно объяснить как это сделать по комментариям):
|
// 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 "7";
Вот и все! Автоматическое обновление будет выполняться один раз в день из заданного сценария: /etc/cron.daily/apt. Скрипт будет записывать статистику в файл /var/log/unattended-upgrades/unattended-upgrades.log. Файл журнала может иметь записи, схожие с этими после успешного обновления:
2011-07-13 16:49:30,878 INFO Initial blacklisted packages: 2011-07-13 16:49:30,880 INFO Starting unattended upgrades script 2011-07-13 16:49:30,880 INFO Allowed origins are: ["('Debian', 'stable')", "('Debian', 'squeeze-security')"] 2011-07-13 16:50:05,222 INFO Packages that are upgraded: apt apt-listchanges apt-utils base-files bind9-host console-setup dnsutils dpkg e2fslibs e2fsprogs host isc-dhcp-client isc-dhcp-common keyboard-configuration klibc-utils libbind9-60 libcomerr2 libdns69 libgssapi-krb5-2 libgssrpc4 libisc62 libisccc60 libisccfg62 libk5crypto3 libkadm5clnt-mit7 libkadm5srv-mit7 libkdb5-4 libklibc libkrb5-3 libkrb5support0 libldap-2.4-2 liblwres60 libperl5.10 libruby1.8 libss2 libxml2 linux-base linux-image-2.6.32-5-amd64 login openssl passwd perl perl-base perl-modules python python-apt python-apt-common python-minimal tzdata 2011-07-13 16:50:05,225 INFO Writing dpkg log to '/var/log/unattended-upgrades/unattended-upgrades-dpkg_2011-07-13_16:50:05.224836.log'
Система отправки уведомлений о доступных обновлениях
Есть другой полезный пакет под названием apticron, которые может сообщить по электронной почте о доступных пакетах, которые имеются для обновления, а также список изменений в каждом обновляемом пакете. Для установки apticron, просто запустите:
|
Для настройки apticron, пожалуйста, отредактируйте /etc/apticron/apticron.conf:
|
Все, что нужно изменить это EMAIL директивы - пожалуйста, укажите один или несколько адресов электронной почты (через пробел), чтобы получать уведомления о доступных обновлениях:
[...]
# set EMAIL to a space separated list of addresses which will be notified of
# impending updates
#
EMAIL="root@localhost Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра."
[...]
Кроме того, конфигурация по умолчанию должна устраивать в большинстве случаев.