コはコンピューターのコまっちーさんのテックよりなBlog総合トップ日記コンピューターポッドキャストunattended-upgradeでサードパーティリポジトリも自動アップデートするLinux2018.12.04なんとこのBlog、1年以上更新していなかったことに気がついたのでたまには更新しようという塩梅。DebianやUbuntuに収録されているunattended-upgrades。自動的にdebパッケージを更新してくれたり、kernelのような再起動が必要なパッケージに更新があった場合はOSのリブートもしてくれるという、なかなか便利なヤツである。毎日6時と18時に実行されるらしいので、その時間帯にサービスが一瞬でも止まっちゃ困るヤツだと使えないけれど。企業の日本国内向けのホームページなWebサイトならそんなに困ることはないと思う。困るのが、ディストリビューションに含まれるパッケージはいいのだけれど、PPAで追加したりしたリポジトリのパッケージは自動更新されなかったりする。結局手でやるのはメンドい。サードパーティリポジトリも自動更新されるように設定を行う。含まれるunattended-upgrades-1.1のハナシである。含まれているunattended-upgrades-0.93とかだとまたちょっと違う。ファイル「/etc/apt/apt.conf.d/50unattended-upgrades」を見てよう。以下のような記述が見つかるハズだ。"${distro_id}:${distro_codename}";〜(中略)〜}この「Unattended-Upgrade::Allowed-Origins」のところでアップデート対象のパッケージを指定する。なんだか見たことない記述だ。この記述は、「/var/lib/apt/lists/」の下にある「〜_InRelease」というファイルと対応している。あれば、「archive.ubuntu.com_ubuntu_dists_bionic_InRelease」というファイルの以下の記述が対応する。このファイル名はaptが参照しているサーバーによって変わるかもしれない。bionic「/etc/apt/apt.conf.d/50unattended-upgrades」の「${distro_id}」と「${distro_codename}」はなんらかのマクロだろうと想像できるが、まあ順当に考えて${distro_id}はディストリビューションのID例えば「Ubuntu」に、「${distro_codename}」はバージョンコードネーム、Ubuntu-18.04LTSなら「bionic」に展開されると考えて良い。それぞれが「archive.ubuntu.com_ubuntu_dists_bionic_InRelease」のどこにあたるかというと、「Origin」と「Suite」の記述が該当すると思って良いようだ。これはなんらかのドキュメントを読んだわけではなく、トライ&エラーの経験則である。ここで、いろいろなバージョンのPHPを導入できるPPA、「ppa:ondrej/php」を導入していたとする。「/var/lib/apt/lists/」の下に「ppa.launchpad.net_ondrej_php_ubuntu_dists_bionic_InRelease」というカンジファイルがあるはずなので覗いてみよう。bionicこの「Origin」と「Suite」の値を「/etc/apt/apt.conf.d/50unattended-upgrades」の「Unattended-Upgrade::Allowed-Origins」に指定すれば良い。"LP-PPA-ondrej-php:${distro_codename}";とすればよりスマートだろう。ところで、サーバー監視ツールZabbixのオフィシャルパッケージをオフィシャルサイトの手順通りにインストールすると、「/var/lib/apt/lists/」の下に「repo.zabbix.com_zabbix_4.0_ubuntu_dists_bionic_InRelease」というカンジのファイルがあって、以下のような記述になっているハズだ。いう場合は指定しなくて良い。「/etc/apt/apt.conf.d/50unattended-upgrades」の「Unattended-Upgrade::Allowed-Origins」には以下のように記述する。"Zabbix:";動作確認は以下のように行う。