Scopo: A volte se si stanno sperimentando con Linux su macchine diverse, non ci sono possibilità che dopo il passaggio ad una macchina diversa la vostra scheda Ethernet non sarà attivato per default vale a dire nel momento in cui il comando 'ifconfig' la vostra scheda Ethernet sparirà anche se il driver viene caricato correttamente.

Impostazione di prova:
Linux OS: Debian 4.0
Kernel: 2.6.22 - 2.6.24

Update: gli utenti Debian Lenny clicca qui.

Scenario:
Ad esempio, si installa il sistema Linux su una macchina e poi prendete il vostro hard disk e collegarlo ad una macchina di un altro che ha forse la stessa configurazione. Il boot si scopre che non è possibile vedere il tuo eth0 o eth1 nel momento in cui 'ifconfig'. Ad esempio, vedete 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 vostra scheda Ethernet da dare comandi come:

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

Supponiamo ora è possibile collegare il vostro stesso disco fisso su un'altra macchina identica e ora di nuovo possibile attivare la vostra scheda Ethernet, anche dando la precedenza i comandi ossia 'dhclient eth2' o 'dhclient eth3'. Ma è possibile attivarlo ora di dare comandi come:
# dhclient eth4
o
# dhclient eth5 (If you have Dual Ethernet card)

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

Se si osservano qualcosa di simile sul vostro computer e leggi 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 caricarlo dando il seguente comando:
# modprobe <name-of-drive>

Per esempio,

# modprobe e100

Se è integrato nel kernel quindi non è necessario per dare il comando come avrebbe dovuto ottenuto 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 devono essere eliminati sono stati modificati dopo Debian Lenny. Per imparare a risolvere questo problema in Debian Lenny clicca qui.

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

Questo accade a causa di quanto sopra due file di configurazione che udev crea per l'impostazione predefinita. Z25_persistent Il file '-net.rules' crea le regole per i dispositivi di rete e li ricorda su ogni avvio. La rimozione di questo file udev le forze per creare nomi da cioè iniziare eth0 su ogni riavvio. Non pretendo che capisco completamente questo problema, ma se vuoi andare alla profondità di esso quindi si raccomanda la lettura della documentazione udev sotto la directory '/ usr / share / doc / udev'. È ricca fonte di informazioni. Inoltre si può leggere di più su udev nella directory del kernel Documentazione in '/ usr / src / linux / Documentation'.

Ho notato questo comportamento in Debian 4.0 (Stable / Etch). Questo problema non era lì in Debian 3.1 (Stable / Sarge). Ciò significa che qualcosa è cambiato nel pacchetto udev tra 3.1 e 4.0. Go figure!

Sono riuscito a 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, per (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: