web-dev-qa-db-ja.com

無人アップグレードの構成オプションのオーバーライド

すべてのアップグレードを自動的に適用したいUbuntuサーバーがいくつかあります。以前はapt-get update && apt-get upgradeを実行する単純なスクリプトを使用していましたが、それほど堅牢ではなかったため、代わりにunattended-upgradesに移行しようとしています。これは公式に推奨される方法のようです。

ただし、次のタスクを達成するのに苦労しています。

  • 毎日メールを受信する方法(unattended-upgradesが毎日実行されると仮定)。現時点では、パッケージがアップグレードされたときにのみメールを受け取るようです(メールが届かない場合は何かが間違っているので、毎日メールを受け取る方が好きです)。
  • セキュリティ更新プログラムを含むパッケージだけでなく、すべてのパッケージをアップグレードする方法。

公式のUbuntuドキュメント を含む私が見つけることができるすべてのチュートリアルは、/etc/apt/apt.conf.dの既存のファイルを編集するように言っています。ただし、追加のファイルを使用してオプションをオーバーライドすることを好みます。これは、後で「構成ファイルがメンテナーと異なります」というエラーが表示されないようにするためです。これにより、構成管理とバージョン管理ですべてのオーバーライドを維持しやすくなります.

この方法ですべての構成オプションをオーバーライドすることは可能ですか?私はこれを試してみましたが、いくつかのオーバーライドは機能するように見えますが、他のオーバーライドは機能しないようです。

私の現在のオーバーライドファイルは/etc/apt/apt.conf.d/99zz-overrides(最後に読み取られるように名前が付けられています)にあり、次のものが含まれています。

Unattended-Upgrade::Mail "[email protected]";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

/etc/apt/apt.conf.dの他の部分は変更していません。

4
pwaring

あなたがしたい場合:

  • unattended-upgradesを使用
    and
  • その動作を変更する
    and
  • unattended-upgrades自体内のパッケージスクリプトを変更しない

(だから基本的にあなたのケーキを持って食べてください;-)

あなたがする必要があります:

メールが空の場合:何も起こりませんでした。それ以外の場合は、ログがありますので、空のメールと完全なメールをすべて一緒に求めました。

1
Fabby

https://Gist.github.com/roybotnik/b0ec2eda2bc625e19eaf および https://wiki.debian.org/UnattendedUpgrades からの描画:

ファイル/etc/apt/apt.conf.d/50unattended-upgradesには、その構成に使用できるすべてのオプションとそれぞれの説明が含まれています。

アップグレードまたは問題がある場合にのみ、実行されるたびに電子メールを送信するオプションはないようです。ただし、すべてのアップグレードにメールを送信するか、問題のみを送信するか(Unattended-Upgrade::MailOnlyOnError ["true"/"false"]

質問の2番目の部分に答えるために、無人アップグレードが使用するソースを次のように設定できます。

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

updatesまたは他の行のコメントを外すと、対応するパッケージのセットが自動的に更新されます。

0
Hal Jarrett