DockerコンテナにAlpine Linuxイメージをインストールしました。私はそれを調べていて、ls -lR /etc/network
次のような結果を得ました。
/etc/network/:
total 24
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-down.d
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-post-down.d
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-post-up.d
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-pre-down.d
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-pre-up.d
drwxr-xr-x 2 root root 4096 Jan 16 2020 if-up.d
/etc/network/if-down.d:
total 0
/etc/network/if-post-down.d:
total 0
/etc/network/if-post-up.d:
total 0
/etc/network/if-pre-down.d:
total 0
/etc/network/if-pre-up.d:
total 0
/etc/network/if-up.d:
total 4
-rwxrwxr-x 1 root root 218 Jan 15 2020 dad
内部で/etc/network/if-up.d/dad
以下を発見しました。
#!/bin/sh
# Block ifup until DAD completion
# Copyright (c) 2016-2018 Kaarle Ritvanen
has_flag() {
ip address show dev $IFACE | grep -q \" $1 \"
}
while has_flag tentative && ! has_flag dadfailed; do
sleep 0.2
done
このフォルダがなぜ存在するのかを理解しようとしていますdad
。インターネットで検索しましたが、役に立つコンテンツが見つかりませんでした。私は/etc/network/interfacesのようなものを見つけることを期待していましたが、そのすべての目的が何であるかはわかりません。誰かがこれを説明できますか?
答え1
このフォルダはifupdownのフックです。 ifupdownの実装はたくさんありますが、alpineの基本的な実装はbusyboxです。ネットワーク/ifupdown.c。
busyboxはインターフェースのみを処理し、auto
これらの組み込みタイプをサポートします。
- イントラネット
- 手動wvdial ppp静的bootp dhcpループバック
- イントラネット6
- 静的手動ループバック v4tunnel
ifupdownには2つの$ MODE(up
および)があり、各モードにはdown
2つのフックがあります。pre-
post-
フォルダには呼び出されるフックスクリプトが含まれていますrun-parts
。確認してください。コードフロー。
bonding
提供されているように設定を簡単にするために、フックを使用して追加のタイプを実装できます。ボンディングパック。既存のスクリプトはすべてここ。
お父さんbusyboxが提供するIPv6の拡張された冗長アドレス検出機能。