ロギングを無効にする方法は?

ロギングを無効にする方法は?

journalctl最近、私は16GBのSDカード(Raspberry Pi)の大部分を占めていることに気づきました。

$ journalctl --disk-usage
Archived and active journals take up 312.1M in the file system.  

私はこのようなjournalctl気がしませんjournald頑張るこのマシンの私のユースケースでは。古いRPiでrsyslog動作します。私の要件と使用量journalctlは次のとおりです。「一生に一度」。したがって、私はjournald「フィード」を無効にすることにしましたjournalctl。私はそれが次の起動時に起動しないように簡単だと思いsystemctlますstopdisablesystemd-journald.service

プラグを抜く前に、私はいくつかの調査をすることにしました。 「方法」のアドバイスを提供する何千もの参考資料を見つけるのではなく、特定の検索クエリの結果はほとんどありませんでした。「ロギングを無効にする方法」。代わりに、結果は主に減少のjournald提案を提供します。LF。私はしばらく停止するいくつかの参考資料を見つけました。

journaldArchLinuxフォーラムの古い投稿によると、なしでは無効にすることはできません。エコー;つまり、"Masking systemd-journald causes all kinds of dependency failures and drops you at an emergency prompt."この記事は10年前の記事です...

これsystemd-journald.サービスマニュアル説明する、"stopping it [systemd-journald.service] is not recommended."。文書はそこから始まります名前空間

systemdデバイスの起動を防ぐための一般的なコマンドは効果がないことを学びました。つまり、正常に起動します。

$ sudo systemctl disable systemd-journald.service
$ sudo reboot 

# ... and after boot & login:

$ systemctl status systemd-journald.service
● systemd-journald.service - Journal Service
     Loaded: loaded (/lib/systemd/system/systemd-journald.service; static)
     Active: active (running) since Fri 2022-06-03 07:30:29 UTC; 1min 59s ago
TriggeredBy: ● systemd-journald-audit.socket
             ● systemd-journald.socket
             ● systemd-journald-dev-log.socket
       Docs: man:systemd-journald.service(8)
             man:journald.conf(5)
   Main PID: 134 (systemd-journal)
     Status: "Processing requests..."
      Tasks: 1 (limit: 1598)
        CPU: 820ms
     CGroup: /system.slice/systemd-journald.service
             └─134 /lib/systemd/systemd-journald

...
$ 

どうすればjournald無効にできますか? ...または無効にすることはできますか?

そうでない場合は、systemdなぜ開発者がユーザーにこれを強制するのですか? (はい、アドバイスを求めることですので、質問の該当部分を忘れてください。)

ベストアンサー1

journald使用時に取り除きたくない理由は、その情報を得ることができるからrsyslogdです。rsyslogd~から日記帳、そんなふうに二人が上手に遊びます。

これは、コメントにリンクされている一部のQ&Aとは多少相反します。ログが揮発性(メモリ内)リポジトリのみを使用し、rsyslog実際のログファイルに書き込むように構成されている現在のLinuxシステム(FedoraとDebianで確認)で、これについてのいくつかの観察は次のとおりです。

  • /var/run/logは 1 つのサブディレクトリがあるディレクトリです。これには、およびで作成したファイルがjournal含まれています。systemd-journaldリーダー rsyslogd。このディレクトリはtmpfsパーティションにあるため、メモリの揮発性ストレージと見なされます。
  • /dev/logへのシンボリックリンクです/run/systemd/journal/dev-log

これらのシステムには/etc/rsyslog.conf以下が含まれます(在庫なしrsyslog.conf)。

# Input
module (
        load="imjournal"
        ...
)

FedoraとDebianの違いはデフォルト設定にあります。電子imjournalも使用しますimuxsock(ユーザースペースソケット)。1 Debian はカーネル自体を受け取る必要がないため、imuxsockand (カーネルログ) を使用します。私も性格がちょっと合わなかったと思いました。imklogimjournal

私のポイントの1つは、ロギングを完全に削除することは不可能ではありませんが、悪い考えだということです。これは、現代のシステムベースのシステムの重要なコンポーネントです。欠点は、rsyslogよりも多くのディスク容量を使用できることですが、これはStorage=volatile(たとえば)を使用して簡単に設定できます。RuntimeMaxUse=64M/etc/systemd/journald

Journaldからrsyslogdを取得するのはバックエンド/フロントエンドの関係です。 rsyslogはプレーンテキストのロギングと記録される内容、場所、方法のより細かい制御を提供しますが、Journaldはシステムサービスとのより良い統合を提供するので優れています。


  1. rsyslog はimuxsockas の使用imuxjournalが効率が悪く、他の問題が発生する可能性があることを示唆しています。これに対するAndrew Henryの答えと以下の説明も参照してください。

おすすめ記事