web-dev-qa-db-ja.com

無人アップグレードを開始するのは誰ですか?

私のdebian-jessieで無人アップグレードを開始するのは誰なのかと思います。

  1. 私のマンページ

説明このプログラムは、セキュリティアップグレードを自動的に無人でダウンロードしてインストールできます。構成済みのAPTソースからのパッケージのみをインストールし、構成ファイルの変更に関するdpkgプロンプトを確認します。すべての出力はログに記録されます。このスクリプトは、APT :: Periodic :: Unattended-Upgradeオプションのバックエンドであり、cronから(たとえば、/ etc/cron.daily/aptを介して)実行されるように設計されています。

  1. しかし、私のcrontabはcrontabコマンドで何も表示しません。

    @stefano:/etc/cron.daily$ crontab -l
    no crontab for stefano
    # crontab -l
    no crontab for root
    
  2. しかし、私の無人アップグレードは問題なく動作します!(私の無人アップグレードログファイル):

    2017-02-05 12:42:42,835 INFO Initial blacklisted packages: 
    2017-02-05 12:42:42,866 INFO Initial whitelisted packages: 
    2017-02-05 12:42:42,868 INFO Starting unattended upgrades script
    2017-02-05 12:42:42,870 INFO Allowed origins are: ['o=Debian,n=jessie', 'o=Debian,n=jessie-updates', 'o=Debian,n=jessie-backports', 'Origin=Debian,codename=jessie,label=Debian-Security']
    2017-02-05 12:43:15,848 INFO No packages found that can be upgraded unattended

スケジュールを変更したい場合、どこで確認/変更する必要がありますか?

7
user3371854

スケジュールを変更したい場合、どこで確認/変更する必要がありますか?

unattended-upgradesは自動的に適用されるように設定されています。

/etc/apt/apt.conf.d/20auto-upgradesファイルを確認して確認すると、次のようになります。

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

これを変更するには、次のコマンドを実行する必要があります。

dpkg-reconfigure -plow unattended-upgrades 

出力例:

 Applying updates on a frequent basis is an important part of keeping 
 systems secure. By default, updates need to be applied manually using
 package management tools.

 Alternatively, you can choose to have this system automatically download 
 and install security updates.                                                                   

     Automatically download and install stable updates?

自動更新を停止するには、[NO]を選択します

/etc/apt/apt.conf.d/20auto-upgradesをもう一度確認してください。

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";

編集

unattended-upgradesを毎週実行するには、次のように/etc/apt/apt.conf.d/20auto-upgradesを編集します。

APT::Periodic::Update-Package-Lists "7";
APT::Periodic::Unattended-Upgrade "1";

詳細な例はDebian-Wikiにあります: / etc/apt/apt.conf.d/02periodicによる自動呼び出し

APT::Periodic::Update-Package-Lists

このオプションでは、パッケージリストを更新する頻度(日数)を指定できます。 apticronはすでにこのタスクを実行しているため、apticronユーザーはこの変数なしで実行できます。

4
GAD3R

/etc/crontabには、run-parts /etc/cron.dailyを実行する/etc/cron.daily/apt-compatファイルを含むフォルダーを参照するexec /usr/lib/apt/apt.systemd.daily行があります

2
AMS

Debian 9(ストレッチ)およびDebian 10(バスター)では、無人アップグレードのスケジュールは2つのステップで決定されます。

  1. システムスケジューラ(systemdタイマーまたはcron/anacronなど)、および
  2. APT ::定期的な間隔。

これらの一方の周波数が低いと、もう一方の周波数が高くなるため、両方のステップの設定が正しいことを確認してください。

1.システムスケジューラ

プロセスは、次の2つのsystemdタイマーによって開始されます。

  • apt-daily.timerパッケージリストを更新する(apt-get update)、および
  • apt-daily-upgrade.timerアップグレード(unattended-upgrade)をインストールします。

(anacronジョブ/etc/cron.daily/apt-compatはまだ存在していますが、systemdを検出すると終了します。systemdを使用しない場合のスケジュールの変更については、他の回答またはanacronのドキュメントを参照してください。)

更新スケジュールを変更するには:

$ Sudo systemctl edit apt-daily.timer

これにより、/etc/systemd/system/apt-daily.timer.d/override.confが作成されます。たとえば、次のように入力します。

[Timer]
OnCalendar=
OnCalendar=01:00
RandomizedDelaySec=15m

アップグレードスケジュールも同じです。

$ Sudo systemctl edit apt-daily-upgrade.timer

[Timer]
OnCalendar=
OnCalendar=01:30
RandomizedDelaySec=0

作業を確認するには:

$ systemctl cat apt-daily{,-upgrade}.timer
$ systemctl --all list-timers apt-daily{,-upgrade}.timer

(一部は Debian Wiki:UnattendedUpgrades から取得)

2. APT ::定期的な間隔

Systemdタイマーまたはanacronジョブをシステムスケジューラとして使用する場合でも、どちらも最終的に同じスクリプトを呼び出します。このスクリプトは、再度実行するタイミングかどうかの新しい2番目の決定を行いますが、現在はAPT :: Periodicで設定された間隔に基づいています。通常、これらの設定は/etc/apt/apt.conf.d/20auto-upgradesにあります。

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

ここでの"1"値は、単にTrueまたはOnを意味するものだと常に思っていましたが、実際には、これは実行の最小間隔であり、日数で表されます。スクリプトは、リクエストされたアクションが最後に実行されてから経過した時間が短いと判断した場合、その事実に関係なく、単にしないアクションを実行しますシステムスケジューラが要求しました。

1.5以上のaptバージョン(Debian 10バスター)では、APT :: Periodic値を"1"から"always"に変更できます。これを一度実行すると、システムスケジューラ(systemdタイマーまたはanacron)を操作して、スケジュールを変更するだけで済みます。

上記の詳細について、または無人アップグレードを1日に複数回実行するようにスケジュールする場合は、ここで私の回答を参照してください: 無人アップグレードを毎日ではなく数時間ごとに実行する方法

1
Peter Nowee

anacron開始unattended-upgradesおよびその他のSystem-cronジョブ。

cat /etc/anacrontab 
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

Shell=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root

# These replace cron's entries
1   5   cron.daily  run-parts --report /etc/cron.daily
7   10  cron.weekly run-parts --report /etc/cron.weekly
@monthly    15  cron.monthly    run-parts --report /etc/cron.monthly
0
user192526