abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 3
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 11
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 27
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 6
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 148 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    Rozcestník

    Debian očima stěhujícího správce

    2.4.2007 19:58 | Přečteno: 3425× | poslední úprava: 2.4.2007 23:38

    Toto je subjektivní popis útrap osoby pokoušející se přemigrovat routeroserver na Debian.

    Úvod do situace

    Mám router, který kromě směrování a překladu adres provozuje některé síťové služby (DNS, DHCP, HTTP server, HTTP proxy). Jedná se o bezhlavé (žádný monitor, klávesnice) Pentium s MMX.

    Starý systém byl postaven na SuSE 8.1, z něhož zbyl pouze bordel na disku, glibc, perl, util-linux, corutils a podobné systémové věci. Ostatní věci jako OpenSSL, OpenSSH, thttpd, BIND9, privoxy, ISC dhcpd, Linux 2.6.18.cosi, module-init-tools, iptables aj. byly ručně dokompilovány na jiném stroji. Init scripty byly kompletně vynechány a místo toho jsem si napsal vlastní /etc/init.d/boot, který zařídil vše potřebné. Vše v jednom jediném souboru, prozřetelně spouštějící SSH server hned po syslogu (což se ukázalo velmi užitečné, po té, co se wifi karta začala odmítat inicializovat a umírala v jádře), žádné zbytečné forky a execy na další inicializační skripty, nezbytný začátek sériový, zbytek už spouštěný paralelně.

    Výsledkem byl funkční routující server pekelně rychle nabíhající, kromě otáčení hard disku a větráku zdroje naprosto tichý (to se ještě dělaly pasivní chladiče na CPU) a velmi stabilní a spolehlivý (uptime určovaly jen rozmary ČEZu).

    Bohužel jak šel čas, zastarala glibc, ostatní stroje používané ke kompilaci se binárně i aplikačně vzdalovaly mílovými kroky a v poslední době se objevil požadavek na další služby (SMTP, IMAP, protažení veřejné IP přes PPPoE). Prostě systém byl neupgradovatelný.

    Pokusy o nainstalování Gentoo nedopadly dobře, tak jsem se rozhodl pro Debian.

    Instalace

    Debian jsem znal jen z vyprávění (hodnověrných svědků a bájných starců) a několika minut koukání jednomu debianistovi přes rameno. Úkolu jsem se ale nezalekl a pustil se do přeinstalace.

    Pohled do instalační příručky (dokumentační server Debianu respektuje můj Accept-Language a servíruje české a slovenské překlady) ukázal dosti rozsáhlý obsah a v něm kapitolu Instalace Debianu ze stávajícího unixového/linuxového systému (sice až jako přílohu Co se jinam nevešlo, nikoliv přímo mezi způsoby instalace, jak bych předpokládal). Přesně to jsem potřeboval. Na routeru jsou dva souborové systémy, instalaci provedu v chrootu do nesystémového oddílu a pak přebootuju do nového systému, ověřím, že vše běží, a pak nový systém překopíruji na místo starého. Takto se budu moci kdykoliv vrátit ke starému systému, kdybych byl nucen reinstalaci přerušit.

    Architektura, optimalizace překladu

    Hledání správného debootstrapu ukázalo dvě novinky: musím nainstalovat stabilní verzi Debianu (pro nestabilní se debootstrap nedělá) a svoje Pentium budu muset pohánět binárkami určenými pro i486 (poznámka, že i386 port je ve skutečnosti i486, není ani v Požadavcích na počítač, ani v Released ports, ale v Instalačním manuálu pro Etch).

    Následovalo rozbalení balíku a spuštění debootstrapu. Skript sice pracoval samostatně, ale množství chybových hlášek rostlo nade všechny meze. Nu, snad je to normální. Jenže skript se nakonec ukončil s chybovou hlášku, že nelze nastavit exim, protože cosi nepochopitelného. Vzhledem k tomu, že vše podstatné bylo hotovo, chrootnul jsem se do nového systému a změnil PS1, abych poznal pacienta.

    fstab

    Dle manuálu jsem upravil fstab. Chybělo tam cokoliv ohledně sysfs a usbfs. To jsem se zalekl poprvé – asi neznají jádro 2.6. A usbfs připojují asi ručně ve startovacích skriptech, jako to má Gentoo (ostatně tady i tam nedokumentováno). Nakonec se ukázalo, že bez ohledu na fstab se mountuje právě sysfs a inicializační skripty si na to pak stěžují, naopak proc by tam mělo být. usbfs jsem ještě nepotřeboval, tak jsem mu nastavil noauto.

    Síť

    Dále jsem se chystal na jedno z nejdůležitějších – na síť. /etc/network/interfaces připomíná Gentoo, jen mě dostalo několik věci: iproute2 nikde (dokumentace sice přiznává, že ifconfig by měl zmizet v propadlišti dějin, ale když ti uživatelé [rozuměj Debian] jsou tak konzervativní), zakázání DHCP klientovi nastavování resolveru nikde (až později jsem zjistil, že na to slouží konfigurák konkrétního DHCP klienta [v mém případě /etc/dhclient.conf], žádná abstrakce se nekoná), IP forwarding (/etc/network/options a /etc/sysctl.conf si lezou do zelí, upozornění je jen v sysctl.conf, soubor options je prý zastaralý, proč tedy stále existuje ve výchozí instalaci?).

    chmod ("/", 0755)

    Pak jsem nakonfiguroval hostname, resolver a dle manuálu spustil base-config. Ten se zeptal na účty, časové pásmo a na poštu. Ta představovala další problém. MTA bych do budoucna chtěl, ale v současnosti jsem na to něměl chuť, tak jsem zvolil jen lokální doručování a crash. Konfigurační nástroj padl na stejné chybě jako debootstrap. To jsem začal větřit něco shnilého. Navíc tato potíž začala být blokujícího charakteru, protože apt-get se pokoušel exim opakovaně nakonfigurovat, a já jsem tak chtěl upgradovat na nestabilní verzi (toho času Etche; po přečtení Přehledu verzí Debianu začínám chápat jmenné orgie v Ubuntu a začínám pochybovat o duševním zdraví vývojářů). Nakonec jsem nalezl, že problém je v přístupových právech ke kořenovému adresáři. Jedná se o chybu v konfiguračních skriptech eximu, který z nevysvětlitelných důvodů potřebuje aspoň 0755 (asi kvůli su a následně odmítnutí průchodu cestou). A to jsem ještě pyšně ta práva před instalací utahoval na 0700, aby byla jistota. Nechápu proč, když o tom vývojáři vědí, nedají příslušnou podmínku do debootstrapu.

    Instalace ⇒ spuštění

    Pak jsem upgradoval na nestabilní verzi, a začal instalovat jednotlivé služby. Krom apt a dpkg schizofrenie (některé informace prostě apt nepustí; možná proto je oficiálně doporučován aptitude) a vyexpirovaného PGP klíče, který se upravil až dvojitým upgradem, mě začalo vytáčet, že po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz. Doufám, že tuto vlastnost dpkg lze někde vypnout. OpenSSH s povinnou podporou kerbera už mě nachával chladným (Gentoo!).

    Nakonec jsem opustil chroot, překopíroval klíče SSH serveru a domovský adresář roota. Nový systém přesunul do kořene nesystémového oddílu, upravil LILO, nastavil bootovaní-na-první-pokus-jinak (lilo -R) do nového systému a rebootnul.

    Nový systém

    Poinstalační reboot

    Podle kontrolky IDE řadiče se načetlo jádro, začal pracovovat init a najednou restart! Cože? Že by kernel-panic? Naběhl starý systém, prohlédl jsem si var/log/ nového, ale jediný soubor se nezměnil. To vypadá opravdu špatně. Ale třeba se jedna o poinstalační restart, jako to dělával SuSE. Tak jsem znovu nabootoval do nového systému a tentokrát vydržel a já se mohl po síti přihlásit. Proboha, proč na to nemůžou v manuálu upozornit?

    Moduly, bootlog

    Jenže to nebylo vše. Fungovala jen lokální síť, ostatní síťovky nic. Při tom jsem modprobe.conf i moduly překopíroval ze starého systému. Navíc v úžasně rozdrobeném logu do mnoha souborů (kde se spousta informaci loguje duplictně) nebyla jediná řádka o procesu bootování a běhu inicializačních skriptů. Nakonec zjištěno, že bootlog je v Debianu implicitně vypnutý (/etc/default/bootlog). Protože mým tajným snem byl udev na serveru a jinde jsem se k tomu ještě neodvážil, nainstaloval jsem jej, přidal pravidla pro pojmenování síťových rozhraní dle MAC adresy, rebootnul a už to jelo.

    Správa modulů měla ještě dohru v podpobě vyčistění konfiguráků odinstalovaných modutils a pochopení, že /etc/modprobe.conf už netřeba, že vše potřebé udělá udev a zbytek je statický /etc/modules.d. Snad jen /etc/modules.d/blacklist se bude hodit, až se vrhnu na jádro tuhnoucí wifi kartu, která sdílí IRQ s jinou ethernetovou kartou. Ostatně, proto budu muset zase začít spouštět SSH server před udevem.

    iptables

    Následovaly iptables. Inu, Debian nemá žádný init script pro iptables. Obecně doporučovaný postup je zaháčkovat se na vytvoření (PPP) rozhraní nebo udělat vlastní init script. Vydal jsem se druhou cestou, jeden case a iptables-restore vše vyřešil.

    Fungující bootlog ukázal několik chyb, díky němu jsem pochopil, co všechno ve fstabu být musí a nesmí. Přišel jsem na to, že odinstalované modutils zanechaly konfiguráky včetně /etc/init.d/modutils, takže jsem objevil tajemství dpkg --purge a že stejně init skripty nemaže. Také jsem zjistil, že base-configem doporučovaný zápis IPv6 adres při konfiguraci Eximu, kdy dvojtečku v adrese je nutné escapovat dvojtečkou další, 127.0.0.1:::::1 značící naslouchání na loop backu nefunguje.

    Překlopení systému

    Nakonec, když vše bylo odladěno, překopíroval jsem nový systém z druhého oddílu na oddíl první, aktualizoval zavaděč, rebootoval a – opět postinstalační reboot. To snad není možný. Debian si snad hlídá, kam byl nainstalován, a když se objeví na jiném oddílu, tak vyvádí.

    Ex-post jsem zjistil, že thttpd servíruje SVG dokumenty jako text/plain. Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není. No nic. hodil jsem ji tam ze starého systému.

    Závěr

    Router je přeinstalovaný, asi 350 MB nového systému nastartuje za minutu (od POSTU, po přijetí TCP spojení na SSH server). Systém se zdá být stabilní, navenek se chová naprosto ekvivalentně.

    Systém jsem instaloval asi 3 dny v průběhu dvou týdnů. Prolezl jsem www.debian.org a několikrát se ocitnul na www.debian-administration.org.

    Jsem zvědavý, jak se mi povede rozdýchat PPPoE, IPv6 a poslední jádro s NF_CONNTRACKEM.

    Výklad

    Smyslem tohoto zápisku nebylo plivat na Debian a ukázat, jaký jsem machr a že všechno bych uměl lépe.

    Smyslem byl povzdech nad kvalitní distribucí s dlouholetou tradicí, která se profiluje jako serverová a pro zkušené uživatele. Povzdech nad tím, že chybí rychlý úvod pro zkušené uživatele, kteří vědí, co chtějí, znají principy fungování vanilkových programů do morku kosti, ale neznají špeky a odlišnosti přidané distributorem.

    Chápu, že vývojáři distribuce jsou její dlouhodobí uživatelé a všechny její vychytávky berou jako samozřejmost a tudíž snaha o sepsání také rozdílové dokumentace je velmi malá. Přesto si myslím, že by takový dokument mohl být užitečný.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 2.4.2007 20:18 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    To, že jsi si vybral Debian se ti pěkně vymstí. Počkej za pár let, až tam budeš chtít dát novější hardware a nebudeš moct ten routeroserver najít :-D
    Hello world ! Segmentation fault (core dumped)
    2.4.2007 20:27 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Půjde po kabelech ;-)
    Quando omni flunkus moritati
    2.4.2007 22:07 moira | skóre: 30 | blog: nesmysly
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Jen aby nenarazil na 48 portovej switch, to pak metoda "jit po kabelech" selhava :)
    Překladač ti nikdy neřekne: "budeme kamarádi"
    2.4.2007 22:51 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    No, logicky bych řekl, že router bude na nějakém význačném místě, jako třeba na prvním nebo posledním portu. Taky jde postupně jednotlivé kabely odpojovat a zkoušet, kdy přestane jít ping.

    A když nic z toho nepůjde, tak bude mít tak na den až dva o zábavu postaráno... ;-)
    Quando omni flunkus moritati
    2.4.2007 20:26 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    když ti uživatelé [rozuměj Debian] jsou tak konzervativní
    Co se týče ifconfigu, tak v tomhle jsou konzervativní skoro všechny distribuce.
    po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz.
    Holt jsou instalační balíky přizpůsobeny tomu, že instaluješ na běžící systém. (Tj. ne do chrootu)
    Nakonec, když vše bylo odladěno, překopíroval jsem nový systém z druhého oddílu na oddíl první, aktualizoval zavaděč, rebootoval a – opět postinstalační reboot. To snad není možný. Debian si snad hlídá, kam byl nainstalován, a když se objeví na jiném oddílu, tak vyvádí.
    Několikrát jsem stěhoval systém na jiný disk a ještě nikdy se kvůli tomu neresetoval.
    Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není.
    Tohle není ono?
    Quando omni flunkus moritati
    2.4.2007 21:26 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    po nainstalovaní balíku, se automaticky služba nalinkuje do init scriptů a navíc, ta drzost, se rovnou spustí – nenakonfigurovaná. No, možná předkonfigurovaná na nějaké neškodné vlastnosti, ale vzhledem k tomu, že jsem byl stále v chrootu a starý systém stále svoji službu plnil, to byl, s prominutím, opruz.
    Holt jsou instalační balíky přizpůsobeny tomu, že instaluješ na běžící systém. (Tj. ne do chrootu)
    To uz je jen tresnicka na dortu. Ze se programy spousteji sami od sebe, to jim neodpoustim.
    Po zjištění, že tento HTTP server má databázi MIME typů zakompilovanou, jsem se vydal ověřit verzi z testovacího vydání Debianu. Nebyla tam. Poslední verze thttpd je více jak rok stará, leč ani v testingu není.
    Tohle není ono?
    Je, ale stary.
    2.4.2007 20:44 Tomáš | skóre: 25 | Ústí nad Labem
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Ahoj, píšeš, že účelem zápisku nebylo plivat na Debian a ani to tak neberu. Jen Etch (momentálně frozen testing) skrz debootstrap instalovat jde a iproute2 najdeš v balíku iproute. Jinak sry, možná jsem něčo přehlíd, celý jsem to nečetl.
    2.4.2007 21:40 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Jen Etch (momentálně frozen testing) skrz debootstrap instalovat jde…
    Je to mozne. Jak na to ted koukam, tak 0.3.3.2 pro platformu all?

    Podle manualu ovsem pro i386 vyhovuje pouze verze 0.2.45-0.2. Te jsem zkusil hodit misto sarge etch a vynadal mi, ze takove slovo nezna.

    Snad budu mit jeste prilezitost vyzkouset.
    Max avatar 2.4.2007 21:39 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Já mám rád na debianu jeho pojetí konfigurace apache2. Je to hodně dobrej nápad :), hlavně proto, že je parádně přehlednej ...
    Zdar Max
    Měl jsem sen ... :(
    3.4.2007 16:00 bl4z4 | skóre: 12 | blog: bl4z4
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Souhlas, ale když jsem ho viděl poprvé k smrti mě to vyděsilo :-). K Debianu jsem se dostával na dvakrát. Nějak se mi od Slackwaru nechtělo, ale dnes už bych neměnil.
    Novinář: "Má podle vás umělá inteligence budoucnost?" A. C. Clarke: "Pevně doufám, že ne jen umělá."
    2.4.2007 21:57 Xerces
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Ahoj, ač dlouholetý a věrný uživatel Debianu, musím pochválit za příspěvek. Dobře jsi tam schrnul skutečné mouchy, které tato jinak dobrá distribuce má. Já osobně na věci o kterých jsi psal přicházel déle protože jsem typickej užívák a čas od času vyplynulo na povrch tu ono, tu tamto. Například ta provázanost na iproute, mně to je celkem šumák jako užívakoj ale všude píšou používejte ip zapomeňte na ifconfig, ale když dojde na lámání chleba tak použiju na Debianu ifconfig, protože to tam je tak nějak víc easy. Start služeb po instalaci mi osobně neva, ale citím, že by bylo lepší je defaultně nepouštět atd.. Jak, říkám souhlas jsou to takové mouchy na kráse, které by bylo fajn vyčistit. Ale furt lepší než Vista, no ne? :-)
    pele avatar 2.4.2007 22:21 pele | skóre: 28 | blog: Bleabr | UH
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Ahoj, ač dlouholetý a věrný uživatel Debianu, musím pochválit za příspěvek. Dobře jsi tam schrnul skutečné mouchy, které tato jinak dobrá distribuce má. Já osobně na věci o kterých jsi psal přicházel déle protože jsem typickej užívák a čas od času vyplynulo na povrch tu ono, tu tamto.
    +1
    Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
    2.4.2007 23:14 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Debian očima stěhujícího správce
    Start služeb po instalaci mi osobně neva, ale citím, že by bylo lepší je defaultně nepouštět atd.
    Ono to má i druhou stránku věci... upgrade na novější verzi (což zahrnuje i bezpečnostní aktualizace) je v podstatě také instalace. To znamená, že pokud nedodáš mechanismus, kterým post-inst informuješ o tom, že šlo o upgrade, tak ti apt-get upgrade zastaví všechny služby, které se aktualizovaly.
    Quando omni flunkus moritati

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.