systemd-networkd-wait-online.serviceは常に更新で上書きされます。

systemd-networkd-wait-online.serviceは常に更新で上書きされます。

アーチ 5.18.12

複数のネットワークインターフェイスがあり、時にはすべてのインターフェイスに接続するのに数分かかります。ただし、システムの起動には1つだけが必要です。どちらかは私の地理的位置によって異なります。はい時にはWi-Fiを使いたい時もありません。

長い起動を避けるために、この行を追加して/lib/systemd/system/systemd-networkd-wait-online.service修正しました。--anyExecStart

 ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any

とても魅力的です。

ところで、アップデートを行うとファイルが上書きされ、起動に時間がかかり、サービスファイルを再修正する必要があります。

ここでより効果的な戦略はありますか?

ベストアンサー1

これら2つのアイデアを組み合わせるとシステム単位のファイル設定を上書きする方法は?systemctl edit systemd-networkd-wait-online.service、エディタを開き、次のセクションをファイルに配置し、エディタを保存して終了するExecStartディレクティブを呼び出してオーバーライドすることをお勧めします。

[Service]
ExecStart=
ExecStart=/usr/lib/systemd/systemd-networkd-wait-online --any

このコマンドは、これらの内容を含むファイルを /etc/systemd/system/systemd-networkd-wait-online.service.d/override.conf に保存します。デュアルExecStartディレクティブはタイプミスではありません。自分で設定する前に、まず既存のコンテンツを消去することが重要です。

/lib/systemd/system/systemd-networkd-wait-online.service ファイルはパッケージマネージャで提供されているため、アップデートのいずれかが欠落していることが確実です。

  • パッケージの更新中に/libの下のファイルの変更が失われる可能性があります
  • パッケージマネージャがExecStartディレクティブに対して行った変更は、ローカルオーバーライドで上書きされます。

私の考えでは、2番目のオプションがより良い理由は次のとおりです。

  • これは/ etcにあり、パッケージのアップグレードの影響を受けません(したがって変更は完全に失われません)。
  • 実行している操作と理由を説明する説明をカバレッジファイルに追加できます。
  • ExecStart に対するパッケージングの変更が発生した場合、ローカルのオーバーライドにマージまたはマージされないことがあります。

パッケージがsystemd-networkd-wait-onlineプログラムの名前を変更するか、別の方法で移動することを決定した場合は、更新するまでオーバーライドが中断されます(ただし、そのような場合は/ libのファイルへの変更も失われ、機能も失われます)。

おすすめ記事