Для автоматического обновления установленных пакетов и системы в Debian используется пакет unattended-upgrades
.
Страница на Debian-wiki – тут>>>. Аналогичный механизм для CentOS – yum-cron
, описан тут>>>.
Содержание
Установка, настройка unattended-upgrades
Устанавливаем пакет:
[simterm]
$ sudo apt -y install unattended-upgrades
[/simterm]Конфигурационный файл – /etc/apt/apt.conf.d/50unattended-upgrades
.
Что бы получать уведомления о проблемах с апдейтами – раскомментируем строку:
... Unattended-Upgrade::Mail "root"; ...
И для активации автоматического ребута при необходимости (после установки нового ядра, например):
... Unattended-Upgrade::Automatic-Reboot "true"; ... Unattended-Upgrade::Automatic-Reboot-Time "02:00"; ...
Активируем автоапдейты, проверяем файл /etc/apt/apt.conf.d/20auto-upgrades
:
[simterm]
$ cat /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
[/simterm]
Если его нет – первоначальную настройку можно выполнить с помощью dpkg-reconfigure
:
[simterm]
# dpkg-reconfigure -plow unattended-upgrades
[/simterm]
Запускаем для проверки вручную, включив verbose, debug и apt-debug:
[simterm]
$ sudo unattended-upgrades -v -d --apt-debug Initial blacklisted packages: Initial whitelisted packages: Starting unattended upgrades script Allowed origins are: ['o=Ubuntu,a=xenial', 'o=Ubuntu,a=xenial-security', 'o=UbuntuESM,a=xenial'] adjusting candidate version: 'apt=1.2.15ubuntu0.2' adjusting candidate version: 'apt-transport-https=1.2.15ubuntu0.2' ... djusting candidate version: 'wget=1.17.1-1ubuntu1.1' marking linux-cloud-tools-4.4.0-47-generic for remove marking linux-cloud-tools-4.4.0-47 for remove Packages that are auto removed: 'linux-cloud-tools-4.4.0-47 linux-cloud-tools-4.4.0-47-generic' (Reading database ... 96630 files and directories currently installed.) Removing linux-cloud-tools-4.4.0-47-generic (4.4.0-47.68) ... Removing linux-cloud-tools-4.4.0-47 (4.4.0-47.68) ... Packages were successfully auto-removed InstCount=0 DelCount=2 BrokenCount=0 Extracting content from '/var/log/unattended-upgrades/unattended-upgrades-dpkg.log' since '2017-07-24 13:00:31' No '/usr/bin/mail' or '/usr/sbin/sendmail',can not send mail. You probably want to install the 'mailx' package. Found /var/run/reboot-required, rebooting Shutdown scheduled for Tue 2017-07-25 02:00:00 UTC, use 'shutdown -c' to cancel.
[/simterm]
Настройка почты
Ubuntu 16.04, свежеустановленная, обращаем внимание на сообщение:
No ‘/usr/bin/mail’ or ‘/usr/sbin/sendmail’,can not send mail. You probably want to install the ‘mailx’ package.
Устанавливаем mailutils
:
[simterm]
$ sudo apt install -y mailutils
[/simterm]
Проверяем отправку почты:
[simterm]
$ echo TestMail | mail -s Test root
[/simterm]
Проверяем почтовый ящик рута:
[simterm]
# mail "/var/mail/root": 1 message 1 new >N 1 Ubuntu Mon Jul 24 13:18 13/848 Test ? Return-Path: <jmadmin@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> X-Original-To: root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net Delivered-To: root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net Received: by ***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net (Postfix, from userid 1000) id 27374BD2FF; Mon, 24 Jul 2017 13:18:29 +0000 (UTC) Subject: Test To: <root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> X-Mailer: mail (GNU Mailutils 2.99.99) Message-Id: <20170724131829.27374BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> Date: Mon, 24 Jul 2017 13:18:29 +0000 (UTC) From: jmadmin@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net (Ubuntu)
[/simterm]
Переадресация почты root
И добавляем переадресацию на внешний ящик.
Редактируем файл /etc/aliases
, в конец его добавляем:
[simterm]
# tail -n 1 /etc/aliases root: [email protected]
[/simterm]
Обновляем:
[simterm]
# newaliases
[/simterm]
Настройка From почты root
Меняем поле From при отправке.
Редактируем /etc/postfix/main.cf
, в конце файла добавляем:
... smtp_generic_maps = hash:/etc/postfix/generic
В файле /etc/postfix/generic
добавляем адрес для рута (первое поле – текущий адрес От, можно увидеть в логах, воторое поле – реальный ящик, который будет подставляться в From):
[simterm]
# cat /etc/postfix/generic root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net [email protected]
[/simterm]
Перезапускам Postfix:
[simterm]
$ sudo postmap /etc/postfix/generic $ sudo service postfix reload
[/simterm]
Проверяем отправку:
[simterm]
# echo TestMail | mail -s TestExternalAndFrom root
[/simterm]
Лог отправки:
[simterm]
# cat /var/log/mail.* | grep C4D79BD2FF Jul 24 13:53:04 ubuntu postfix/pickup[51093]: C4D79BD2FF: uid=0 from=<root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> Jul 24 13:53:04 ubuntu postfix/cleanup[51100]: C4D79BD2FF: message-id=<20170724135304.C4D79BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> Jul 24 13:53:04 ubuntu postfix/qmgr[51094]: C4D79BD2FF: from=<root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net>, size=581, nrcpt=1 (queue active) Jul 24 13:53:04 ubuntu postfix/cleanup[51100]: CA78BBD300: message-id=<20170724135304.C4D79BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> Jul 24 13:53:04 ubuntu postfix/local[51102]: C4D79BD2FF: to=<root@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net>, relay=local, delay=0.06, delays=0.04/0/0/0.02, dsn=2.0.0, status=sent (forwarded as CA78BBD300) Jul 24 13:53:04 ubuntu postfix/qmgr[51094]: C4D79BD2FF: removed
[/simterm]
Лог на сервере-получателе:
[simterm]
$ sudo cat /var/log/maillog | grep C4D79BD2FF [sudo] password for setevoy: Jul 24 16:53:05 venti spamd[21961]: spamd: checking message <20170724135304.C4D79BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net> for nobody:99 Jul 24 16:53:05 venti spamd[21961]: spamd: result: . 4 - RCVD_IN_PBL,RDNS_NONE scantime=0.2,size=1125,user=nobody,uid=99,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=48580,mid=<20170724135304.C4D79BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net>,autolearn=no Jul 24 16:53:05 venti dovecot: lda([email protected]): msgid=<20170724135304.C4D79BD2FF@***.asgaqmzoya1ebbq1oirk0uw30g.ax.internal.cloudapp.net>: saved mail to INBOX
[/simterm]
Готово.