systemd:ifupdownなしでloインターフェイスを設定した人は誰ですか?

systemd:ifupdownなしでloインターフェイスを設定した人は誰ですか?

loパッケージなしでsystemdのネットワークインタフェースをPID1に設定するコンポーネント/パッケージは何ですかifupdown

Debian には、ネットワークを管理するためのかなり多くのコンポーネントがありますifupdown。これでパッケージを削除できます。つまり、起動中に参照されません。network-managersystemd-networkdifupdown/etc/network/interfaceifup

ifconfigまた、NetworkManager設定ファイルのすべてのエントリ/etc/NetworkManager/NetworkManager.confを削除しましたが、ファイルが管理されていないとnmcli dev表示されますlo

$ nmcli dev
  :
lo               loopback  unmanaged    --                 

networkctl管理されていないとマークされますlo

$ networkctl
IDX LINK             TYPE               OPERATIONAL SETUP
  1 lo               loopback           carrier     unmanaged 
  :

でもそれでも(少なくとも)lo上がったようです。LOWER_UP

$ ip li
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

そしてlocalhostのsshが動作します。

loもしそうなら、私の質問は誰がこのインターフェースを考案したのかということです。

私の意図は、loインターフェイスを無効にするのではなく、誰がいつ、どのように責任があるのか​​を知ることです。

答え1

ループバックインターフェイスは、初期起動時に設定されます(たとえば、ネットワークサーバーが実行される前など)。分布の間に大きな違いはないようです。現在Debian上下ならlo/etc/network/interfacesに設定されていない場合でも起動します。技術的には変更することができlo、例えば ifupdown を使用して再構成することもできます (systemd-networkd?)。

systemdの初期設定部分はわかりにくいかもしれません。これは単一プログラムのコード(Cで書かれています)であり、設定呼び出しとプログラム固有の初期化が混在しており、特に文書化されていないようです。ただし、systemd バイナリのマニュアルページには、組み込みの設定操作の例の 1 つとしてループバックインターフェイスがあります。

Systemdには、起動プロセスの一部として実行する必要があるさまざまなタスクの基本的な実装が含まれています。たとえば、ホスト名を設定したり、ループバックネットワークデバイスを設定したりします。また、/sysや/procなど、さまざまなAPIファイルシステムを設定してマウントします。

systemdの概念とアイデアの詳細については、オリジナルのデザインドキュメント[2]を参照してください。

Googleは知っている

https://www.google.com/search?q=systemd%20loopback

コードはどこにありますか - 結果1:https://github.com/systemd/systemd/blob/master/src/core/loopback-setup.c

また、これを参照する開発者ブログの投稿も表示されます。このブログ投稿は、systemdの責任を確認するよりも、あなたの質問に具体的に答えません。たとえば、tmpfilesも言及しますが、systemd-tmpfilesがPID 1とは異なるバイナリおよびサービス単位であることは言及しません。明確に言えば、ループバックインターフェイスはコードで見られるPID 1に設定されます。

結果3:

管理者向けシステム、パート8
0pointer.de/blog/projects/the-new-configuration-files- キャッシュされた - 同様の
2011年4月20日...管理者のために進行中のsystemdシリーズの別のエピソード:...ホスト名の設定。ループバックインターネット機器

私たちの小さなゼロシェルプロジェクト[1]は完全な成功を収めました。私たちは現在、ほとんどのデスクトップおよび組み込みディストリビューションに必要なほとんどすべてと、サーバーに必要なものの大部分をカバーしています。

  • すべてのファイルシステムの確認とマウント

  • すべてのファイルシステムでクォータの更新と有効化
  • ホスト名の設定
  • ループバックネットワーク機器の設定
  • SELinuxポリシーをロードし、起動時に必要に応じて/ runおよび/ devラベルを再指定します。
  • Java、Mono、WINE バイナリなどの他のバイナリ形式をカーネルに登録します。
  • システムロケールの設定
  • コンソールフォントとキーマップの設定
  • 一時ファイルと揮発性ファイルとディレクトリの作成、削除、およびクリーンアップ
  • プリマウントされたAPI VFSに/etc/fstabのマウントオプションを適用する
  • sysctl カーネル設定の適用
  • 先読み情報の収集と再生
  • utmp 開始および終了履歴の更新
  • 任意のシードのロードと保存
  • 特定のカーネルモジュールの静的ロード
  • 暗号化されたハードドライブとパーティションの設定
  • シリアルカーネルコンソールで自動ゲッティを生成する
  • プリマスメンテナンス
  • マシンIDのメンテナンス
  • システムクロックのUTC距離設定

関連情報