Ubuntu で自動アップデートする設定

スポンサーリンク
スポンサーリンク

Ubuntuでアップデートを自動化する設定です。

パッケージのアップデートは通常、次の手順で行います。

apt-get update
apt-get upgrade

このアップデートを自動で行うパッケージ unattended-upgrades があります。
アップデートの自動化以外に、セキュリティに関するパッケージのみアップデートすることも出来ます。

unattended-upgradesパッケージのインストールは下記で行います。

apt-get install unattended-upgrades

インストール後、/etc/apt/apt.conf.d/50unattended-upgrades を編集します。

どのパッケージを自動更新の対象とするか、Unattended-Upgrade::Allowed-Origins の箇所で指定します。
行の先頭の // はコメントです。

通常は以下のように指定します。

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
        "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

セキュリティに関するパッケージのみ更新出来ます。
その場合は、以下のように security のみとします。

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

以下で CentOS でのセキュリティに関するパッケージのみ更新する方法を説明しましたが、上記により Ubuntu でもセキュリティに関するパッケージのみ更新出来ます。

CentOS6 でセキュリティに関するパッケージの更新のみ行う パソコン鳥のブログ

proposed と backports はそれぞれ、パッケージのベータ版、そのバージョンのリリース時には含まれていなかったソフトウェア、で更新対象から外したままにします。

更新したくないパッケージがあれば、Unattended-Upgrade::Package-Blacklist の箇所に記述します。

以下の例では、パッケージ libc6 は更新しません。

Unattended-Upgrade::Package-Blacklist {
    "libc6";
};

最後に、自動更新を有効にする為に、/etc/apt/apt.conf.d/10periodic の APT::Periodic::Unattended-Upgrade を設定します。

APT::Periodic::Unattended-Upgrade で何日ごとに更新チェック・更新を行うかを指定します。

下記例では毎日となります。

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

なお、APT::Periodic::Unattended-Upgrade で 0 を指定すると、自動更新は行われません。

以上で Ubuntu で自動的にアップデートするようになります。

自動更新によってどのパッケージがアップデートされたかは、ディレクトリ /var/log/unattended-upgrades/ 下にログが保存されています。

参考

Automatic Updates

Ubuntu/Ubuntuサーバーで自動アップデートを有効・無効にする方法 – Linuxと過ごす

ubuntu13.10で自動アップデート | Linux | マイノリティでいこう

コメント

タイトルとURLをコピーしました