Ubuntu Serverでセキュリティアップデートのみを行わせるには、yumと違ってapt-get(apt)だけだとできないようだ。
じゃあどうすればいいのかというと、「unattended-upgrades」というパッケージを利用するといいようだ。このパッケージ、手動だけではなく自動でのセキュリティアップデートを行わせることもできるようだ。今回は、UbuntuServer 16.04でこの確認を行う。
1.unattended-upgradesのインストール・設定
まずは、以下のコマンドでunattended-upgradesのインストールを行う。
(Ubuntu Server 16.04ではバンドルされてると思うが、念のため)
sudo apt-get install unattended-upgrades
次に設定を確認し、最低限やっておきたい設定だけしておく。
以下のコマンドを実行して、現在の設定状態を確認する(とりあえず、「Unattended-Upgrade::Allowed-Origins」で「"${distro_id}:${distro_codename}-security";」だけが有効になってればよい)。
cat /etc/apt/apt.conf.d/50unattended-upgrades
blacknon@BS-PUB-UBUNTU-01:~$ cat /etc/apt/apt.conf.d/50unattended-upgrades
// Automatically upgrade packages from these (origin:archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
// List of packages to not update (regexp are supported)
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run
// dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "false";
// Split the upgrade into the smallest possible chunks so that
// they can be interrupted with SIGUSR1. This makes the upgrade
// a bit slower but it has the benefit that shutdown while a upgrade
// is running is possible (with a small delay)
//Unattended-Upgrade::MinimalSteps "true";
// Install all unattended-upgrades when the machine is shuting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";
// 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. A package that provides
// 'mailx' must be installed. E.g. "user@example.com"
//Unattended-Upgrade::Mail "root";
// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
//Unattended-Upgrade::MailOnlyOnError "true";
// 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 the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";
// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
// Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";
blacknon@BS-PUB-UBUNTU-01:~$ cat /etc/apt/apt.conf.d/50unattended-upgrades | grep -v -e ^// -e ^$
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
};
なお、デフォルトではセキュリティアップデートのみが実行されOS再起動はされないのだが、一部のアップデートではOS再起動が必要な場合がある。
その場合は「Unattended-Upgrade::Automatic-Reboot」をtrueにしてやればいいだろう。
2.セキュリティアップデートを手動実行させる
セキュリティアップデートを手動実行させるのは簡単。
sudo付きでオプションなしでコマンドを実行してやればいいだけだ。
sudo unattended-upgrades
3.セキュリティアップデートを自動実行させる
セキュリティアップデートを自動実行させる場合は、以下のコマンドを実行して画面の選択肢で<はい>を設定してやればよい。
sudo dpkg-reconfigure -plow unattended-upgrades
これで、セキュリティアップデートが日次で実行されるようになった。「/etc/cron.daily」と同じタイミングで実行されるようなので、「/etc/crontab」の設定日時に確認するといいだろう。