Každá distribuce Linuxu má způsob, jak spravovat softwarové balíčky. Kromě instalace softwaru jeho kompilací ze zdroje používá CentOS dva příkazy pro správu balíčků:nízkoúrovňový RPM a vysokoúrovňový YUM příkaz.
Pokud jste někdy přemýšleli, co YUM znamená, je to zkratka pro Yellow Dog Updater, Modified. Jedná se o správce balíčků na vysoké úrovni, který na pozadí používá nástroj pro správu balíčků RPM. Jak se tedy liší od RPM? Ukážu vám to za chvíli.
Instalace balíčků pomocí YUM na CentOS
Pro ilustraci si nainstalujme balíček s názvem httpd , což je webový server Apache. Použijeme yum install httpd takto:
yum install httpd
Jakmile tento příkaz zadáte, projde spousta textu a budete vyzváni, abyste pokračovali stisknutím klávesy „y“.
Než to uděláte, podívejte se na výše uvedený text:můžete vidět název balíčku, jeho architekturu, verzi, úložiště a velikost. Také můžete vidět, že instaluje pět dalších balíčků jako závislostí, celkem 6 nainstalovaných balíčků.
RPM vs. YUM: Když nainstalujete balíček prostřednictvím RPM , možná budete potřebovat nějaké další balíčky. Tyto závislosti se nazývají závislosti . Někdy to může vést k peklu závislosti , protože například balík_a mají závislost nazvanou package_b a balík_b, na oplátku použijte package_c jako závislost. Package_c může mít, uhodli jste, package_d jako závislost a tak dále.
Musíme tedy stáhnout nejen package_a ale také package_b ,package_c a tak dále. Některé balíčky mohou vyžadovat až 100 závislostí. Dalším problémem je, že musíme nainstalovat přesnou verzi balíčku závislostí, která odpovídá balíčku man. O to všechno se postará YUM.
Stiskněte y , a ještě jednou a je hotovo.
Užitečný tip:pokud jste si jisti, co děláte, můžete vše automaticky přijmout pomocí -y přepněte na příkaz yum. Například:
yum -y install httpd
Úložiště
Úložiště jsou místa na internetu, kde jsou uloženy všechny balíčky. Ty jsou evidentně někde nakonfigurovány. V CentOS jsou úložiště uložena jako soubory v /etc/yum.repos.d složka. Můžeme se podívat na jeho obsah.
/etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo
Všechny repozitáře (neboli „úložiště“ ), definované se soubory končícími na .repo jsou již nakonfigurovány, když nainstalujeme minimální CentOS.
V CentOS 6 nepotřebujeme spravovat balíčky pomocí yum ke stažení rpm balíček, protože je k dispozici ve výchozích úložištích. Zkusme to tedy nainstalovat přes yum . Příklad:
yum -y install epel-release
Nyní se podívejme na obsah /etc/yum.repos.d/ znovu.
ls /etc/yum.repos.d/ CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Vault.repo epel.repo epel-testing.repo
Můžeme vidět nové souboryepel.repo a epel-testing.repo. Definují úložiště se stovkami dalších balíčků pro CentOS, RedHat, Scientific Linux a několik dalších klonů RedHat. Existuje dokonce způsob, jak zobrazit všechna úložiště a množství balíčků, které obsahují, pomocí jednoho příkazu yum, yum repolist.
yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.t-2.net * epel: mirrors.netix.net * extras: centos.t-2.net * updates: centos.t-2.net repo id repo name status base CentOS-6 - Base 6,713 epel Extra Packages for Enterprise Linux 6 - x86_64 12,506 extras CentOS-6 - Extras 43 updates CentOS-6 - Updates 319 repolist: 19,581
Zde můžete vidět, že epel úložiště obsahuje úžasných 12 514 balíčků.
Výpis nainstalovaných balíčků
Ukázal jsem vám to v RPM článek o tom, jak vypsat nainstalované balíčky pomocí rpm -qa. Můžete je také uvést pomocí yum pomocí nainstalovaného seznamu možnosti.
yum list installed
Jeho výstup je trochu jiný než ten, který získá rpm příkaz. Je na vás, abyste se rozhodli, který z nich použijete.
Odebrání balíčků
Odebrání balíčku je snadné, stačí použít erase možnost při použití yum , následovaný názvem balíčku.
yum erase -y epel-release
Podobné jako RPM , nemusíte specifikovat verzi balíčku, stačí název balíčku.
Nainstalujme jej znovu, protože jej budeme znovu potřebovat v článku.
yum -y install epel-release
Vyhledávání balíčků
Balíčky z nainstalovaných úložišť můžete vyhledávat pomocí možností vyhledávání následovaných vzorem. Prohledá pouze název balíčku a souhrn, ale pokud nenajde shodu, bude hledat v popisu a adrese URL. Chcete-li například vyhledat balíčky, které mají ve svém názvu/souhrnu/popisu/URL httpd, měli byste zadat:
yum search httpd
Mnoho balíčků ukazuje, že některé z nich nemají v názvu balíčku httpd. Místo toho jej uvidíte v popisu, například mod_auth_mellon.
Možná jste si všimli, že vyhledávání nerozlišuje malá a velká písmena, takže se nemusíte bát, zda hledáte httpd , Httpd nebo HTTPD.
Načíst informace o balíčku
Před instalací můžeme získat více informací o určitém balíčku pomocí yum vyhledávání následovaný názvem balíčku. Zkusme to s httpd balíček.
yum info httpd
Zobrazuje se o každé informaci:její název, architektura, přesná verze a vydání, velikost a také takové věci, jako například ze kterého repozitáře byl nainstalován.
Zobrazí pouze informace o balíčku přesně nazvaném httpd. Protože může přinést více výsledků, a my chceme informace o všech balíčcích, které spustí s httpd, můžeme použít i divoký znak.
yum info httpd*
Závěr
Po dlouhé době, kdy RPM byl převládající způsob instalace softwaru, mňam je dnes preferovaným způsobem instalace softwaru na operační systémy Linux kompatibilní s RedHat.
YUM byl vždy k dispozici, ale verze, které bylo možné nainstalovat ihned po vybalení, byly většinou zastaralé. Dnes výrobci softwaru často nabízejí novější verze pomocí yum pomocí instalace úložiště přes .rpm soubor. Pokud tedy chcete například nainstalovat nejnovější balíček PHP, nainstalujeme úložiště, které nabízí tuto konkrétní verzi PHP. Yum je dnes výkonnější než kdy jindy a díky tomu, že se s ním lépe seznámíte, můžete mnohem snazší správu Linuxu.