Portál AbcLinuxu, 10. května 2025 13:35
/etc/network/if-pre-up.d
. V souboru /etc/init.d/networking
jsem o něm nenašel ani zmínku. Dopsal jsem si tam tudíž svoji funkci, která ten adresář prochází a spouští všechny skripty v něm, před tím, než dojde na ifup
, ale moc systémové řešení to není. A stejně tak jsem v networking nenašel, že by po ifdown
procházel /etc/network/if-post-down.d
. Možná hledám blbě, ale jisté je, že se skript nakopírovaný do těchto adresářů normálně neprovádí.
Díky za nakopnutí.
Myslím, že je to myšleno takhle:
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.190 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 down /etc/network/if-down.d/skript post-down /etc/network/if-post-down.d/skript pre-up /etc/network/if-pre-up.d/skript up /etc/network/if-up.d/skript
Více man interfaces.
Omlouvám se, příklad bude fungovat, ale nevysvětluje to existenci /etc/network/if-*.d
. Chcete-li příklad použít zvolte jiné adresáře. Tyto jsou totiž pro příkazy ifup
a ifdown
.
Když se pro spuštění a vypnutí sítě použijí tyto vysokoúrovňové příkazy, tak se vykonají skripty v těchto adresářích. Konkrétně to udělá program run-parts
.
Více man ifup, ifdown, run-parts.
/etc/network/if-pre-up.d
jsem umístil skript a po spuštění /etc/init.d/networking restart
se tento skript nespustil. Ještě to vyzkouším.
A když se tak pěkně bavíme o konfiguraci sítě v Debianu, tak proč /etc/init.d/networking
píše, když najde soubor /etc/network/interfaces
, že tato metoda konfigurace je "deprecated"? (Nepamatuju si tu hlášku přesně, sedím teď u widlí v práci) Jaká jiná metoda konfigurace síťových rozhraní v Debianu existuje?
pre-up jmeno_skriptu
(skript jsem umístil do adresáře /etc/network/if-pre-up.d) a při startu sítě to napsalo, že ho nemůže najít. Řešení je zapsat jméno i s cestou. V manuálu se jenom píše, že k těmto volbám (pre-up, up, post-up atd.) existují příslušné adresáře a skripty v nich se spouští pomocí run-parts a to je vše. Automaticky se tedy neprohledávají. To mi ale už nevadí.
Díky za rady.
auto wlan1 iface wlan1 inet static address 10.16.70.33 netmask 255.255.255.240 broadcast 10.16.70.47 wireless_rate 11M auto wireless_channel 5 wireless_mode master wireless_essid mugn-letna-01 wireless_sensitivity 3 wireless_retry 25 wireless_rts 512 wireless_frag 512 wireless_defaultkey 1 fw_secondary /root/prism2/s1.7.4/rf010704.hex up /sbin/iwpriv wlan1 maccmd 0 && sleep 1 up /sbin/iwpriv wlan1 maccmd 3 && sleep 1 up /sbin/iwpriv wlan1 addmac 00:xx:xx:xx:37:55 && sleep 1 up /sbin/iwpriv wlan1 addmac 00:xx:xx:xx:7a:30 && sleep 1 up /sbin/iwpriv wlan1 addmac 00:xx:xx:xx:7c:55 && sleep 1 up /sbin/iwpriv wlan1 maccmd 1 && sleep 1v adresarich jsou vetsinou skripty od ruznych balicku ... napr openvpn, hostap ...etc ... nic vam nebrani si tam dat svuj skript, ale pozor ...bude se spoustet pro kazde rozhrani
up
i s cestou a mám klid. Proč se nespouštějí skripty v těch adresářích automaticky (jak jsem předpokládal) už neřeším. Ale díky.
Teď jsem to zkoušel a funguje to, jen se nesmí zapomenout na dvě věci.
run-parts
ignoruje soubory s příponou (vyzkoušeno na .sh a .pl). Stačí přejmenovat na něco bez přípony a jede to, jak si představuju. Takže příště si pořádně přečtu manuálové stránky, i když zrovna tohle tam je popsáno docela složitým způsobem...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.