Hlavní navigace

Arch Linux na serveru

17. 4. 2012
Doba čtení: 6 minut

Sdílet

Distribuce Arch Linux nebyla vytvořená pro konkrétní účel, a co z každé instalace nakonec bude, závisí jen a jen na uživateli. Vývojáři dali uživatelům dobré zázemí a když je možné s ním postavit dobře fungující desktop, proč by nešel třeba takový server? V článku se dozvíte, co Arch na serveru obnáší a co jeho admina čeká.

K napsání tohoto článku jsem hodně dlouho sbíral odvahu, protože si dokážu představit, jak se některým čtenářům zvedají vlasy hrůzou jen po přečtení titulku, prolítnou článek a už míří do diskuse říct, o jak obrovské blbosti jsem to napsal. Berte prosím ohled na to, že článek není psán o serverech bank, policie, vlády a dalších oblastech lidské činnosti, kde je možné nastrkat do serverů velké množství peněz. Článek je o běžných serverech, o fyzických i virtuálních, kde běží pár aplikací nebo se starají o minoritní činnosti, které je potřeba udělat, ale funkčnost služby na nich přímo nestojí. Nasadit Arch Linux v bance je samozřejmě nesmysl, stejně jako strkat RHEL s podporou na server s blogem. Cílem článku je pouze předvést, jak se Arch Linux umí chovat na serveru, abyste se sami mohli rozhodnout, zda vám to něco přinese či ne.

Arch Linux je distribuce s charakterem, je vyvíjena průběžně, čemuž se říká rolling release model. Nové verze se projeví jen vydáním nového instalačního média, které vypadá téměř stejně jako to předchozí a jinak systémy uživatelů povyšují s každým novým balíčkem. Nicméně nechybí nic, co by slušný server mohl potřebovat. Má LTS jádro, poradí si s RAIDem, LVM, postará se o zálohy, je jednoduché pro něj vytvořit balíček a pokud si uživatel vytvoří stabilní postupy pro jeho správu v závislosti na potřebách na daný stroj, bude mu server dobře sloužit až do skonání hardwaru.

Na otázku zda se Arch Linux hodí na server bych si dovolit odpovědět překladem z FAQ: „Arch není navržen pro konkrétní účel, ale pro potřeby uživatele. Arch cílí na schopné uživatele, které baví, když si mohou vše udělat sami a uzpůsobit systém tak, aby odpovídal jejich unikátním potřebám. Arch může být používán pro jakýkoli účel. Mnoho uživatelů používá Arch na svých desktopech a pracovních stanicích a archlinux.org samozřejmě taky běží na Archu.“

Arch Linux se s časem mění a postupuje vpřed. Zároveň ale disponuje prostředky, které vám umožní některou z části podržet v té či oné verzi, Nedá se tedy říct, že když svůj webový server postavíte na Arch Linuxu, tak za týden, když PHP poskočí o verzi výše, tak polovina webových stránek nejede. Samozřejmě musíte vědět co chcete, sledovat co se aktualizuje a patřičně na to reagovat. Arch vám dá prostředky k tomu, abyste PHP udrželi v požadované verzi a nebylo to ani moc těžké. Pak tu jsou servery, které z aktualizací dokáží těžit. Neběží na nich aplikace stovek uživatelů a tak se aktualizace na nové verze mohou stát snadno výhodou. To může být mail server, DNS server, server pro zálohy, NAS, streamovací server, VoIP ústředna a mnoho dalších. Výhody použití Archu na serveru jsem zkusil shrnout v následujícím seznamu:

  • Jede na upstreamu, moc nepatchuje
  • K uživatelům jdou rychle nové funkce
  • I když to nemusí vypadat, systém jako takový je stabilní
  • Aktualizuje se průběžně, což znamená méně překvapení najednou
  • Jednoduchý balíčkovací systém
  • Je velmi flexibilní a snadno se konfiguruje

Samozřejmě mohou nastat problémy. Někdy jde o takové, které by se dřív nebo později projevily i s jinou distribucí. Admin musí mít přehled o tom, co se mění, musí číst changelogy a pokud to není zrovna NAS, o který si opírá pod stolem nohy, měl by každou aktualizaci vyzkoušet někde bokem. To dnes s virtualizací není problém, ale může to být na obtíž. Stejný postup ale platí pro stabilní distribuce, i když se dá očekávat, že tam aktualizace nic nerozbije.

S čím je potřeba počítat

  • Aktualizací je více, zato problémů v jednu chvíli méně
  • Aktualizovat je potřeba, a to relativně často
  • Aktualizace dobře plánovat
  • Admin nemá k dispozici opravné patche starších verzí balíčků
  • Občas je nutné udržovat starší verze balíčků, se kterými přijdou do styku uživatelé

Pokud se vám stane, že třeba svůj Arch Linux pár měsíců neaktualizujete, můžete najednou nahrazovat desítky důležitých balíků a postup nemusí být úplně triviální. Je proto nutné dodržovat pravidla, která si sami nastavíte.

Repositáře

Arch Linux není stejně „kvalitní“ ve všech oblastech a pro balíčky jako je třeba Nginx platí trochu jiná pravidla než pro balíček s jádrem. Oba se totiž nachází v odlišných repositářích a takových má Arch Linux rovnou osm.

  • core
  • extra
  • community
  • multilib
  • testing
  • community-testing
  • multilib-testing
  • unsupported

Repositář core se dá považovat za velmi stabilní. Obsahuje vše co je pro běh základního systému, kontrolu disků, vytváření balíčků, připojení k síti a tak dále. Balíčky v něm mohou aktualizovat jen hrstka vývojářů vývojáři. Druhým podobným repositářem je extra. Ten obsahuje software nezapadající do síta repositáře core, ale nabízí podobné podmínky pro aktualizaci balíčků v něm. Najdeme tu pro nás důležité balíčky jako je apache, samba, bind, lvm, php, python, perl, spamassassin a další. Jeho použití je také stabilní a při dodržení pravidelných aktualizací, byste neměli narazit na žádný vážný problém.

Další repositář je community, který obsahuje balíčky od ověřených vývojářů, ale politika přijmu nových balíčků je volnější. Multilib obsahuje balíčky pro běh 32bit aplikací na 64bit systému. Pak jsou tu repositáře testing, community-testing a multilib-testing, kterým je lepší se vyhnout, protože při jejich používání se mohou objevit nečekané problémy.

Kapitolou samu pro sebe je tzv. AUR, což je databáze balíčků od běžných uživatelů, které mohou obsahovat samozřejmě kde co a pokud nejde o váš vlastní výtvor, je nutné alespoň kontrolovat, jakým způsobem se balíček vytváří a odkud jsou brány zdrojové kódy. Díky AURu ale není problém do systému dostat třeba PHP 5.2, které už dnes není podporované, ale existuje ještě mnoho webů, které bez něj nejedou.

Jádro

Aktualizace jádra s sebou nese nepříjemný fakt, že se musí server restartovat. U serverů není žádoucí, aby se restartovaly každý týden, protože si vývojáři jádra vzpomněli, že by se tenhle a támhleten problém měl opravit. Proto má Arch Linux v core repositáři také LTS jádro. To není samozřejmě nějaké distribuční, které vydrží několik let, ale jde o LTS jádro vydávané vývojáři jádra samotného. Do nedávna to byla verze 2.6.32, dnes už to je 3.0 a ještě nějaký ten měsíc bude. Výhodou LTS jader je jejich vydávací cyklus a rychlá reakce upstream vývojářů na objevené chyby.

Nestane se vám tedy, že by bylo potřeba server restartovat třeba 2 dny za sebou, ale zároveň nepřijdete o důležitou opravu, pokud se náhodou někde objeví vážný problém. Obecně ale platí, že aktualizace jádra, i toho s ocáskem „lts“ chodí častěji než třeba aktualizace v Debianu. Je tedy opět na vás, jak se k jednotlivým aktualizacím postavíte.

Shrnutí

Z pohledu administrátora, se na Arch Linuxu nebude dělat nic, co by se nemuselo dělat jinde. Pořád platí stejná pravidla pro nastavení firewallu, SSH, sítě a dalších částí systému. Arch má možná trochu výhodu v relativně silné komunitě vyfiltrované už samotným instalačním procesem a tak se kolem něj shromáždilo mnoho lidí a ti když zrovna nepomáhají s vývojem, upravují wiki. Tam je samozřejmě i pár stránek o nastavení Archu na serveru. Jedna z nich se jmenuje Comprehensive Server Guide a popisuje věci, které platí jak pro Arch Linux, tak pro další distribuce.

Další důležitou a samozřejmě i užitečnou wiki stránkou je Enhancing Arch Linux Stability, kde lidé kolem Archu sepsali pár odstavců o tom, jak udržet Arch Linux stabilní jak jen to jde. Stránka obsahuje jak obecné postřehy jako „zálohuj konfigurační soubory“, „používej balíčkovací systém pro instalaci softwaru“, ale i archcentrické jako „vyhni se vývojovým repositářům“ nebo „pro /var použij velkou oblast disku“.

cyber23

Třetí stránka kterou zmíním nese titulek Security a popisuje, jak Arch Linux vytvrdit do maximální bezpečnosti. Obsahuje rady jako třeba deaktivaci zkratky CTRL+ALT+DELETE, použití patche grsecurity pro jádro, doporučení kolem firewallu nebo třeba jak nastavit striktnější přístup k uživateli root.

Tady bych článek ukončil a pokud budou v diskusi dobré ohlasy, budu pokračovat konkrétními postupy.

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.