Portál AbcLinuxu, 29. dubna 2024 13:11

Jak vytvořit vlastní repozitáře software

30.6.2008 12:58 | Přečteno: 2214× | (open)SUSE | Výběrový blog | poslední úprava: 1.7.2008 05:51

Alespoň pro mne je jedním z největších problémů, souvisejících s Linuxem, jeho přílišná orientace na připojení k internetu - většina software je uložena pouze v repozitářích, ke kterým se lze dostat pouze s (poměrně rychlým) připojením k internetu. Jak vyřešit tento problém, není-li podobné připojení k dispozici?

Jediným způsobem jak se odpoutat od závislosti na internetu je vytvořit si vlastní zdroje (repozitáře), které jsou uloženy na nějakých přenosných médiích. Ty již lze vzít kamkoliv a tam již vesele instalovat aniž by se v blízkosti vyskytovala ona kouzelná zásuvka, přes kterou se dostaneme na tu věc zvanou internet.

K tomu, aby bylo možno si přenosné repozitáře na DVD vytvořit, je paradoxně opět nutné mít internet, a to dostatečně rychlý. Nezbývá nám tedy nežli zajít k nějakému známému nebo někde jinde postahovat internetové repozitáře, které chceme vypálit na DVD. Dejme tomu, že podobnou možnost máme a chceme si vytvořit offline edici například openSUSE 11.0, pro jednoho domácího staříka ve verzi i386 a pro jiný novější kousek x86_64.

Jako první krok je třeba si stáhnout instalační DVD openSUSE 11.0 pro obě architektury, například odtud. To lze provést čímkoliv, takže tomu bych se více nevěnoval. Následuje krok spočívající ve stažení oficálních repozitářů openSUSE 11.0. K tomu lze použít mocný nástroj wget, kterému musíme ale říci, co přesně má stahovat. Běžnému domácímu uživateli jsou určitě zbytečné různé debug balíčky (přípona *debug*.rpm a balíčky se zdrojovými kódy *.src.rpm), proto wget omezíme tak, aby dané balíčky nestahoval. Zároveň nemáme zájem o balíčky pro architektury PPC a PPC, wgetu tedy stahování těchto souborů zakážeme a to volbou --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm. Další užitečné volby udrží wget v adresáři, odkud začínáme stahování (-np), odkud chceme rekurzivně projet všechny podadresáře (-r), přičemž chceme, aby wget na lokálním disku vytvářel adresáře, tak, jak jsou na zvoleném serveru (-x). Kdyby náhodou došlo k přerušení stahování a wget by bylo nutné spouštět znovu, je vhodné přidat ještě volby -nc -c, které po restartu wgetu zajistí přeskočení již stažených souborů a navázání souborů poškozených. Oficiální repozitáře tedy stáhneme příkazy:
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm ftp://mirror.karneval.cz/pub/opensuse/11.0/repo/oss/suse/ (svobodný software)
a
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm ftp://mirror.karneval.cz/pub/opensuse/11.0/repo/non-oss/suse/ (nesvobodný software)

Nyní nezbývá, než počkat než se stáhnou požadované soubory a po stažení soubory se shodnou architekturou (třeba i586) zkopírovat do jedné složky. Mezi staženými soubory se samozřejmě vyskytují i soubory, které jsou již obsaženy na stažených instalačních DVD openSUSE, a je třeba se jich zbavit. Ideálním pomocníkem pro tento krok je Krusader (nebo jiný dvoupanelový filemamager), ve kterém je třeba si v jednom panelu otevřít ISO staženého DVD (přesněji podadresář openSUSE-11.0-DVD-i386.iso/ISO9660/suse/i586 uložený v ISO obrazu). V druhém panelu je pak třeba si otevřít adresář se staženými soubory z repozitáře (například ~/mirror.karneval.cz/pub/opensuse/11.0/repo/non-oss/suse/i586). Volbou Porovnat adresáře (v Krusaderu menu Úpravy -> Porovnat adresáře, případně klávesovou zkratkou Alt+C), dojde k výběru souborů tak, že v adresáři, ve kterém pracujeme se vyberou všechny soubory a v druhém adresáři se vyberou soubory, které ve vzorovém adresáři nejsou. Nejvýhodnější je tedy za pracovní adresář zvolit adresář v iso souboru. Pak se v adresáři na disku označí soubory, které na DVD obsaženy nejsou. Pak již stačí jen invertovat výběr (Alt+*) a smazat soubory, které na DVD obsaženy jsou. Totéž je pak potřeba udělat i pro adresáře noarch a x86_64 z ISO souboru pro architekturu x86_64.

Nyní je třeba rozdělit data tak, aby bylo možné je vypálit na DVD. V tomto konkrétním případě postačí jako jedno DVD zvolit složky i586, i686 a noarch, obsah druhého DVD pak budou tvořit složky noarch a x86_64. K vytvoření plnohodnotných repozitářů je však ještě potřeba vygenerovat metadata, která čte YaST při přidání instalačních zdrojů, k tomu je třeba mít nainstalovanou utilitu createrepo. Přesuňme nyní adresáře i586, i686 a noarch pod společný adresář DVD2-i586. V tomto adresáři je třeba spustit createrepo:
createrepo -v ./
Takto získáme plnohodnotný repozitář, který lze nyní vypálit na DVD a přidat mezi instalační zdroje YaSTu. Toto je třeba provést i s druhým DVD.

Jelikož nejen oficiálním distribučním softwarem živ je člověk, je vhodné stáhnout ještě několik dalších zdrojů. Alespoň pro mne jsou zásadními:
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm ftp://packman.iu-bremen.de/suse/11.0/
- Packmanův repozitář, obsahuje značné množství aplikací, her a dalších detailů, které nejsou dostupné v distribučních zdrojích (například MPlayer, plně funkční Xine)
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm ftp://ftp5.gwdg.de/pub/opensuse/repositories/KDE:/Community/openSUSE_11.0/
- různé doplňky pro KDE (aplikace, témata apod.)
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm ftp://ftp5.gwdg.de/pub/opensuse/repositories/KDE:/Backports/openSUSE_11.0/
- totéž v bledě modrém
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm ftp://ftp5.gwdg.de/pub/opensuse/update/11.0/rpm/
- poslední updaty pro openSUSE 11.0
wget -nc -c -x -r -np --reject=*.ppc.rpm,*.ppc64.rpm,*debug*.rpm,*.src.rpm ftp://ftp.pbone.net/mirror/www.videolan.org/pub/videolan/vlc/SuSE/11.0/
- repozitář vynikajícího přehrávače VLC, který obsahuje též další knihovny pro dekódování zvuku a videa, nebo například i libdvdcss pro přehrávání šifrovaných DVD na Linuxu

Vypálením uvedených instalačních zdrojů na DVD tak lze získat mobilní verzi openSUSE, kterou lze použít kdekoliv na jakémkoliv běžném počítači bez připojení k internetu. Pravda, všechny zmíněné instalační zdroje dají dohromady dalších 5 DVD ke dvěma základním, nicméně množství obsaženého softwaru na těchto médiích si obětování pěti kousků zaslouží.

       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

30.6.2008 13:28 pnemec | skóre: 8 | blog: jotter
Rozbalit Rozbalit vše Re: Jak vytvořit vlastní repozitáře software
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobre, i když trochu moc roztáhlé (na můj vkus). Každopádně doporučuji kouknout na modul pro YaST: add on creator.
yast2 add-on-creator help
Umí toho o dost více. Včetně projektů, podepisování, vlastní work-flow. A samozřejmě spouštění ze skriptů.
pushkin avatar 30.6.2008 14:46 pushkin | skóre: 43 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Jak vytvořit vlastní repozitáře software
Rozsáhlé je to úmyslně, pokud se o něco podobného bude pokoušet začátečník, bude raději, když se mu do ruky dostane obsáhlejší a detailní popis (alespoň mě by se to tak víc líbilo :-) ).

Na toho YaSTa mrknu, díky za upozornění.
30.6.2008 23:23 laco
Rozbalit Rozbalit vše Re: Jak vytvořit vlastní repozitáře software
Dobrý zápis.
26.1. 17:24 Smokers World HW
Rozbalit Rozbalit vše Re: Jak vytvořit vlastní repozitáře software

Smokers World HW Breeze Pro is a convenient and user-friendly vaping device designed for simplicity and portability. These disposable vapes come pre-filled with e-liquid and are equipped with an integrated battery, eliminating the need for charging or refilling. The HW Breeze Pro is known for its compact and lightweight design, making it an ideal choice for on-the-go vaping.

Featuring a draw-activated mechanism, users can enjoy a hassle-free vaping experience without the need for buttons or complicated settings. The device is often disposable, making it suitable for both beginners and experienced vapers who prefer a straightforward and no-maintenance solution. With a variety of available flavors, the Smokers World HW Breeze Pro aims to provide a convenient and enjoyable vaping experience for users seeking simplicity and convenience.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.