Ubuntuのサーバシステムが自動的に更新されます

システムを更新する必要があります

我々は、リモートシステムにログインするときに関連する以下のように、更新メッセージが表示されます。

パッケージ149を説明した赤いボックスシステム内のテキストの最初の行を更新する必要があります。2行目は、セキュリティ関連のパッケージが更新されますされません。デフォルトのUbuntuの設定は自動的に毎日のセキュリティ更新プログラムをインストールし、他の更新パッケージを無視するためです。その後、我々は、Ubuntuの中に自動更新メカニズムを紹介します。

定期的にタスクの実行を更新することにより、

Ubuntuのデフォルトが更新タスクを実行するために4つのにsystemdユニットを定義し、それらは:

/lib/systemd/system/apt-daily-upgrade.service
/lib/systemd/system/apt-daily-upgrade.timer
/lib/systemd/system/apt-daily.service
/ libに/にsystemd /システム/のapt-毎日。タイマー

そして、ここでのapt-daily.timerのapt-毎日-upgrade.timerは、それぞれが毎日指定した時刻にはapt - daily.serviceとのapt-毎日-upgrade.serviceを誘発する、2つのトリガです。2つのサービスタイプは、タスクが完了した後にサービスプロセスが終了したときにことを意味し、ワンショットされています。実際には、これら2つのサービスは、同じスクリプトを呼び出します。/usr/lib/apt/apt.systemd.daily。その機能は、対応する更新パッケージを更新し、ダウンロードするためのシステムをチェックすることですスクリプト「更新」、に渡されたのapt-daily.service引数。その機能は、パッケージを更新し、ローカルにキャッシュされた更新をインストールして削除することで、「インストール」スクリプトに渡されたのapt-毎日-upgrade.service引数、。

主にサーバ側のダウンロードへの圧力を軽減するために、それぞれ午前六時と午後6時00分、一日二回のapt-daily.timerのデフォルトのトリガー。私たちは、彼らのビジネスの特性に応じた適切なトリガ時間を設定することができます。
apt-毎日-upgrade.serviceデフォルトは一日一回をトリガし、我々はまた、6時で、このような深夜など、他の時間を、設定することができます。

apt.systemd.dailyスクリプト

/usr/lib/apt/apt.systemd.dailyスクリプトが完了し、2つのブロックに分割され、関連する作品のシリーズを更新する責任がある:
•更新を確認し、更新パッケージをダウンロード
•アップデートをインストールして、更新パッケージをクリーンアップ

apt.systemd.dailyスクリプトは/etc/apt/apt.conf.d/10periodic /etc/apt/apt.conf.d/20auto-upgradesファイルから取得した変数でのapt-configコマンドを呼び出し、読み込み、およびこれらに基づいて変数の値は、システムの更新戦略を制御します。ここでは、より多くの重要な構成項目のいくつかをご紹介します。

何日コンパートメントapt-getの更新、デフォルトの日を実行するには1、0は、操作が実行されていないことを示します。

APT ::定期::アップデート・パッケージを一覧表示し、「1」。

何日が一度--download-アップグレードのみ更新パッケージをダウンロードするのapt-getのが行われ、0はこれを実行しないことを意味します:

APT ::定期::ダウンロード・アップグレード・パッケージ「0」。

キャッシュディレクトリから直接アップグレードを実行する代わりに、インターネットからダウンロードするときに更新されたバージョンは/ディレクトリの/ var / cache / apt /アーカイブにキャッシュされているダウンロード、パッケージファイルを読み込みます。

何日apt-getを不要な更新パッケージをクリアするAUTOCLEANコンパートメントを実行するには、0は操作が実行されていないことを示します。

APT ::定期:: AutocleanInterval "0"。

システムセキュリティアップデート(更新パッケージ程度)を行う無人アップグレード分離日数を行い、0は、操作が行われていないことを示します。

APT ::定期::無人アップグレード "1";

これらの構成により、我々は、更新と自動行動の頻度を制御することができます。それはすべてのパッケージが他の構成、我々は次のセクションで説明し、関連するコンテンツを更新する必要がインストールしてあれば、あなたの設定は唯一のセキュリティ更新システムをインストールすることもできます。

コンテンツの背後に導入を続ける前に、私たちが最初にapt.systemd.dailyスクリプト使用のapt-configコマンドとapt.systemd.dailyスクリプトに依存する設定ファイルを見てみましょう。

apt-configコマンド
のapt-configがAPTで使用される内部コマンドでは、スクリプトでは、/etc/apt/apt.confディレクトリの設定ファイルの下で情報を抽出することが可能なパッケージです。
あなたが取得したい場合たとえば、APT ::定期::アップデート-パッケージ-のリストは、 スクリプトで設定されている、あなたは以下のコードを使用することができます。

#!/ binに/ bashの
ABC = 0
のeval $(のapt-config設定シェルABC APT ::定期::アップデート・パッケージが一覧表示)は
エコー$ {ABC}

この時点ではAPT ::定期::アップデート・パッケージ・リストの値を変数ABCでスクリプトを保存しています。

10periodic-アップグレードと20autoの
/etc/apt/apt.conf.d/10periodic更新通知-共通プロファイルです。

$ dpkgのクエリは/etc/apt/apt.conf.d/10periodic -S
更新通知-共通の:/etc/apt/apt.conf.d/10periodic

Ubuntuの16.04と18.04で、二つの文書のデフォルトの内容は同じです。我々はコメントでGET-configコマンドによって、これらの変数の値を取得するために、それに関連する/etc/apt/apt.conf.d/10periodicファイルでカスタマイズすることができapt.systemd.dailyスクリプト変数の値。しかし、結果は/etc/apt/apt.conf.d/10periodicファイル変数を上書きしますファイルに/etc/apt/apt.conf.d/20auto-upgradesの変数になります。Get-configコマンドは、以前のファイル変数を上書きしますファイル内の変数の後ろにファイル名の順であると思われます。
GUIプログラム関連の変数によって変更デスクトップバージョンでは、両方のファイルが変更され、我々はまた、これらの2つのファイルを修正し、一貫性のある、その内容を維持したいサーバのバージョンではので、一貫性があります。

無人アップグレード

Ubuntuは自動的にアップデートをインストールするためのコマンド無人アップグレードにより、実際にあります。あなたがインストールされていないような状況が発生した場合のUbuntu 16.04 / 18.04デフォルトでインストールこのパッケージには、あなた自身に次のコマンドをインストールすることができます。

$の須藤はapt無人インストール、アップグレード

無人アップグレード/etc/apt/apt.conf.d/50unattended-upgradesのプロファイル。
、無人アップグレードが唯一のセキュリティ更新システムをインストールすることはできません、あなたはまた、すべてのインストール済みパッケージを更新することができます。しかし、デフォルトの設定では唯一の我々はすべての更新プログラムをインストールするかだけの設定項目によってセキュリティ更新プログラムをインストールするには、無人のアップグレードパッケージを作ることができ、セキュリティ更新プログラムをインストールします。

無人アップグレードコマンドシステムはクーロンを通じて定期的な更新を実行するように設計されていますが、Ubuntuの16.04 / 18.04は、タイミング単位であるされて実行タイマーにsystemdサービスユニットをトリガします。
ログは、無人アップグレードをファイルは/ var / log /無人アップグレードディレクトリに格納されているコマンド。

無人-upgradeコマンド一つの共通の使用は、システムの更新するかどうかをチェックすることです:

$ sudoの無人アップグレード--dry・ラン

別の用途は、アップデートをインストールすることです:

$ sudoの無人アップグレード

更新パッケージはキャッシュディレクトリ(の/ var / cache / apt /アーカイブ)に事前にダウンロードしたので、直接更新パッケージのキャッシュを使用してそれを指示されているため、無人アップグレードコマンドapt.systemd.dailyスクリプトを実行する場合。

50unattended-アップグレードプロファイル
デフォルトの設定ファイルを50unattended、アップグレードだけでセキュリティ更新プログラムをインストールします。


复制代码
無人アップグレード::可-起源{
        "$ {DISTRO_ID}:$ {distro_codename}";
        "$ {DISTRO_ID} $ {distro_codename} -security"。
        "$ {DISTRO_ID} ESM:$ {distro_codename}"。
// "$ {DISTRO_ID}:$ {} distro_codename -updates"。
// "$ {DISTRO_ID}:$ {distro_codenameは} -proposed"。
// "$ {DISTRO_ID}:$ {} distro_codename -backports"。
}。

コードをコピー

:自動的に限り、一番下の行は行にコメントキャンセルとして、すべてのパッケージの更新をインストールするには
、「$ {DISTRO_ID}:} $ {distro_codename -updatesを」。

また、方法によってブラックリストを更新していないパッケージ化を指定することができます:

無人アップグレード::パッケージ-ブラックリスト{
      "VIM";
      "libc6の";
      "libc6の-devの";
      "libc6の-i686の";
}。

未使用の更新を除去した後のパケットに指定された次のフィールド:

無人アップグレード::削除-未使用・カーネル・パッケージ「真」。
無人アップグレード::削除-未使用の依存関係「真」;

一部の更新は、再起動を必要とし、デフォルトの設定では、システムを再起動されていません。次の設定は、システムの再起動を可能にする(更新完了後、直後に再起動システムを再起動するために必要な場合)。

無人アップグレード::自動リブート「真」。

しかし、ほとんどの場合、我々は、システムをリブートする時間(システムを再起動するには、次の構成時に指定され、必要に応じて再起動)を指定期待します:

無人アップグレード::自動リブートタイム「2:38」;

どのようにエラーがでシステムの更新時に発生しますか?もちろん、それは管理者に通知することです!エラーが発生した場合、管理者にメールを送信するには、以下の構成:

無人アップグレード::メール「[email protected]」。
無人アップグレード:: MailOnlyOnError「真」。

注:ネットワークの外部にメッセージを送信したい場合は、mailxのと他のツールをインストールする必要があります。

自動更新をオフにします

あなたのホストは、閉じた環境で実行され、かつ有効なアップデート元に接続することができない場合は、自動更新機能をオフにするかを選択することができます。好ましい方法は、関連するサービスを停止することです:


复制代码
$ sudoのsystemctl停止のapt-daily.service
$ sudoをsystemctl停止のapt-daily.timer
$ sudoをsystemctl停止のapt-毎日-upgrade.service
$ sudoのsystemctlのapt-毎日-upgrade.timer停止
$ sudoのsystemctlはのapt-毎日無効にします。サービス
のapt-daily.timer無効systemctl $ sudoを
$ sudoのsystemctl無効のapt-毎日-upgrade.service
のapt-毎日-upgrade.timer無効に$ sudoをsystemctlを

コードをコピー

自動更新または構成ファイルを変更も同時に/etc/apt/apt.conf.d/10periodicと/etc/apt/apt.conf.d/20auto-upgradesを更新することができます。

APT ::定期::アップデート・パッケージを一覧表示し、「1」。
APT ::定期::無人アップグレード"1";

変更

APT ::定期::アップデート・パッケージを一覧表示し、「0」;
APT ::定期::無人アップグレード"0";

障害調査

apt-getとコマンドを無人アップグレードながらapt.systemd.dailyスクリプトが呼び出されますので、関連するログも別の場所に分散しているため。apt-getの無人アップグレードの下には/ var / log /ディレクトリには/ var / log / aptのディレクトリ、無人アップグレードコマンドログでログを関連。

おすすめ

転載: www.linuxidc.com/Linux/2019-08/160242.htm