Urpmi na maximum — nastavení zdrojů softwaru

logo-mandrivaDistribuce Mandriva Linux pracuje s balíčkovacím systémem urpmi. V prvních dvou dílech jsme si celý systém představili a ukázali si, jak instalovat či odebírat balíčky. Tento díl vám představí práci s repozitáři.

Používané databáze a indexy

Systém urpmi pracuje především s lokální databází rpm, uloženou v adresáři /var/lib/rpm. Tato databáze obsahuje kompletní informace o všech nainstalovaných balíčcích. Rpm využívá formát db3, nicméně vlastní správu databáze si zajišťuje sám.

Systém urpmi dále používá lokálně uložené seznamy balíčků (tzv. hdlisty a indexy ve formátu XML, které jsou z důvodu úspory místa komprimovány – mají proto příponu lzma. Tyto soubory jsou uloženy v podadresářích se jménem repozitáře (ve /var/lib/urpmi/) a obsahují vybrané informace o balíčcích, které jsou k dispozici ve zdrojích balíčků (repozitářích).

Urpmi umí využívat vlastní zdroje (repozitáře, které si vytvoříte na svém disku, vypálíte na CD/DVD, uložíte na flash disk ap.). Z nich si balíčky a informace o nich obstarává obdobně jako ze vzdálených repozitářů a pracuje s nimi (např. instaluje) zcela stejně, jako s kterýmkoli jiným zdrojem. Jak si připravit soukromý repozitář, se dozvíte v jednom z příštích dílů. Zdroje softwaru – repozitáře – tedy mohou být různého druhu:

Lokální:

  • místní soubory (typicky na pevném disku počítače)
  • výměnná média (CD či DVD ROM, flash disky atd)

Vzdálené:

  • FTP server
  • HTTP server
  • rsync server

Pokud nejsou v systému správně nastaveny zdroje balíčků, systém urpmi nemá odkud vzít seznamy instalovatelných balíčků, ani balíčky samotné. Instalace proto nebude fungovat.

Nastavení zdrojů – příkazy

Příkaz pro nastavení zdroje lze použít ve dvou formátech. První je následující:

urpmi.addmedia [volby] --distrib --mirrorlist adresa

Parametr --distrib vytvoří všechny repozitáře ze zdroje uvedeného v adresáři. Standardně používaný je právě tento příkaz a konkrétně pro 32bitovou architekturu pro Mandriva Linux 2009 Spring vypadá následovně:

urpmi.addmedia --distrib --mirrorlist 'http://api.mandriva.com/mirrors/basic.2009.1.i586.list'
urpmi.addmedia --distrib --mirrorlist 'http://plf.zarb.org/mirrors/2009.1.i586.list'

Druhý řádek zajistí přidání PLF zdrojů, kde je umístěno množství balíčků zajišťujících práci s multimédii. Oba příkazy si lze nechat vygenerovat na stránce projektu easy-urpmi. Pro 64bitovou verzi pak použijte tyto příkazy:

urpmi.addmedia --distrib --mirrorlist 'http://api.mandriva.com/mirrors/basic.2009.1.x86_64.list'
urpmi.addmedia --distrib --mirrorlist 'http://plf.zarb.org/mirrors/2009.1.x86_64.list'

Pokud jako správce zadáte uvedený příkaz do konzole, nainstalují se všechny standardní zdroje Mandriva Linuxu, tedy Main, Contrib a Non-Free, dále aktualizační zdroje (v názvu “update”), ale také všechny zdroje s vývojovými balíčky (repozitáře mající v názvu slova “backports” a “devel” či “testing”; tyto balíčky jsou automaticky označeny příznakem ignore (vysvětlení níže v textu). Lze jen velmi důrazně doporučit tyto repozitáře nepoužívat, pokud si nejste úplně jisti tím, co děláte. Instalací vývojových verzí balíčků si můžete systém snadno znefunkčnit).

Uvedený příkaz obsahuje oproti následujícím možnostem jeden zásadní rozdíl; vlastní zdroje balíčků nejsou nastaveny “natvrdo”. Systém si automaticky vybírá nejdostupnější (zpravidla geograficky nejbližší) server a balíčky pak stahuje z něho.

Druhou možností je přidat příslušný zdroj “natvrdo”, tedy konkrétní server, adresář atd. Obecný příkaz vypadá následovně:

urpmi.addmedia [volby] jmeno_zdroje adresa

Nepovinné volby prozatím přeskočíme. Název zdroje si doplníte podle své volby (nesmí však obsahovat mezeru; pokud obsahuje mezeru, musí být celý název v uvozovkách; např. “Můj zdroj číslo jedna”). Adresa se nastavuje podle typu zdroje:

  • [file:/]/cesta
    Je parametr určený pro zdroj umístěný na pevném disku (lokální). Zadává se adresář, kde jsou umístěny balíčky a soubor hdlist.cz, s celou cestou. Soubor hdlist.cz obsahuje jejich seznam a základní informace a bez něho není repozitář funkční. Jak se vytváří, uvedu níže. V daném adresáři (nebo podadresáři media_info) mohou (ale nutně nemusí) být indexové soubory obsahující další informace o balíčcích – soubory *.xml.lzma.
  • removable://
    Totéž pro zdroj umístěný na výměnném médiu, jako je CD, DVD, flash disk ap. Celý příkaz pak například zní: urpmi.addmedia CD01 removable://media/cdrom
  • ftp://login:heslo@host/cesta
    Je příkaz určený pro FTP archivy. Jde o nejobvyklejší volbu. Většina internetových repozitářů přístupové údaje nevyžaduje (oficiální servery Mandrivy rozhodně ne), tedy parametry login, heslo a host lze vynechat. Zadává se tedy pouze cesta (viz následující příklad). Některé repozitáře jsou ale určeny pouze pro platící přispěvatele a tam je pak zadání přihlašovacích údajů nezbytné.
  • ftp://host/cesta
    Nastavení volně dostupného zdroje. Cesta k balíčkům v tomto případě ukazuje na archiv umístěný kdesi na internetu. Výše zmíněné potíže s dostupností automaticky vybíraných serverů lze obejít nastavením repozitářů na spolehlivých serverech. Za takový je považován např. ftp://ftp.free.fr. Příkazy v tomto konkrétním příkaze vypadají následovně (pro 32bitovou verzi):

    urpmi.addmedia --distrib ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/2009.1/i586
    urpmi.addmedia --distrib ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/cfg/2009.1/i586

    Pro 64 bitů je to s malou, ale pro funkčnost systému zcela zásadní odlišností:

    urpmi.addmedia --distrib ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/2009.1/x86_64
    urpmi.addmedia --distrib ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/cfg/2009.1/x86_64

    Pro odstranění vývojových repozitářů platí totéž, co bylo uvedeno výše.

  • http://host/cesta
    Obdoba nastavení repozitáře na FTP serveru; “http” na počátku říká systému, že má použít jiný protokol. Preferované servery jsou FTP. V některých případech je FTP protokol blokován nastavením poskytovatele sítě (různé firemní servery ap.); pak se možnost HTTP velmi hodí, přesto, že protokol není pro přenosy velkého objemu dat zcela vhodný.

Zdroje, které si nastavíte, se objeví v souboru /etc/urpmi/urpmi.cfg. Jednotlivé zdroje jsou odděleny prázdným řádkem. U každého zdroje je uvedeno několik informací. Vedle názvu, adresy ap. jsou pro vás zajímavé příznaky ignore – zdroj je ignorován, tedy nepoužíván. Smazáním řádku se slovem ignore jej aktivujete a zdroj je okamžitě funkční. Dalším důležitým příznakem je update. Zdroj je považován za aktualizační a z něj stahovány balíčky s aktualizacemi.

Doporučujeme vám podívat se na stránku projektu Easy Urpmi, kde si jednoduše vyberete, co potřebujete a vygenerované příkazy zkopírujete do správcovské konzole a spustíte. Nastavení zdrojů je hotové do pěti minut včetně stahování hdlistů.

Další užitečné parametry programu urpmi.addmedia

Při spuštění programu urpmi.addmedia lze použít následující parametry (kompletní seznam získáte po spuštění příkazu urpmi.addmedia --help):

parametry pro stahování:

--wget pro stahování souborů použije program wget. Obdobný parametr je pro stahovače curl, prozilla, aria2
--limit-rate omezí rychlost stahování, např. --limit-rate 100K omezí šířku pásma při stahování na 100 KB. Download neobsadí celou šířku pásma a během práce programu lze provozovat i jiné internetové aktivity.
--proxy použije zadanou HTTP proxy, výchozí port je 1080. Pro přihlášení k proxy serveru lze použít formát je proxyhost[:port]).
--proxy-user uživatel a heslo, které se má použít pro ověření přihlášení k proxy serveru. Formát parametru pak je uživatel:heslo.
--xml-info použít zadané nastavení pro stažení souborů s xml info. Dostupné volby jsou:

  • never – nikdy
  • on-demand – na požádání
  • update-only – pouze při aktualizaci
  • always – vždy

Parametry pro práci se zdrojem (repozitářem)

--update nastaví vytvářený zdroj (repozitář) jako aktualizační, případně vyřadí neaktualizační zdroje (při použití s --distrib)
--distrib automaticky vytvoří všechny zdroje z instalačního média.
--interactive spolu s --distrib se zeptá na potvrzení u každého zdroje
--all-media spolu s --distrib přidá všechny zdroje ze seznamu
--from pro získání seznamu zrcadel se použije zadané URL, výchozí URL je http://www.mandrivalinux.com/mirrorsfull.list

8 komentářů

  1. Petr | 09.07.2009 | 21:34 | Odpovědět

    A proto Linux nepouzivam 🙂 Hroada nastaveni aby to vubec jelo

  2. Peťoš Šafařík | 09.07.2009 | 21:39 | Odpovědět

    @ Petr Nic z toho tady NENI nutne.
    1.) Vsechno z toho tady napsaneho, se da naklikat
    2.) Jsou to volby, nikoli povinosti.

    Projdi si seriál o dračích nástrojích, co píšu. IMHO to zvládne používat i lama, co nevi, k cemu je dobry terminal…

  3. Ivan Bíbr | 09.07.2009 | 22:36 | Odpovědět

    >A proto Linux nepouzivam 🙂 Hromada nastaveni aby to vubec jelo

    Píšete nesmysly – tohle je článek pro pokročilé uživatele, běžná lama se s tím nikdy nesetká, protože nemusí (na všechno má grafické nástroje, které ji vedou doslova za ruku) .

  4. Tomáš Malý | 10.07.2009 | 08:23 | Odpovědět

    Vůbec nechápu, o čem se tu bavíte. Co má lama společného s počítačem? A co je to IMHO, to je nějaká organizace? Zkuste se bavit srozumitelně, ať Vás pochopí i začátečník.

  5. Aleš Černý | 10.07.2009 | 20:33 | Odpovědět

    @ Tomáš Malý
    a co strýčka Googla, toho taky neznáte? http://www.google.cz

    IMHO: 1. odkaz http://www.zkratky.cz/IMHO/12314
    lama: 6. odkaz http://lama.webzdarma.cz/categories/2-Lama-hlaky

  6. Peťan | 10.07.2009 | 21:30 | Odpovědět

    Zde se nejlépe hodí Peťošovo motto: Linux je user-friendly… ale své přátele si vybírá

    Velká pravda.

  7. aksavaden | 11.07.2009 | 05:25 | Odpovědět

    Protoze jsem to taky poradne nevedel co to je IMHO a Lama tak jsem se to pokusil najit:
    IMHO – In My Humble Opinion – podle mého skromného názoru.
    Je to anglicka zkratka
    a kdyz jsem zadal Lama vyslo mi tohle:
    Lamy známé též jako velbloudi Jižní Ameriky, jsou zvířata z čeledi velbloudovití
    Ale nejspis je tim mysleno neco jako
    Lama = začatečník
    Myslim ze jestli je Linux user-friendly nebo ne je uplne jedno
    🙂

  8. Hobil | 14.07.2009 | 11:40 | Odpovědět

    Ahoj,
    “A proto Linux nepouzivam 🙂 Hroada nastaveni aby to vubec jelo”
    Jak zde jiz bylo receno, na zakladni nastaveni staci graficka utilita – rpmdrake alias drakrpm. Tenhle serial byl cilen na uzivatele, kteri chteji neco vic, nez se da naklikat mysi. Vyhody pouzivani urpmi oproti graficke utilite jsou zmineny v uvodnim clanku.
    H.

Leave a comment

Sorry, you must be logged in to post a comment. Login