Mám na docker kontejneru nainstalovaný obraz Alpine Linux. Zkoumal jsem to a dělal ls -lR /etc/network
Měl jsem tento výsledek:
/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
Uvnitř /etc/network/if-up.d/dad
Našel jsem:
#!/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
Snažím se pochopit, proč tyto složky existují a jaký je účel dad
. Hledal jsem na internetu, ale nic užitečného jsem nenašel. Očekával jsem, že najdu něco jako /etc/network/interfaces, ale nechápu, jaký je účel toho všeho. Může to někdo vysvětlit?
Přijatá odpověď:
Tyto složky jsou háčky pro ifupdown, existuje mnoho implementací ifupdown, ale výchozí alpine je busybox's, zdroj můžete zkontrolovat zde networking/ifupdown.c.
busybox zpracovává pouze auto
rozhraní, podporují tyto vestavěné typy.
- inet
- ruční zpětná smyčka wvdial ppp statické bootp dhcp
- inet6
- statická manuální zpětná smyčka v4tunnel
ifupdown má vlek $MODE, up
,down
, pro každý režim má tažný hák, pre-
, post-
.
Složky obsahují hákový skript, který bude volat run-parts
, zkontrolujte proces kódu.
Hák můžete použít k implementaci zvláštního typu, abyste si usnadnili konfiguraci, jako je bonding
poskytnuto lepicím balíčkem. Všechny existující skripty jsou zde.
táta poskytuje busybox pro IPv6 Enhanced Duplicate Address Detection.