Nedávno došlo k jedné potichu oznámené změně ve Fedora @core – součástí je nyní NetworkManager. Prvotní reakcí tradičních *nixových adminů bude „WTF?“. Dejte mi však šanci na vysvětlení – reagoval jsem podobně, ale nechal jsem si to rozležet v hlavě a ještě mě to nezabilo. Podívejme se tedy na pár otázek, podobně jako by se ptala ta smířlivá banda, které říkáme internet.

PROČ!?!!@#^$!%^DOBOHA!#@!!1!$krutibrko!!?@

Motivace byla jednoduchá. Objevil se bug, byl ošklivý a musela padat rozhodnutí. Jedno padlo a možná s ním zprvu, nebo nikdy, nebudete souhlasit, ale nakonec to zase tak špatný nápad není, protože NetworkManager udělal velké pokroky a myslím, že většina dřívějších obav už není aktuální. Jediný přetrvávající problém, který jsem zahlédl zmiňovaný, je potřeba mít více statických routovacích tabulek. Ale když už máte tak pokročilou konfiguraci, nebude snad problém zkusit systemctl disable NetworkManager.service && chkconfig network on.

CO TEĎ??? JE TO ROZBITÝ!!?!?!

První stížnost, kterou jsem zaslechl, byla k tomu, že už nebudou k dispozici konfigurační metody z časů dávno minulých, které využívaly utilitu „network“ spolu s našimi oblíbenými skripty. Běda! Skvělí a nevyzpytatelní vývojáři NetworkManageru na to pamatovali, takže máme /etc/NetworkManager/NetworkManager.conf (s výbornou dokumentací v man 5 NetworkManager.conf), kde je ve výchozím nastavení řádek plugins=ifcfg-rh. Co ten malý šmuk znamená? Cituji manuálovou stránku:

ifcfg-rh
plugin se používá v distribucích Fedora a Red Hat Enterprise Linux
k čtení a zápisu konfigurace ze standardních souborů
/etc/sysconfig/network-scripts/ifcfg-*. V současné době podporuje
čtení ethernetových, wifi a 802.1x spojení, ale zatím nepodporuje
čtení nebo zápis mobilních, PPPoE nebo VPN spojení. Pro podporu
čtení a zápisu těchto spojení přidejte do své konfigurace plugin
keyfile.

VŠECHNO TO NASTAV!!!1!#%$%^@#!#!

Jsem rád, že se ptáte. Podívejte se na jeden šikovný soubor v /usr/share/doc/initscripts-*/ pojmenovaný sysconfig.txt, který mi už kolikrát zachránil život. Pokud jste o něm nevěděli, dejte si říct a seznamte se, protože je plný ohromně užitečných informací. Ale to už odbočuji. Otevřete ten soubor a jděte až k části označené NM_CONTROLLED:

NM_CONTROLLED=yes|no
 If set to 'no', NetworkManager will ignore this connection/device.
 Defaults to 'yes'.

Co to znamená? No, pokud jste instalovali čerstvý systém, je pravděpodobné, že už toto nastavení vaše rozhraní mají. Ale jestli jste u počítače, který byl během doby průběžně upgradován, tak stačí přidat tento krátký řádek, spustit NetworkManager a použijí se vaše nastavení. Kouzlo! Dost dobrý, ne? 🙂

_____________________________ <--- hranice, pod kterou už se nežertuje

Žerty stranou, tohle je změna, která určitě pár lidí nadzdvihne ze židlí, ale skutečnost je taková, že s tempem, kterým se Fedora pohybuje, je občas nejlepší zvolit cestu nejmenšího odporu, aby se problém vyřešil. A myslím, že to se stalo v tomto případě. Pokud existují nějaké opravdové obavy (myslím opravdu platné obavy, ne „nenávidím změny“), věřím tomu, že se jimi komunita dokáže zabývat v rámci běžných komunikačních kanálů a v případě potřeby bude možné tato rozhodnutí, přijatá kvůli řešení potíží, pozměnit tak, aby to vyhovovalo potřebám projektu. Mám pocit, že my, členové komunity, máme až příliš rádi přehnané reakce, což na 100 procent platí i o mně. Ale mám za to, že když si to chvíli necháme projít hlavou a zvážíme možné dopady a co nejvíce ovlivňujících faktorů, zjistíme, že věci jako zařazení NetworkManageru do @core mají rozumný důvod. Fedora se nemění jen pro dobrý pocit, ale proto, aby se projekt posouval kupředu. V tomto případě jde o řešení chyb, aby se systém lépe používal. Jindy jde o inovace. Tak jako tak, dobře, že byl uzavřen další bug!

Happy hacking,
-AdamM

Autorem článku je Adam Miller, text původně vyšel na jeho blogu: NetworkManager is in @core but don't fret ....