Cíl: Někdy jste-li experimentovat s Linuxem na různých strojích, existuje šance, že po přepnutí na jiný stroj Vaše Ethernet karta nebude aktivována standardně, tj. při poskytování command 'ifconfig' vaše ethernetová karta zmizí, i když váš řidič se nahraje správně.

Nastavení testu:
Linux OS: Debian 4.0
Kernel: 2.6.22 - 2.6.24

Aktualizace: Debian Lenny uživatelé klikněte zde.

Scénář:
Například, můžete nainstalovat systém Linux na jednom počítači a pak budete mít na pevném disku a připojit k jinému počítači, který má pravděpodobně stejné konfiguraci. Na startu zjistíte, že nemůžete vidět vaše eth0 nebo eth1, na což 'ifconfig'. Například, uvidíte toto:
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)

Místo tohoto
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:02:03:04:05
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe81::202:244:fe68:3172/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:78108 errors:0 dropped:0 overruns:44 frame:0
TX packets:50313 errors:0 dropped:0 overruns:0 carrier:0
collisions:2 txqueuelen:1000
RX bytes:103308543 (98.5 MiB) TX bytes:3763441 (3.5 MiB)
Interrupt:169 Base address:0xe000

Však můžete aktivovat kartu Ethernet tím, že příkazy jako:

# dhclient eth2
nebo
# dhclient eth3 (If you have Dual Ethernet card)

Předpokládám, že nyní můžete připojit svůj pevný disk stejné jinému identické stroje a teď si zase nelze aktivovat ethernetovou kartu i tím, že výše uvedené příkazy, tj. 'dhclient eth2' nebo 'zkusí eth3'. Ale můžete aktivovat nyní tím, že příkazy jako:
# dhclient eth4
nebo
# dhclient eth5 (If you have Dual Ethernet card)

Tento cyklus může pokračovat dál a dál, tj. při přepínání strojů pokaždé musíte držet zvyšování eth <číslo jedna nebo dva (pokud máte duální síťovou kartu).

Máte-li sledovat něco takového na vašich strojů a potom si přečtěte níže řešení.

Poznámka: Než budete pokračovat v řešení, ujistěte se, že vaše karta Ethernet je načten ovladač. Pokud váš ovladač je sestaven jako modul do jádra, můžete nahrát ji tím, že následující příkaz:
# modprobe <name-of-drive>

Například,

# modprobe e100

Pokud je zabudován do jádra pak nemusíte dát příkaz, jak by měl mít tu zavádět automaticky. Kroky k nakonfigurovat a zkompilovat Váš Ethernet driver je mimo rozsah tohoto příspěvku.

Řešení:
Aktualizace pro Debian Lenny (5.0) uživatelé: soubory, které musí být zrušen které se změnily od Debian Lenny. Chcete-li zjistit, jak tento problém vyřešit v Debian Lenny klikněte zde.

Odstraňte následující dva soubory z udev adresáře:
# cd /etc/udev/rules.d
# rm z25_persistent-net.rules z45_persistent-net-generator.rules

To se děje proto, že z výše uvedených dvou konfiguračních souborů, že udev vytváří ve výchozím nastavení. Soubor 'z25_persistent-net.rules' vytváří pravidla pro zařízení k síti a vzpomíná na ně při každém startu. Odstranění tohoto souboru sil udev vytvářet jména od začátku, tj. eth0 na každém restartu. Nechci tvrdit, že chápu tento problém úplně, ale pokud chcete jít do hloubky pak doporučuji prostudovat dokumentaci udev v adresáři '/ usr / share / doc / udev'. Má obrovský zdroj informací. Také si můžete přečíst více o udev v adresáři, dokumentaci k jádru pod '/ usr / src / linux / Documentation'.

Všiml jsem si toto chování v distribuci Debian 4.0 (stable / Etch). Tento problém byl tam není v distribuci Debian 3.1 (stable / Sarge). To znamená, že se něco změnilo v balíčku udev mezi 3.1 a 4.0. Go figure!

Byl jsem schopen přijít na to, toto řešení čtením dokumentace je uvedeno výše. Také mě to mohlo vést k vytvoření příspěvek, který vysvětluje, jaké kroky by měly brát jeden obecně (opět) řešit problémy pod Linuxem.

Jako obvykle, prosím, napsat komentář / zpětná vazba, pokud máte nějaké.

Tento post? Můžete také jako jsou tyto: