Portál AbcLinuxu, 10. května 2025 05:33
Zkuste hledat, docela často se to tu řešilo ...
A pokial jedna z nich je, tak takato finta nepomoze :).
A pokud má jádro 2.6 (což nejspíš má), tak také ne.
Urcite existuje aj iny sposob.
Ano, např. udev.
A podle jakeho poradi dle tebe jadro 2.6 inicializuje (resp. zavola probe() call ovladace) pro sitovky podporovane jednim ovladacem, kdyz ne podle poradi na sbernici?
To jsem nezkoumal, protože mne tento detail nezajímal. Na vlastní oči jsem ale viděl (a ne jednou), že pokud se neprovede dodatečné přejmenování pomocí udev nebo jiného nástroje, pouhý reboot (bez jakéhokoli zásahu do hardwarové nebo softwarové konfigurace) stačí na to, aby se přiřazení jmen síťových rozhraní fyzickým kartám změnilo. Na většině dnešních distribucí si toho nevšimnete, protože se to řeší např. pomocí zmíněného udev, ale zkuste ho vyřadit ze hry a uvidíte sám.
…nebo se jedna o karty obsluhovane stejnym driverem, tak s nedeterministickym ocislovanim sitovek jsem se jeste nesetkal a AFAIK je deterministicke.
A to právě není ani zdaleka pravda. Jednalo se nejen o karty obsluhované stejným driverem, ale dokonce o současně koupené karty stejného modelu s velmi podobným sériovým číslem (tedy téměř jistě ze stejné výrobní série). A udev za to nemohl zcela určitě, příslušná verze distribuce ho ještě nepoužívala.
ip addr show
' a porovnejte si přiřazení jména rozhraní MAC a IP adrese. Nejspíš by to mělo být pozorovatelné i u live verze.
Ale ano, nejde jen o pořadí zavádění modulů (a doufám, že jste si všiml v jednom z odkazovaných dokumentů zmínky o tom, že ani pokus o řešení pomocí modprobe.conf
pro karty obsluhované různými moduly nemusí být úplně spolehlivý), ale obecně o pořadí detekce a inicializace zařízení. Např. zde sice bohužel nemluví o persistenci toho pořadí, ale výslovně uvádějí, že ke změně způsobu procházení stromu zařízení došlo s přechodem na řadu 2.6.
že ani pokus o řešení pomocí modprobe.conf pro karty obsluhované různými moduly nemusí být úplně spolehlivý)No ono reseni pomoci aliasu v modprobe.conf je taky uplne zcestne a AFAIK spolehlive nefungovalo nikdy. To spociva v pouziti kmod a funguje tak, ze kdyz userspace se snazi pristoupit k device eth0, tak kmod se zkusi zavest eth0 a modprobe to pres alias prevede na prislusny modul a ten zavede. AFAIK pokud ale userspace jako prvni zkusi pristoupit k eth1, tak kmod zavede modul aliasovany jako eth1 a kdyz ten modul si najde prvni sitovku, tak ji oznaci za eth0 (protoze to bude prvni zavedena sitovka). Navic pokud userspace provede pokus o pristup k eth0 a eth1 rychle po sobe, tak (tim si nejsem jist) zde bude race mezi zavadenim obou modulu. Ja mluvim o reseni, ktere se pouziva napr. v Debianu, a to soubor /etc/modules, ve kterem je seznam modulu, ktere se v tom poradi staticky zavadeji do jadra. Ted si sice nejsem jist, zda je zaruceno, ze zavadeni modulu skonci az pote, co se dokoncilo probe() na prislusna zarizeni, a zda tam neni hypoteticky race, ale me tohle reseni funguje spolehlive.
... že ke změně způsobu procházení stromu zařízení došlo s přechodem na řadu 2.6.Ano, pri prechodu na radu 2.6 se to poradi zmenilo. Nedari se me vyhledat podrobnosti, ale AFAIK ta zmena mela za dusledek jen zmenu v parametrech jako depth/breadth-first ci zda se jde zepredu/zezadu, ale stale jde o deterministicky pruchod stromem PCI zarizeni.
apt-get install ifrename
(v ubuntu repos som ten balik nenasiel, takze wget http://ftp.cz.debian.org/debian/pool/main/w/wireless-tools/ifrename_28-1_i386.deb
dpkg -i ifrename_28-1_i386.deb
apt-get -f install
)
dalejecho 'eth-wifi\t\tmac 00:00:00:00:00:00 | sudo touch /etc/iftab alebo echo 'ethX\t\tmac 00:00:00:00:00:00 > /etc/iftabethx-nazov zariadenia ; doplnis MAC adresu. zopakuj pre kazde zariadenia, spusti ifrename.
/etc/udev/rules.d/z25_persistent-net.rulestam si muzes nastavit nazvy jaky chces ...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.