私のシステムでは、次の bash エイリアスを作成しました。
エイリアス updt='apt update -y && apt upgrade -y && apt autoremove -y'
私はシステムを使用するたびにほぼこれを実行します。私の質問は次のとおりです:
コンピュータをシャットダウンするたびにシステムにこのコマンドを実行させることは可能ですか?
ボーナスとして、Windows と同じように、デスクトップ環境の右上隅から直接シャットダウン オプションを使用すると、システムが自動的に更新されるようにすることはできますか?
答え1
はい。設定です。
アプトすでにバックグラウンドで apt 更新と apt アップグレードを実行します...
/lib/systemd/system/apt-daily.timer // update
/lib/systemd/system/apt-daily-upgrade.timer // upgrade
...本当に必要なのは、邪魔にならないようにして、以下に示すように設定を微調整することだけです。
設定ファイルを編集します
/etc/apt/apt.conf.d/50unattended-upgrades
:
コマンド例:$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
ステップ1: ソースを編集するデフォルト設定には -security リポジトリのみが含まれます。これを更新して、すべてのソースを含めることができます。ベスト プラクティスは、-updates や -security などの安定した信頼性の高いソースを追加することです (アップグレードの大部分はこれら 2 つにする必要があります)。これは、-proposed やその他のテスト/不安定なソースには推奨されません。
// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// Extended Security Maintenance; does not necessarily exist for
// every release and this system may not have it installed, but if
// available, the policy for updates is such that unattended-upgrades
// should also install from here by default.
"${distro_id}ESM:${distro_codename}";
"${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};
ステップ2: 自動削除を有効にする最後の行のコメントを解除するだけです。
// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
//Unattended-Upgrade::Remove-Unused-Dependencies "true";
ステップ3: シャットダウン時にアップグレードを実行するバックグラウンドではなく、最後の行のコメントを解除するだけです。
// Install all unattended-upgrades when the machine is shutting down
// instead of doing it in the background while the machine is running
// This will (obviously) make shutdown slower
//Unattended-Upgrade::InstallOnShutdown "true";