Tato kapitola se zabývá instalací a správou softwaru ve vašem systému pomocí balíčků . Pokrývá také rozdíly mezi různými formáty unixových balíčků, jako jsou RPM, DPKG a Solaris.
Obsah
Úvod do balíčků
Všechny systémy Linux používají určitý druh systému balení softwaru pro zjednodušení procesu instalace a odebrání programů. Balíček je sbírka příkazů, konfiguračních souborů, manuálových stránek, sdílených knihoven a dalších souborů, které jsou spojeny s jedním programem, jako je Apache Webserver nebo Sendmail Mail Server, sloučené do jednoho souboru balíčku. Když je nainstalován, systém balíčků extrahuje všechny soubory součástí a umístí je na správná místa ve vašem systému. Protože systém ví, ze kterého balíčku každý soubor pocházel, když chcete balíček odstranit, ví přesně, které soubory odstranit.
Na téměř všech verzích Linuxu balíčky obecně obsahují zkompilované programy, které budou fungovat pouze na architektuře CPU, pro kterou byly zkompilovány. Protože Linux podporuje mnoho různých typů CPU (x86, Alpha a IA64 abychom jmenovali alespoň některé), některé programy mají balíčky zkompilované pro několik různých CPU. Balíček lze nainstalovat pouze na systém se správnou architekturou CPU – pokud není na architektuře nezávislý, v takovém případě se nainstaluje na jakýkoli typ systému. Programy napsané v jazycích jako Perl (jako Webmin) nebo balíčky, které obsahují pouze dokumentaci, jsou obvykle nezávislé na CPU.
Když je nainstalována distribuce Linuxu, téměř každý soubor, který je umístěn na pevném disku, je členem jednoho z balíčků distribuce. To usnadňuje odstranění nežádoucího softwaru, který byl nainstalován ve výchozím nastavení, nebo přidání dalšího softwaru z distribučního disku CD nebo webové stránky.
Protože fungování některých programů závisí na jiných programech, mohou mít balíčky také závislosti. Některé balíčky se nemusí nainstalovat, pokud jste předtím nenainstalovali jiný balíček, a některé balíčky nemusí být odstranitelné, pokud na nich jiné závisí. Tento systém závislostí chrání uživatele před instalací softwaru, který nebude fungovat kvůli chybějící sdílené knihovně nebo příkazu.
Protože systémy balíčků přesně vědí, které soubory jsou v každém balíčku, mohou tyto informace použít k ověření souborů po instalaci. Všechny systémy balíčků také sledují kontrolní součet MD5 pro každý soubor, takže lze detekovat jakékoli ruční úpravy souborů v balíčku. To může být velmi užitečné pro odhalování neoprávněných úprav, například od útočníka, který prolomil váš systém a nahradil důležité příkazy jako ls a najít s upravenými verzemi.
Bohužel na Linuxu existuje více než jeden systém balíčků. Nejběžnější je RPM, což je zkratka pro Redhat Package Manager. Používají ho Redhat, Caldera, SuSE, Mandrake, MSC a několik dalších distribucí Linuxu. Funguje to dobře a ve formátu RPM je k dispozici více softwaru než jakýkoli jiný systém balíčků. Instalace, dotazování a mazání RPM balíčků se provádí pomocí příkazu rpm shell.
Největším kandidátem na RPM je formát balíčku DPKG Debianu. V mnoha ohledech je technicky lepší, zejména pokud jde o závislosti - používá jej však pouze Debian a několik dalších distribucí. Příkazy dpkg a deselect se používají v příkazovém řádku ke správě balíčků Debianu.
Dalším balíčkovacím systémem je Gentoo's Emerge, který je dostupný pouze na Gentoo Linuxu. Největší rozdíl mezi Emerge a ostatními balíčkovými systémy je ten, že téměř všechny balíčky obsahují zdrojový kód, který se zkompiluje při instalaci balíčku. Veškerá instalace a správa balíků Gentoo se provádí pomocí příkazu emerge.
I když jsou tyto systémy balíčků vnitřně odlišné a používají nekompatibilní formáty souborů, všechny nabízejí v zásadě stejné funkce. Všechny umožňují sloučení více souborů souvisejících se stejným programem do jednoho souboru balíčku pro snadnou instalaci a odstranění a všechny závislosti na podpoře. Bohužel, jakmile si vyberete svou linuxovou distribuci, je velmi obtížné přejít na jiný balíčkovací systém, takže zůstanete u toho, co distribuce používá.
Na většině distribucí, které používají RPM, se balíčky instalují buď z distribučního CD, nebo se stahují z různých stránek na internetu. Debian Linux však obsahuje příkaz nazvaný apt-get který může automaticky stahovat a instalovat balíčky z úložiště provozovaného správci distribuce. Pokud balíček závisí na jiných, které ještě nejsou nainstalovány ve vašem systému, budou automaticky staženy a nainstalovány také. Protože všechny balíčky v úložišti jsou vytvářeny a spravovány stejnými lidmi, nekompatibility mezi nimi jsou sníženy a závislosti snadno vyřešeny. Úložiště také obsahuje balíček pro téměř každý bezplatný software, který byste si mohli chtít nainstalovat, takže nemusíte hledat na internetu požadovaný balíček.
Úložiště Debianu lze také použít k aktualizaci všech balíčků ve vašem systému na nejnovější verzi. Protože nové verze balíčků vycházejí často (zejména při používání nestabilních nebo testovacích vydání Debianu), aktualizace je snadný způsob, jak zajistit, že používáte nejnovější verzi všeho. Pokud však nemáte rychlé připojení k internetu, může to trvat dlouho, protože pro každou aktualizaci lze stáhnout mnoho nových balíčků.
Gentoo Linux Emerge systém má také úložiště, ze kterého mohou být balíčky automaticky stahovány a instalovány pomocí příkazu emerge. Stejně jako apt-get v Debianu v případě potřeby automaticky stahuje a instaluje balíčky potřebné k naplnění závislostí.
Systémy Redhat mají také přístup k úložišti balíčků jako součást sítě Redhat. To umožňuje vybrat aktualizované balíčky na webu Redhat a nainstalovat je automaticky nebo na vyžádání na více systémech. Na rozdíl od repozitářů Debian a Gentoo se obecně nepoužívá pro instalaci nových balíčků.
Modul softwarových balíčků
Modul Softwarové balíčky poskytuje konzistentní rozhraní pro instalaci, vyhledávání a odstraňování balíčků, nezávisle na aktuálním používaném balicím systému. Jeho ikonu najdete v kategorii Systém a kliknutím na ni se dostanete na hlavní stránku zobrazenou níže.
Hlavní stránka modulu Software PackagesV závislosti na vaší distribuci Linuxu může stránka vypadat mírně odlišně – mohou být viditelná další tlačítka a pole pro instalaci z úložiště. Nicméně horní část pro hledání balíčků, střední část pro instalaci balíčku a spodní část pro identifikaci souboru tam bude vždy.
Instalace nového balíčku
Než budete moci nainstalovat nový program pomocí tohoto modulu, musíte nejprve najít soubor balíčku pro něj ve správném formátu. U distribucí založených na RPM, jako je Redhat, jsou nejlepší místa, kam se podívat, distribuční CD nebo web rpmfind.net. Pokud používáte Debian Linux, je nejlepší zkusit instalaci z repozitáře APT, protože obsahuje téměř všechny dostupné balíčky. V každém případě jsou kroky pro instalaci balíčku podobné:
- Na hlavní stránce modulu přejděte dolů na formulář *Instalovat nový balíček*, který bude použit k výběru balíčku a zahájení procesu instalace.
- Pokud je soubor balíčku v systému, na kterém běží Webmin, vyberte Z místního souboru a zadejte úplnou cestu k souboru balíčku. Pokud váš systém používá balíčky RPM, můžete zadat adresář obsahující více souborů .rpm nebo zástupný znak jako /tmp/*.rpm také. To lze použít k instalaci několika balíčků najednou. Pokud je balíček v počítači, na kterém běží váš prohlížeč, vyberte Z nahraného souboru a klikněte na Procházet tlačítkem vyberte soubor balíčku. Pokud používáte prohlížeč na konzoli vašeho systému Webmin, není mezi touto a předchozí možností žádný rozdíl. Pokud je balíček někde na webové stránce, vyberte Z ftp nebo http URL a zadejte nebo vložte adresu URL do textového pole vedle ní. Webmin provede stažení za vás před zahájením instalace. Pokud váš systém používá balíčky RPM a máte nainstalovaný příkaz rpmfind, Search rpmfind.net na tlačítko vedle pole URL lze kliknout, aby se zobrazilo okno pro vyhledávání v databázi RPM na http://rpmfind.net/. Pokud používáte Debian Linux, můžete vybrat možnost *Package from APT* a zadat název balíčku do textového pole vedle ní. Klikněte na Hledat APT Pokud přesně nevíte, jak se jmenuje, najděte název balíčku. Pokud používáte Redhat Linux, Balík ze sítě Redhat Volba může být použita k instalaci jednoho z balíčků, které máte k dispozici ke stažení. Vyhledat RHN tlačítko lze použít k zobrazení všech dostupných. Pokud používáte Gentoo Linux, z úložiště Portage a Hledat tlačítka lze použít k instalaci z úložiště. Ve skutečnosti lze mimo repozitář nalézt jen velmi málo balíčků Gentoo.
- Po zadání zdroje balíčku klikněte na Instalovat knoflík. Pokud zvolíte instalaci z úložiště (jako je APT, Redhat Network nebo Portage), proces stahování a instalace se spustí okamžitě. Webmin zobrazí výstup z příkazu install a v případě úspěchu zobrazí seznam balíčků, které byly nainstalovány. K dokončení procesu instalace nejsou nutné žádné další kroky. Pokud byl vybrán jakýkoli jiný zdroj instalace, balíček se v případě potřeby stáhne a zobrazí se formulář možností instalace.
- Dostupné možnosti instalace se liší v závislosti na vašem systému balíčků, ale výchozí hodnoty budou fungovat dobře pro aktualizaci nebo instalaci balíčku bez problémů se závislostí. Systémy založené na RPM mají několik možností, z nichž nejužitečnější jsou:*Ignorovat závislosti? *Pokud se instalace balíčku nezdaří kvůli chybám závislostí, o kterých víte, že jsou nesprávné, nastavte tuto možnost na Ano . To může být také užitečné, pokud se chystáte instalovat balíčky k vyřešení problémů se závislostmi později. * Nahradit novou verzi starou? *Pokud chcete balíček downgradovat na starší verzi, tato možnost musí být nastavena na Ano . * Přepsat soubory? *Pokud balíček nelze nainstalovat kvůli konfliktům se soubory z jiného balíčku, povolte tuto možnost.
- Až budete s výběrem možností instalace hotovi, klikněte na tlačítko Instalovat knoflík. Pokud vše půjde dobře, zobrazí se stránka s podrobnostmi o novém balíčku a všech souborech, které obsahuje. Pokud se však instalace nezdaří, zobrazí se chybová zpráva s vysvětlením proč. V takovém případě se můžete pomocí tlačítka Zpět v prohlížeči vrátit do formuláře možností instalace a zkusit to znovu s jinými možnostmi.
Nalezení a odstranění balíčku
Typický systém Linux má stovky nainstalovaných balíčků, z nichž většina byla nainstalována jako součást instalačního procesu distribuce. Protože je jich tolik, je těžké je jednoduše procházet a najít ten, který chcete odstranit nebo si prohlédnout podrobnosti. Chcete-li najít balíček nebo balíčky, postupujte takto:
- Na hlavní stránce modulu zadejte hledané klíčové slovo do Vyhledat balíček pole. Toto bude porovnáno s názvy a popisy všech balíčků, takže můžete zadat něco jako apache najít vše, co souvisí s Apache.
- Klikněte na tlačítko Vyhledat balíček , které buď zobrazí seznam všech odpovídajících balíčků, přenese vás na podrobnosti o balíčku, pokud je nalezen právě jeden, nebo zobrazí chybovou zprávu, pokud žádný nebyl nalezen. Pokud se zobrazí seznam, kliknutím na jeden z názvů balíčku zobrazíte jeho úplné podrobnosti.
- Stránka s podrobnostmi o balíčku (zobrazená níže) zobrazí všechny dostupné informace včetně úplného popisu. Pokud chcete zobrazit všechny soubory, které obsahuje, klikněte na Seznam souborů knoflík. Tím se dostanete na stránku s cestou, typem, vlastníkem a skupinou a stavem ověření pro každý soubor. Stav je obzvláště užitečný, protože vám umožňuje zjistit, zda byl soubor od instalace balíčku změněn ručně.
Balíčky lze také procházet ručně kliknutím na tlačítko *Strom balíčku* na hlavní stránce. Na většině operačních systémů je každý balíček členem třídy, jako je Vývoj nebo Administrace/síť . Stránka stromu balíčků používá tyto informace o třídě k zobrazení všech nainstalovaných balíčků v hierarchii, podobně jako strom adresářů. Třídy můžete otevírat kliknutím na ikony jejich složek, dokud se nedostanete na úroveň balíčku. Kliknutím na ikonu balíčku se dostanete na stejnou stránku s podrobnostmi, jak je popsáno ve výše uvedených krocích.
Pokud znáte název příkazu nebo souboru a chcete najít balíček, ke kterému patří, Identify a File lze použít formulář na hlavní stránce. Zadejte buď úplnou cestu (jako /etc/rc.d/init.d/httpd) nebo příkaz (jako apachectl) do Hledat pole a stiskněte tlačítko. Pokud je soubor nebo příkaz systému balíčků znám, zobrazí se informace o něm spolu se seznamem balíčků, ke kterým patří. Kliknutím na jeden z názvů balíčků se dostanete na výše popsanou informační stránku.
Jakmile je balíček nalezen hledáním nebo procházením stromu, můžete jej ze systému odstranit podle následujících kroků:
- Na stránce s podrobnostmi o balíčku klikněte na Odinstalovat knoflík. Tím se dostanete na potvrzovací stránku s počtem souborů v balíčku a množstvím místa na disku, které zabírají.
- Pokud používáte systém balení RPM, Ignorovat závislosti? možnost může být nastavena na Ano vynutit odinstalaci, i když některé další balíčky závisí na odstranění tohoto.
- Klikněte na tlačítko Smazat tlačítko pro vyjmutí balíčku. Pokud se něco pokazí, zobrazí se chybová zpráva. V případě úspěchu se prohlížeč vrátí na hlavní stránku modulu nebo do seznamu výsledků hledání balíčků, pokud jste balíček našli pomocí vyhledávání.
Aktualizace v systému Debian Linux
Pokud používáte Debian Linux, ve spodní části hlavní stránky modulu bude formulář s nadpisem Upgrade All Packages . Tento formulář má tři možnosti, kterými jsou:
- Znovu synchronizovat seznam balíčků
- Pokud je tato možnost nastavena na Ano , bude repozitář balíčků Debian dotázán na získání nejnovějšího seznamu balíčků dostupných ke stažení. To by mělo být provedeno před jakýmkoli upgradem, aby váš systém věděl, ze kterých URL má stahovat při instalaci balíčků z repozitáře APT. Skutečný příkaz použitý k synchronizaci seznamu balíčků je apt-get update.
- Proveďte upgrade distribuce
- Když je tato možnost nastavena na Ano , váš systém Debian bude po odeslání formuláře aktualizován na nejnovější distribuční verzi. S výchozím nastavením Ne výběr, bude jednoduše aktualizován tak, aby všechny nainstalované balíčky byly nejnovější verze. Pokud nemáte rychlé síťové připojení a opravdu chcete upgradovat, je vhodné ponechat tuto možnost nastavenou na Ne . Když Ano je vybrán, spustí se příkaz apt-get upgrade-dist. Pro Ne , místo toho bude použit upgrade apt-get.
- Zobrazit pouze balíčky, které by byly upgradovány
- Pokud je nastaveno na Ano , při odeslání formuláře se ve skutečnosti nic nenainstaluje - místo toho se zobrazí seznam balíčků, které by se aktualizovaly nebo instalovaly. To může být užitečné, pokud chcete přesně vidět, co by se stalo při provádění aktualizace, než budete pokračovat ve skutečnosti.
Po provedení voleb klikněte na Upgradovat nyní knoflík. Webmin spustí příslušné příkazy apt-get a zobrazí jejich výstup, abyste viděli, které balíčky jsou staženy a aktualizovány.
Aktualizace na Redhat Linux
Redhat nabízí uživatelům své linuxové distribuce službu nazvanou Redhat Network. Jedna z jeho funkcí vám umožňuje mít aktualizované balíčky RPM automaticky nainstalované na váš systém, aby bylo možné opravit chyby nebo bezpečnostní díry, které se nacházejí v balíčcích dodávaných s distribucí. Pokud používáte Redhat Linux, bude formulář ve spodní části hlavní stránky pod nadpisem Možnosti sítě Redhat které můžete použít ke konfiguraci automatické instalace aktualizovaných balíčků. Než ji budete moci používat, musíte se zaregistrovat do sítě Redhat a zaregistrovat systém, na kterém Webmin používáte.
Formulář ve skutečnosti slouží dvěma účelům – změně nastavení aktualizačního démona, který pravidelně kontroluje nové balíčky, a vynucení okamžité aktualizace. Pole ve formuláři jsou:
- Automaticky vyhledávat aktualizace?
- Pokud je tato možnost nastavena na Ano , bude démon <>ttrhnsd, který kontroluje aktualizace, nakonfigurován tak, aby se spouštěl v době zavádění a v případě potřeby se spustí při odeslání formuláře. Nastavení na Ne zastaví démona a zabrání jeho spuštění při bootování.
- Interval kontroly
- Když je povolen automatický aktualizační démon, je počet minut mezi kontrolami nových balíčků určen touto volbou.
- Adresa URL serveru proxy ke stažení
- Pokud se váš systém nemůže připojit přímo k webu Redhat, budete muset tuto možnost nastavit na adresu URL webového proxy serveru. Musí být ve formátu http://proxy.company.com:8000/ .
- Přeskočit odpovídající balíčky
- Tato volba slouží k zadání seznamu vzorů pro názvy balíčků, které nechcete automaticky aktualizovat. Ve výchozím nastavení zabraňuje automatické instalaci aktualizací jádra.
Tlačítko Uložit a použít tlačítko uloží vaše nastavení a podle potřeby spustí nebo zastaví démona rhnsd. Uložit a zkontrolovat nyní tlačítko udělá to samé, ale také spustí up2date příkaz k okamžité kontrole a stažení nových balíčků. Zobrazí se veškerý výstup příkazu, takže můžete vidět, které balíčky jsou aktualizovány.
Další operační systémy
Linux není jedinou verzí Unixu, která používá balíčky pro zjednodušení procesu instalace a odebrání softwaru. Níže uvedené operační systémy mohou také používat modul Software Packages s téměř identickým uživatelským rozhraním. Každý má však svůj vlastní formát balení, který je nekompatibilní s Linuxem nebo jakoukoli jinou variantou Unixu. Rozdíly mezi systémem balíčků jednotlivých Unixů a RPM jsou vysvětleny níže :
Sun Solaris, SCO OpenServer a SCO UnixWare
Všechny tyto operační systémy používají stejný základní formát balíčku System V, ale balíčky z jednoho nelze nainstalovat na žádný z ostatních.
Soubory balíčků se obvykle jmenují něco .pkg nebo něco .pkg.gz. Pokud je soubor balíčku komprimován, Webmin jej automaticky dekomprimuje.
Soubory mohou obsahovat více balíčků, z nichž všechny se nainstalují při použití Webminu. - Pro balíčky System V neexistuje žádné úložiště balíčků ani vyhledávací služba. - Adresáře jako /usr/bin jsou často sdíleny mezi více systémovými balíčky.
FreeBSD, NetBSD a OpenBSD
Soubory balíčků mají názvy jako něco .tgz a jsou to vlastně jen speciálně naformátované soubory tar.
Webmin nepodporuje žádné úložiště pro balíčky BSD.
HP/UX
HP/UX používá svůj vlastní jedinečný formát balíčku Depot Soubory balíčků jsou obvykle pojmenovány jako něco .depot nebo něco .depot.gz. Pokud je balíček zkomprimován, Webmin jej automaticky rozbalí.
Webmin nepodporuje žádné úložiště pro balíčky HP/UX.