Správce balíků
-=-=-=-=-=-=-=-=
Thus spake the master programmer:
"When the program is being tested, it is too late to make design
changes."
-- Geoffrey James, "The Tao of Programming"
Ani balíky ve formě archívů nedostačovaly. Díky poněkud odlišné
adresářové struktuře UNIXu, nejsou soubory jednoho programu v jeho
adresáři ale roztroušené po disku (UNIX má například standardní
adresář /etc pro všechny konfigurační soubory, /lib pro knihovny
apod.). Díky tomu nebylo úplně jasné, co se má všechno smazat,
aby se program odinstaloval. Proto brzo vznikly jednoduché
package managery, které si pamatovaly soubory jednotlivých balíků
a na požádání je zobrazili či smazaly. Podobnou věc dnes najdete
ve W95.
Časem přibývaly další vymoženosti - balík mohl mít script, který
provedl jeho konfiguraci po rozbalení (nastavení proměných apod.)
nebo před smazáním zametl, soubor s krátkým popisem balíku pro
uživatele apod.
Distribuce Debian a RedHat toto ale povýšily na mnohem vyšší
úroveň. Jejich správci balíků už neobsahují jednoduché archivy s pár
speciálnímy soubory, ale jsou mnohem chytřejší. O balík se starají
už od jeho kompilace. Autor balíku vezme originální zdrojový
program, vytvoří patch, který umožní program správně zkompilovat a
potom napíše script, který se postará o správnou kompilaci a
instalaci. To potom spolu s popisem balíku a dalšími věcmi napíše do
specifikačního souboru a správce balíku potom něho automaticky
vytvoří zdrojový balík. Ten obsahuje veškeré důležité informace pro
kompilaci na dané distribuci. Jednoduchým příkazem pak kdokoli může
automaticky balík překompilovat. To ohromně zjednodušuje správu
distribuce zejména v případech, že je z nějakého důvodu nutné
překompilovat všechny balíky (objevila se nová knihovna či
překladač), nebo distribuci převédst na novou platformu.
Po kompilaci balíku vznikne binární balík. Ten se bez potíží
může automaticky nainstalovat a nakonfigurovat. Navíc ale se umí
víceméně automaticky updatovat. Pokud si přinesete novou verzi,
jednoduchým příkazem provedete update bez jakékoliv ztráty dat či
konfigurace (většinou). To lze provádět i ve velkém měřítku a proto
pokud vyjde nová verze distribuce, pouze zavoláte updatovací script,
zvolíte co přidat a je to. Není nutná žádná reinstalace.
Správci balíků mají i nepřeberné množství dalších vymožeností,
jako závislosti mezi balíky (pokud jeden balík ke své činnosti
potřebuje další) apod. Díky tomu je správa takové distribuce velmi
snadná.
výheň