Arch Linuxで自動的にアップデートを責任を持って実行する方法は?

Arch Linuxで自動的にアップデートを責任を持って実行する方法は?

私はArch Linuxに初めて触れ、まだいくつかのパラダイムに慣れています。私はもう少し構造化され、いくつかの点で予測可能な他のディストリビューションから多くの習慣を継承しました。

いくつかのシステムで私がやりたいことの1つは、cronジョブを有効にしてすべてのシステムパッケージを自動的に更新することです。これは簡単に見えますが、システムが状況がどのように進行しているかについての意味のあるフィードバックを提供したいと思います。しかし、システムに問題があることに気づくまで、最終的に無視されるほど冗長ではありません。

  • 完全な出力pacmanは必要ありません。ダウンロードするのにどれくらいの時間がかかったのか、アップデート46のうち53だったかは問題ではありません。
  • ほとんど私は成功に興味がありません。
  • 私はエラーに興味があります。アップデートの実行に失敗し、特定のエラーメッセージをパッチする必要があるかどうかを知りたいです。
  • 私はインストールプロセスで作られた「通知」に興味があります。たとえば、今日のsystemdアップデートでは、次のように言います。

    :: coredumps are no longer sent to the journal by default. To re-enable:  
    echo >/etc/sysctl.d/50-coredump.conf \  
        "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
    

    または、ファイルシステムが以下を生成しました。

    warning: /etc/group installed as /etc/group.pacnew  
    warning: /etc/passwd installed as /etc/passwd.pacnew  
    warning: /etc/shadow installed as /etc/shadow.pacnew
    

    最後のカテゴリは、実際にはパッケージセット全体で非常に一貫性がないように見えるので、この質問をしました。そのうちのいくつかはによって生成され、post_upgrade()他の一部はによって生成されるようですinstall()。時にはstdoutに書き込まれ、時にはstderrに書き込まれます。メッセージの形式は非常に多様です。ブロック全体の前に何らかの方法でインデントが付く場合もあり、単純なエコー文字列だけがある場合もあります。

邪魔されずにシステムに介入すべき事項について学びたいです。このデータをインテリジェントに管理し、システム管理を簡素化するためのツールはありますか?パッケージをインストールするパックマンプロセスからパッケージによって生成された出力を分離する方法はありますか?それとも、インストールログから無害なコンテンツをフィルタリングするために一種のパーサーを直接作成する必要がありますか?

1これがどれほど愚かなのかを超えた前に、私は本番サーバーでこれを実行しないほどスマートで、災害時にスナップショットに基づいてシステム全体のバックアップなしで簡単に回復できることに注意してください。

ベストアンサー1

あなたとこの問題を引き起こす可能性がある他の誰にとっても、この点を明確にしたいと思います。あなたがしたいことはいいえ可能。アーチは自分が期待する事実を秘密にしません。あなたシステムを管理してください。その責任の一部は更新サイクル中に存在します。

あるスピードアップデートプロセスは責任を持って自動化できますが、決して自動化されません-Syu。そこからアップグレードするだけです。

cronたとえば、インストールする必要があるパッケージをダウンロードする(インストールしない)ようにタスクを設定することができます。以下はpacman文書から抜粋したものです。

SYNC OPTIONS
...
-w  --downloadonly
    Retrieve all packages from the server, but do not install/upgrade anything.

cronその後、実行するジョブを設定できますsudo pacman -Syuw。私はcronスケジューリング機能についてよく知りません。ただし、特定の条件が満たされている場合にのみタスクを実行できる場合(たとえば、コマンドが特定の値を返す場合など)、要求時に新しいパッケージのダウンロードをトリガーするのは非常に簡単です。

checkupdates | wc -lたとえば。 0より大きい数値を返すと、ダウンロードをトリガーできます。ただし、これは-Syuあなたが存在し、それを処理する準備ができているときにアップグレードを実行することを置き換えません。

アップグレード中に発生した結果をどこで取得できるかに関する質問の最後の部分には、興味がある可能性がある/var/log/pacman.logエラーメッセージが含まれています。


持つツールpacman見知らぬユーザーにもっと親しみやすくするためです。私の記憶が正しい場合は、手動介入が必要なアップデートがある場合は、ニュースアイテムに関する通知も提供されます。

このツールは短期的にはあなたの人生をより簡単にすることができますが、メーリングリストを賢くて勤勉に従うことを決して置き換えることはできません。

おすすめ記事