lo
パッケージなしでsystemdをPID1としてifupdown
ネットワークインターフェイスを起動する責任があるコンポーネント/パッケージはどれですか?
Debianには、ネットワークを管理するための非常に多くのコンポーネント、ifupdown
、network-manager
、systemd-networkd
があります。これで、ifupdown
パッケージを削除できます。これは、起動プロセス中に/etc/network/interface
がifup
によって参照されないことを意味します。
また、NetworkManagerの設定ファイル/etc/NetworkManager/NetworkManager.conf
からすべてのifconfig
エントリを削除しました。また、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
そして、ローカルホストへのsshは機能します。
だから、私の質問は、誰がlo
インターフェースを立ち上げているのかということです。
私の意図はlo
インターフェースを無効にすることではなく、誰がいつどのように責任を負うかを知ることであることに注意してください。
ループバックインターフェイスは、アーリーブート(ネットワークサーバーが実行される前など)でセットアップされます。分布間に有意差はなかったようです。現在のDebian ifupdown /etc/network/interfacesに設定がなくても、lo
が表示されます。技術的には、lo
の構成を変更することは可能でしたが、それでも再構成することは可能です。 ifupdownを使用します(多分systemd-networkd?)。
Systemdの初期セットアップ部分はおそらく理解するのが難しいでしょう。これは単一のプログラム(C :)のコードであり、セットアップ呼び出しはよりプログラム固有の初期化と混合されており、具体的に文書化されていないようです。ただし、systemdバイナリのマニュアルページには、組み込みのセットアップタスクの一例としてループバックインターフェイスが記載されています。
Systemdには、ブートプロセスの一部として実行する必要があるさまざまなタスクのネイティブ実装が含まれています。たとえば、ホスト名を設定したり、ループバックネットワークデバイスを構成したりします。また、/ sysや/ procなどのさまざまなAPIファイルシステムをセットアップしてマウントします。
Systemdの背後にある概念とアイデアの詳細については、オリジナルの設計ドキュメント[2]を参照してください。
グーグルは知っている
https://www.google.com/search?q=systemd%20loopback
コードは-結果1: https://github.com/systemd/systemd/blob/master/src/core/loopback-setup.c
また、これに言及している開発者のブログ投稿も表示されます。このブログ投稿は、systemdが責任を負っていることを確認する以外に、あなたの質問に具体的に答えることはありません。たとえば、systemd-tmpfilesがPID 1とは別のバイナリおよびサービスユニットであることは言及せずに、tmpfilesについても言及しています。明確にするために、ループバックインターフェイスはPID 1によってセットアップされ、コードで確認できます。
結果3:
管理者向けsystemd、パートVIII
pointer.de/blog/projects/the-new-configuration-files -キャッシュ-類似
2011年4月20日...管理者向けのsystemdに関する私の進行中のシリーズの別のエピソード:...ホスト名の設定。の構成 ループバック ネットワークデバイス
私たちの小さなProjectZero Shell [1]は大成功を収めています。現在、ほとんどのデスクトップおよび組み込みディストリビューションに必要なほとんどすべてに加えて、サーバーのニーズの大部分をカバーしています。
すべてのファイルシステムのチェックとマウント
- すべてのファイルシステムでクォータを更新して有効にする
- ホスト名の設定
- ループバックネットワークデバイスの構成
- SELinuxポリシーをロードし、起動時に必要に応じて/ runと/ devのラベルを変更します
- Java、Mono、WINEバイナリなどの追加のバイナリ形式をカーネルに登録する
- システムロケールの設定
- コンソールフォントとキーボードマップの設定
- 一時的で揮発性のファイルとディレクトリの作成、削除、クリーンアップ
- / etc/fstabから事前にマウントされたAPIVFSへのマウントオプションの適用
- Sysctlカーネル設定の適用
- 先読み情報の収集と再生
- Utmpのブートおよびシャットダウンレコードの更新
- ランダムシードの読み込みと保存
- 特定のカーネルモジュールを静的にロードする
- 暗号化されたハードディスクとパーティションの設定
- シリアルカーネルコンソールでの自動gettyの生成
- プリマスのメンテナンス
- マシンIDのメンテナンス
- システムクロックのUTC距離の設定