Linux/Debianベースのシステムでは、 cron-apt は、cronを介したaptの自動化を管理できる非常に便利なツールです。
私は毎日それをapt-get update
に使用しており、新しいアップデートをインストールする必要がある場合はメールを送信します。
これが そのツールの短くてよくできた紹介 です。
3番目の質問について:私は常にローカルリポジトリを実行しています。 1台のマシンだけでも、再インストールが必要になった場合に備えて時間を節約でき(通常、aptitude autocleanのようなものを使用します)、2台のマシンの場合はほとんどの場合効果があります。
私が管理しているクラスターの場合、通常、明示的なログは保持しません。パッケージマネージャーに任せます。ただし、(デスクトップではなく)これらのマシンでは、自動インストールを使用しないため、すべてのマシンに何をインストールするつもりかについてのメモがあります。
Cron-aptと同様に、私は apticron を使用します。
履歴には apt-history を使用します。この便利なツールがデフォルトで含まれていない理由がわかりません。これは、 puppet でデプロイする最初のパッケージです。
/ usr/bin/apt-get update -qq;/usr/bin/apt-get dist-upgrade -duyqをcronジョブとして毎晩実行します。午前中に、どのパッケージをアップグレードする必要があるかが通知され、ファイルはすでにマシンにダウンロードされています。
次に、通常、マシンのスナップショットを作成し(ほとんどのサーバーは仮想です)、apt-get dist-upgradeを実行し、nagiosをチェックして、すべてがまだ機能していることを確認します。スナップショットを削除します。
最後に、後で発生する問題を追跡するために、すべてのサーバーに加えられたすべての変更の実行リストをwikiに保持します。
冗長なダウンロードを制限する限り、サーバーとインターネットの間にcacheing web-proxy(squid?)を設定して、最初にアクセスしたときに.debファイルをキャッシュできることを理解しています。おそらく、これはローカルパッケージリポジトリを設定するよりも簡単であり、一般的なWebブラウジングを高速化するという追加の利点があります。
apt-cacherはパッケージのキャッシュに便利で、リポジトリ全体の完全なミラーリングを完了するのではなく、最初に必要になったときにキャッシュするため、ディスクと帯域幅を節約できます。また、パッケージの最初のリクエストをリクエスターに直接ストリーミングし、同時にキャッシュするので、追加の遅延が発生しないので便利です。
Windowsボックスには、ローカルWSUSサーバーと、毎月のパッチを適用するための標準ウィンドウがあります。 Linuxシステム(RHEL)の場合、キャンパスにはRHNサテライトサーバーがあり、それらはすべて参加しています。これにより、管理するすべての参加システムの素敵なダッシュボードと、各システムに適用されていない更新が提供されます。 puppetを使用している場合は、通常のウィンドウでパッチを自動的に適用し、結果を記載した電子メール通知を送信するスクリプトをプッシュします。
ローカルリポジトリを実行することは、ローカルサーバー上にあるものを正確に管理するための最良の方法です。また、カスタムバックポートまたはカスタムローカルパッケージを簡単に展開できます。私は、ローカルインストールを簡単にするための依存関係の巨大なリストであるローカルの「メタパッケージ」を作成することで知られています。 (例: 'apt-get install local-mailserver')。これには、構成の変更を「バージョン管理」できるという副作用もあります。 (より複雑な構成管理には、Puppetのようなものが必要になります)
ローカルリポジトリを作成し、更新のためにローカルリポジトリを指すようにすべてのサーバーを構成できます。ローカルダウンロードの速度を得るだけでなく、互換性の問題を防ぐために、インフラストラクチャにインストールする公式アップデートを制御することもできます。
Windows側では、 Windows Server Update Services を使用して、非常に満足のいく結果が得られました。
OpenSuSE Linux、SLES、およびNovell OES(すべてのSuSEベースの製品)には、zypperを実行し、更新が必要なパッケージを探すスクリプトがあります。チケットが見つかると、JIRAにチケットを送信し、システム管理者に割り当てます。アップデートをインストールすると、チケットが閉じられます。これにより、いつ誰がインストールしたかを示す監査証跡が残ります。これは、sysloggingサーバーに一元化されているzypperおよびSudoログと照合/確認できます。
Aptitudeのようなパッケージマネージャーを使用する場合、アップグレード/インストールの履歴を保持していますか?保持している場合、どのように実行しますか?
aptは/ var/log/apt /にログを保持し、dpkgは/var/log/dpkg.logを使用します。特にdpkgはかなり解析可能です。