Hlavní navigace

Když se řekne repozitář

3. 8. 2008
Doba čtení: 7 minut

Sdílet

Obvyklou odpovědí na začátečníkovu otázku, jak získat potřebnou aplikaci, je doporučení, aby si nainstaloval příslušný repozitář. K dispozici jich je však nabízeno několik a při nepochopení jejich koncepce se může stát, že váš systém se začne chovat „divně“ či přestane fungovat úplně.

Úvod do repozitářů

Hlavním zdrojem programů, tedy balíčků, je obvykle instalační médium dané distribuce (např. CD/DVD). Linuxové distribuce jsou známé tím, že na instalačních médiích dodávají tisíce programů a jsou uživatelé, kteří používají balíčky jen a pouze z médií a nemají potřebu se kontaktovat s vnějším světem. Přiznejme si však, že těchto uživatelů je menšina. I když u distribucí, které mají cyklus vydávání půl roku, to nemusí být zase až tak problémové (ve smyslu zastaralosti aplikací). Existuje jistě mnoho uživatelů, kteří provozují své aplikace ve verzích o tři až čtyři vydání zpět prostě z toho důvodu, že jim stačí/vyhovují a nepotřebují funkce novějších verzí nebo to mohou být důvody hardwarové náročnosti atd.

Pokud však budete chtít svůj systém aktualizovat a získat tak nejnovější bezpečnostní záplaty, budete muset internetové repozitáře použít. Existují samozřejmě i distribuce, které žádné instalační média nedodávají a musíte je stahovat výhradně z internetu (nemluvím o distribucích, které mají k dispozici pouze balíčky se zdrojovými kódy a vše se kompiluje přímo na konkrétním počítači a obvykle to také dlouho trvá).

Rád bych se teď vrátil k samotnému pojmu repozitář. Jedná se o speciální server na internetu, který provozují tvůrci distribuce (nebo jiní) a odkud můžete stahovat balíčky s aktualizacemi programů či systému, případně z něj rovnou instalovat aplikace, které ještě nemáte nainstalovány. Obvykle nemá daná distribuce jen jeden repozitář, ale naopak mnohem více.

Dělení repozitářů

Prvním způsobem, jak je možné repozitáře kategorizovat, je rozdělit je na tzv. stable a unstable. Tyto výrazy popisují dva druhy repozitářů dle balíčků, které obsahují. Stable repozitáře obvykle obsahují jen a pouze stabilní verze programů (určené pro koncové uživatele a běžné nasazení) a mnohdy to nemusí být verze poslední. U repozitářů tohoto typu je kladen především důraz na to, aby bylo vše odzkoušeno a nezpůsobovalo problémy. Jako příklad můžeme uvést program GIMP, který existuje ve stabilní verzi 2.4.6, ale navíc je k dipozici i vývojová verze 2.5.2 s novými funkcemi. Vývojáři však doporučují používat spíše verzi 2.4.6. Pokud však má GIMP ve své vývojové verzi funkci, kterou nemůžete postrádat, zůstanete u méně stabilní (což neplatí vždy) verze 2.5.2. Čísla verzí berte s rezervou, byla aktuální na přelomu července a srpna 2008. Typický stable repozitář tedy bude obsahovat verzi 2.4.6.

Repozitáře typu unstable oproti tomu obsahují nejnovější verze programů, obvykle v různých vývojových verzích (beta či alfa stádium, případně RC verze) a jsou určeny zkušenějším uživatelům. Není u nich prováděna zásadnější kontrola a leccos nemusí fungovat. Je to v podstatě opačný extrém než u balíčků dodávaných s distribucí. Problémy se stabilitou vývojových verzí můžete častečně vyřešit tím, že budete instalovat pouze beta či RC verze, které bývají stabilnější a dotaženější než verze alfa. Všechny takto vydané programy jsou určeny k testování a nejsou tedy určeny pro nasazení ve firemním prostředí, kde se očekává naprostá stabilita a spolehlivost. Představte si, že daná funkce nebude dobře naprogramována a vy přijdete o svou práci, kterou jste třeba celé dopoledne dávali dohromady. I to se přihodí. Ovšem pokud jste vyložený kaskadér, můžete vyzkoušet vše, co se objeví. Bývá to totiž tak, že někdo, kdo má daný repozitář a balíčky v něm na starosti, prostě balíček vytvoří a přidá. Žádné další dodatečné úkony se většinou nedělají. Můžete tak „dojet“ na závislosti či chybějící balíčky atd. Ale to se prostě u těchto repozitářů stává.

Další dělení, které můžeme u repozitářů použít, je dělení na oficiální a neoficiální zdroje. Vytvořit si svůj vlastní repozitář je totiž velmi jednoduché. Kdokoliv, kdo bude znát jeho adresu, jej může používat. S neoficiálními repozitáři se dostáváte do situace podobné jako u unstable repozitářů. Nikdy totiž nemůžete vědět, jestli autor vše sestavil správně a zároveň nepodsunul cokoliv „závadného“. Tuto informaci nelze chápat jako striktní odmítnutí neoficiálních repozitářů, jedná se spíše o dobře míněné varování. Neoficiální repozitáře obvykle přicházejí s programy, které tvůrci distribucí nezařadili, nebo nechtějí zařadit, ať už jsou jejich důvody jakékoliv. Je jasné, že testování balíčků určitě nepodléhá tak přísným standardům jako u oficiálních repozitářů. Někdy je to však jeden z mála způsobů jak do vaší distribuce dostat balíček s patřičným programem. Pokud se však „zadaří“ a vaše distribuce padne na kolena, obvykle se vám od uživatelské podpory dostane odpovědi ve stylu: „To máte tím, že používáte neoficiální repozitáře.“ Pro domácí využití je to asi v pořádku, ve firemním si však musíte dávat větší pozor. Neznamená to totiž, že všechny neoficiální zdroje jsou v nepořádku a že je nemá smysl používat. Nejlépe však mluví zkušenosti samotných uživatelů či domovské stránky různých komunit kolem distribucí. Tam vám obvykle poradí, který repozitář můžete použít.

Je jasné, že v době, kdy nějakou distribuci používají tisíce či miliony uživatelů, nemůže jeden oficiální server s repozitáři stačit. Proto se začala využívat technika tzv. zrcadlených serverů. Jedná se o sadu několika serverů, které se snaží být synchronizovány tak, aby obsahovaly kompletně stejný obsah, v našem případě balíčky. Jeden z repozitářů je určen jako hlavní, všechny ostatní jej tzv. zrcadlí, tj. neustále aktualizují tak, aby byly stejné. Z tohoto pohledu je nejlepší, pokud uživatelé z Česka používají zrcadlené servery (někdy také označované termínem mirrory či zrcadla), které jsou umístěny v Česku, Rusové v Rusku a Francouzi ve Francii. Zátěž se tak rozloží. Někdy je také dobré zkusit zrcadlený server v jiném časovém pásmu tak, abyste jej využili v noční době. Obecně je provoz na serverech v noci nižší, proto je výhodné např. odpoledne využít asijské servery, kde již mají noc.

Nestává se moc často, že by oficiální repozitáře trpěly nějakými výpadky, děje se tak většinou pouze při vydání nové verze, kdy jsou všichni uživatelé natěšeni a snaží se svou oblíbenou distribuci co nejdříve zaktualizovat. Proto jsou zaváděny zrcadlené servery, které riziko omezují na minimum. Pravděpodobnost, že by bylo přetíženo třeba 30 serverů, je obvykle velmi malá.

Repozitáře jednotlivých distribucí

A jak už to tak v Linuxu bývá, i repozitáře nemají napříč distribucemi jednotnou strukturu. Každá používá svůj vlastní model. Přiznám se, že nastudovat repozitáře každé distribuce je trochu problém. Obvykle znám jen ty, které jsou určeny pro mou distribuci. Pokusím se udělat malý souhrn repozitářů alespoň pro distribuce, o kterých od začátku seriálu hovoříme jako o těch nejpoužívanějších. Pokud tam neobjevíte tu svou, nebuďte zklamaní a zkuste se podívat na domovskou stránku této distribuce, bude tam určitě popsána.

Řada distribucí navíc disponuje grafickou nadstavbou balíčkovacího systému, která má integrovánu funkci pro přidání potřebných repozitářů, takže ani nemusíte provádět složité příkazy na příkazové řádce. Vše je dostupné na několik kliknutí. Navíc existují i webové nástroje, které umí řešit přidání repozitářů bez nutnosti provádění dalších hledání. Příkladem je třeba EasyURPMI (pro distribuci Mandriva) nebo YaST Package repositories (pro openSUSE).

Repozitáře Mandrivy

Abych vám trochu ulehčil hledání, pokusil jsem se najít informace o repozitářích u jednotlivých distribucí. Začnu Mandrivou. Ta má celkem tři repozitáře – main, contrib a non-free. Main obsahuje všechny podporované balíčky se svobodným softwarem, contrib obsahuje oficiálně nepodporované svobodné aplikace a non-free obsahuje podporovaný nesvobodný software. Každý z těchto repozitářů je ještě rozdělen na čtyři druhy a to narelease (všechny balíčky tak, jak byly zveřejněny v době příchodu Mandrivy v té které verzi na trh), updates (obsahuje aktualizace oficiálních balíčků), testing (obsahuje aplikace, které budou brzy zařazeny do oficiální distribuce, pokud je v nich nalezena chyba, je opět zveřejněna nová verze do testing) a poslední je backports (obsahuje nejnovější balíčky s posledními stabilními verzemi programů, nejsou však oficiálně podporovány). Repozitář obsahující neodzkoušené a vývojové verze balíčků a programů se v Mandrivě nazývá cooker (trefné pojmenování, v angličtině je to výraz pro vařič).

Repozitáře Ubuntu

Distribuce Ubuntu přichází se čtyřmi oficiálními repozitáři. Jsou to main (svobodný software, plně podporovaný), restricted (nesvobodný software, plně podporovaný), universe (svobodný software, ale distribucí nepodporovaný) a poslední je multiverse (nesvobodný a nepodporovaný software).

Repozitáře openSUSE

Distribuce openSUSE nabízí repozitáře Oss (svobodný a podporovaný software), Non-oss (nesvobodný a podporovaný software) a Update (balíčky s opravami). Těm statečným a pokročilým pak nabízí ještě Src-oss a Src-non-oss (balíčky se zdrojovými kódy) a Debug.

Repozitář PCLinuxOS

Distribuce PCLinuxOS má jeden repozitář rozdělený na čtyři části a to main, extra, non-free a kde. Pro více informací o jejich obsahu se podívejte na zde.

root_podpora

U všech distribucí jsou k dispozici také neoficiální repozitáře, kterých je opravdu hodně, nebál bych se někdy mluvit o tzv. polooficiálních, neboť se o nich píše na domovských stránkách distribucí, nejsou však zařazeny do oficiálního stromu, a obvykle jsou hojně používány.

Závěr

Závěrem bych chtěl říct, že nemám zkušenost se všemi distribucemi a informace čerpám z oficiálních fór či stránek. Pokud je něco jinak, neváhejte a napište to do diskuze pod článkem, pomůžete tak začátečníkům. Uvítám i informace o jiných, zde nezmíněných distribucích (mějte však na paměti – myslete na začátečníky).

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

Autor článku

Pracuje na pozici IT architekta pro firmu zabývající se zpracováním ropy a výrobou produktů z ní. Navrhuje rozličná řešení a jejich integraci do firemní infrastruktury na základě firemních standardů bezpečnosti nebo plánů obnovy.