Portál AbcLinuxu, 26. dubna 2024 13:46

Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)

13. 6. 2007 | Vojtěch Gondžala
Články - Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)  

V posledním díle si vysvětlíme práci s ABS stromem a ukážeme, jak použít skript makeworld.

Úvod do ABS

ABS (The Arch Build System) není nic jiného než strom balíčků z repositářů Arch Linuxu, tedy přesněji řečeno PKGBUILDy, které slouží k sestavení balíčku. Běžně tento strom na svém počítači stažený nemáte; pokud jej chcete, je třeba spustit příkaz abs, který stáhne jeho aktuální podobu z cvs. Aby vám abs fungoval, musíte mít nainstalován balíček cvsup nebo csup.

ABS strom je umístěn v adresáři /var/abs, strom vypadá nějak takto:

/var/abs/
|-- base
|   |-- acl
|   |-- attr
...
|   |-- xfsprogs
|   `-- zlib
|-- community
|   |-- daemons
|   |   |-- abyssws
|   |   |-- anacron
...
|   `-- unixodbc
|-- editors
|   |-- gvim
|   `-- joe
|-- extra
|   |-- daemons
|   |   |-- autofs
...

K čemu využít strom ABS

Nejběžnějším použitím bude úprava parametrů při kompilaci, přidání nějaké vlastnosti či opatchování zdrojových kódů. Například pokud balíček je v repositáři zkompilovaný bez podpory OSS a vy ji vyžadujete, není nic jednoduššího, než si upravit PKGBUILD a balíček si znovu sestavit pomocí makepkg.

Zde je třeba pamatovat na pořádek a vlastní upravené PKGBUILDy dávat někam stranou. Nejlépe si vytvořit adresář /var/abs/custom a do něj si vždy zkopírovat celý adresář s PKGBUILDem který chceme upravit. Často totiž bývají u PKGBUILDu i patche. O tom, jak psát (upravovat) a pracovat s PKGBUILDy byl předchozí díl seriálu.

Síla optimalizace

V předchozím díle bylo také zmíněno, že v nastavení makepkg, který slouží k sestavování balíčku, lze nastavit optimalizaci pro procesor. Proto lze v extrémním případě zvažovat kompletní překompilování celého systému a tím dosáhnout optimalizace přímo na míru.

Právě k tomu slouží skript makeworld; spouští se:

/usr/bin/makeworld [volby] <cilovy_adresar> <kategorie> [kategorie] ...

Potom je vhodné v adresáři, kam se zkopírovaly hotové balíčky, vytvořit lokální repositář a ten si přidat do pacmana. Zajistíte tím řešení závislostí.

Tento postup ale s sebou nese několik nepříjemností: musíte si sami hlídat aktualizace, a pokud nechcete míchat vlastní balíčky s balíčky z repositářů, je vhodné používat jen lokální repositář a zakázat oficiální. Potom je ale třeba také pamatovat na závislosti, tedy mít všechny potřebné balíčky v lokálním repositáři.

Z těchto důvodů je makeworld vhodný, například pokud byste chtěli spravovat repositáře pro jinou než oficiálně podporovanou platformu. Pokud toužíte po optimalizovaném systému, Arch sice nabízí řešení, ale není tím pravým - je to sice možné, ale je třeba velké úsilí.

Závěr

Balíčkovací systém Arch Linuxu má jednoduché základy, je přehledný a snadno pochopitelný. Pacman dokáže systém udržovat v aktuální podobě a čistý bez balíčků, které by zůstaly nainstalovány jako nepotřebné závislosti.

Jestliže vám některý balíček nevyhovuje, není problém si jej díky ABS stromu upravit. Pokud něco chybí, není problém si vytvořit balíček. PKGBUILDy mají jednoduchou a přehlednou strukturu (nezapomeňte PKGBUILD poskytnout ostatním).

Pokud tedy hledáte distribuci, která je rychlá a flexibilní a má skvělý balíčkovací systém přístupný uživatelům, potom je Arch Linux jasná volba.

Doufám, že vám seriál přinesl užitečné informace a pomohl poodkrýt roušku tajemství pacmana a balíčků pro Arch Linux.

Seriál Balíčkovací systém Arch Linuxu (dílů: 4)

První díl: Balíčkovací systém Arch Linuxu - 1 (formát balíčků), poslední díl: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld).
Předchozí díl: Balíčkovací systém Arch Linuxu - 3 (PKGBUILD, makepkg, AUR)

Související články

Na co se často ptáme: Balíčkovací systémy
Seriál: Gentoo ebuild
Seriál: Rukověť baliče RPM
Balíčkovací systém Gentoo Linuxu - I
Balíčkovací systém Gentoo Linuxu - II
Balíčkovací systém Mandrake Linuxu
Seriál: Nebojíme se kompilace
„Archovský balíčkovač“ Pacman po třetí
Barevný pacman 3 (správce balíčků pro Arch)
Arch Linux

Další články z této rubriky

Úvod do Dockeru (1)
Paralelizace běžných činností v konzoli pomocí GNU Parallel
Unixové nástroje – 26 (triky pro práci v Bashi)
Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
Linux: systémové volání splice()

Diskuse k tomuto článku

13.6.2007 00:05 anonymous
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Odpovědět | Sbalit | Link | Blokovat | Admin
Optimalizovat je relativne slovo. Vacsina uzivatelov si ani nevsimne, ze im system ide o 1% rychlejsie, aj keby to bolo o 5%. Archlinux na serveroch nevidam vonkoncom, takze tam by som to nevidel a na desktope netreba. Treba sa drzat stareho dobreho "zachovaj kompatibilitu a nekompiluj, pokial mozes pouzit skompilovane".
kouzer avatar 13.6.2007 06:39 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdá se mi to nebo ta poslední věta zní jako, že už žádný díl nebude?
Linux user #448944.
13.6.2007 07:57 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Nezdá. Nápovědou by mohl být i perex... Ale třeba autor o Archu napíše ještě něco jiného.
kouzer avatar 13.6.2007 08:08 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Přesně to jsem myslel. Doufám, že autor napíše o archu i jiné články. ;-) Každopádně děkuji za zajímavý seriál.
Linux user #448944.
vogo avatar 13.6.2007 10:07 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
no hledám inspiraci, něco čím je Arch svůj... ale nějak nenacházím, je to prostě takový čistý systém :) možná init skripty, a init jako takový, konfigurace atd, ale o tom byly články na „konkurenčním“ webu, tak moc nevím...
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
13.6.2007 10:40 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Jo, init skripty byt mohly byt dobre. Spolu s resenim inicializace site (netcfg, profily, atd.). Stejne tak rc.conf a moznost vyberu sitoveho profilu pri bootu atd. atd. :-)
vogo avatar 13.6.2007 10:42 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
na tu síť bych se musel podívat, obvykle mi bohatě stačilo nastavit to v rc.conf :) dík za tip, po zkouškách na to bude času...
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
kouzer avatar 13.6.2007 10:45 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Za init skripty bych se také přimlouval. Myslím, že arch se má čím chlubit a nemusí to být nutně jen pacman. :-)
Linux user #448944.
vogo avatar 13.6.2007 10:49 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
no původně jsem přemýšlel o průvodci instalací, ale byl jsem předběhnut, možná by nebyla od věci recenze :) ta jako taková zatím na ABC není
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
kouzer avatar 13.6.2007 11:25 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Já osobně jsem taková linuxová lama (jak je vidět z toho co píšu na forum.archlinux.cz), ale průvodce instalací se mi zdá jako zbytečnost. Instalace archu je krásně jednoduchá a přehledná. :-) Pokud budeš psát recenzi, tak mě osobně se moc libila tato(dá-li se to tak nazvat). Ale raději bych viděl něco z technologického pozadí.. ;-)
Linux user #448944.
13.6.2007 06:47 f
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Odpovědět | Sbalit | Link | Blokovat | Admin
Nejlépe si vytvořit adresář /var/abs/custom

Presne na to uz existuje /var/abs/local ;)
14.6.2007 11:15 Radovan Makovsky | skóre: 4 | Brno
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Odpovědět | Sbalit | Link | Blokovat | Admin
Hmm. at koukam jak koukam tak proste na debiani Aptitude to proste nema, jako system je to rychly ale ta nemoznost cokoliv poradne najit bez aptitude me stvala, nebo archlinux obsahuje nejaky takovy nastroj?
kouzer avatar 14.6.2007 16:30 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Nechápu co je tím myšleno. Co chceš hledat? Balíčky (pacman -Ss cokoliv)?
Linux user #448944.
14.6.2007 23:24 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Rozbalit Rozbalit vše Re: Balíčkovací systém Arch Linuxu - 4 (ABS, makeworld)
Len doplnim ze v AUR sa hlada aurbuild -S balicek
*** Jabber (XMPP): fogo@jabber.cz ***

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