クライアントは12.04ボックスで自動セキュリティ更新を有効にしたいと考えていますが、それは週に1回、土曜日のみである必要があります(なぜ私にはわかりません)。
私がする時 dpkg-reconfigure -plow unattended-upgrades
それは毎日です、そして彼らはそれを望んでいません。
これをどのように構成しますか?
土曜日にのみ実行することが絶対に重要な場合は、次のようにします。
anacron
を削除します。これによりubuntu-desktop
も削除されますが、サーバーではおそらく必要ないことに注意してください。これが必要なのは、そうしないと、Anacronが/etc/cron.weekly
でジョブを実行する曜日を制御できないためです。ファイル/etc/crontab
を編集します。次の行が必要です。
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
7
を6
(土曜日)に変更し、最初の2つの数値(分と時間)を必要に応じて調整します。これにより、/etc/cron.weekly
内のすべてのジョブが指定された曜日と時間に実行されます。
/etc/cron.daily/apt
を/etc/cron.weekly/apt
に移動します。/etc/cron.daily
のapt
ファイルには、次の手順が含まれています。
# Create /etc/apt/apt.conf.d/02periodic file to set your preference.
....
#
# APT::Periodic::Unattended-Upgrade "0";
# - Run the "unattended-upgrade" security upgrade script
# every n-days (0=disabled)
# Requires the package "unattended-upgrades" and will write
# a log in /var/log/unattended-upgrades
設定
APT::Periodic::Unattended-Upgrade "7";
これは7日ごとに実行され、金曜日に変更すると、最初のcronの毎日の実行は土曜日の朝になります(デフォルトの/etc/crontab
によると午前6:25)。
その時点でマシンがダウンしている場合、スクリプトはシステムが稼働している翌日に実行されます。そして毎週その(新しい)日の後。そうすれば、特定の日に常に稼働しているとは限らないが、必要なものではないマシンで毎週更新を取得できます。
同期が外れることについてできることの1つは、crontabエントリを使用して、スタンプファイル/var/lib/apt/periodic/update-stamp
に適切にタッチするタッチコマンドを実行することです(つまり、「最後の土曜日の朝に完了」に設定します)。