Oggetto: A volte se si stanno sperimentando con Linux su macchine diverse, ci sono probabilità che upon switching per una macchina diversa la scheda Ethernet non verrà attivato per default su ie dando il comando 'ifconfig' la scheda Ethernet presto spariranno anche se il driver sia caricata correttamente.

Test di impostazione:
OS Linux: Debian 4.0
Kernel: 2.6.22 - 2.6.24

Aggiornamento: Debian Lenny gli utenti fanno clic qui .

Scenario:
Per esempio, potete installare il vostro sistema Linux su una macchina e poi si prende il disco rigido e collegarlo a un altro computer che è forse la stessa configurazione. In avvio si scopre che non puoi vedere la tua eth0 o eth1 nel momento in cui 'ifconfig'. Ad esempio, è vedere questo:
# 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)

invece di questo
# 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

Tuttavia, è possibile attivare la scheda Ethernet, dando comandi come:

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

Supponiamo ora è possibile collegare la stessa unità difficile da un'altra macchina identica ed ora di nuovo non è possibile attivare la scheda Ethernet, anche dando cioè sopra comandi 'dhclient eth2' o 'dhclient eth3'. Ma si può attivarla ora dando comandi come:
# dhclient eth4
o
# dhclient eth5 (If you have Dual Ethernet card)

Questo ciclo si può andare avanti e cioè il passaggio su macchine ogni volta che si devono tenere incrementare il <numero> eth da uno o da due (se si dispone di doppia scheda Ethernet).

Se si osserva qualcosa di simile sulle vostre macchine quindi leggere la soluzione qui di seguito.

Nota: Prima di procedere alla soluzione di assicurarsi che il driver della scheda Ethernet è caricato. Se il driver è compilato come modulo nel kernel, è possibile caricare dando il seguente comando:
# modprobe <name-of-drive>

Per esempio,

# modprobe e100

Se è integrato nel kernel quindi non c'è bisogno di dare il comando come avrebbe dovuto, ma ho caricati automaticamente. I passaggi per configurare e compilare il driver Ethernet è fuori della portata di questo post.

Soluzione:
Aggiornamento per Debian Lenny (5.0) gli utenti: i file che deve essere eliminato sono stati modificati dopo Debian Lenny. Per informazioni su come risolvere questo problema in Debian Lenny clicca qui .

Rimuovere i seguenti due file da udev directory:
# cd /etc/udev/rules.d
# rm z25_persistent-net.rules z45_persistent-net-generator.rules

Ciò accade perché di questi due file di configurazione che udev crea di default. Il file 'z25_persistent-net.rules' crea le regole per le periferiche di rete e li ricorda a ogni avvio. La rimozione di questo file di forze il udev per creare nomi da IE a ogni avvio eth0 riavvio. Non pretendo che mi questione totalmente capire questo, ma se you vuole andare a la profondità di esso poi mi raccomando di leggere la documentazione udev under the directory '/ usr / share / doc / udev'. E 'ricca fonte di informazioni. Inoltre è possibile saperne di più su udev nella directory del kernel Documentazione in '/ usr / src / linux / Documentation'.

Ho notato questo comportamento in Debian 4.0 (stabile / etch). Questo problema non era presente in Debian 3.1 (stabile / Sarge). Questo significa che qualcosa è cambiato nel pacchetto udev tra 3.1 e 4.0. Go figura!

Sono stato in grado di capire questa soluzione leggendo la documentazione di cui sopra. Anche questo mi ha portato a creare un post che spiega quali passi si dovrebbe prendere in generale alla (ri) risolvere i problemi sotto Linux.

Come al solito, si prega di lasciare un commento / feedback, se avete qualche.

È piaciuto questo post? È possibile, come anche questi: