02.10.2011

Práce s balíčky ve Fedoře

Jak pracovat s balíčky rpm. Jak s nimi pracovat a co umožňují aplikace rpm a yum.

Nejprve si představíme instalaci aplikací z repozitáře pomocí konzolové aplikace "yum". Yum slouží k instalaci programů a k jejich aktualizaci. Repozitáře jsou určitá uložiště s kterými aplikace komunikuje přes http nebo https (port 80, 443).

Aktualizovat systém je pak možné provést následujícím příkazy:

yum update
yum upgrade

Aplikace nejprve stáhne seznam aplikací z webu a pak verze porovná s již nainstalovanými balíčky. Tuto keš se soubory je možné odstranit a vyvolat tak znovu staží toho restříku pomocí příkazu:

yum clean all

Pro instalaci vyhledávání a mazání pak slouží následující příkazy, které není potřeba dlouho představovat:

yum search <název programu> 
yum install <název programu>
yum remove <název programu>

Jak již bylo zmíněno, aplikace se stahují z repozitářů, které jsou umístěny na serveru. Seznam všech repozitářů používaným v systému získáme příkazem

yum repolist
repo id                jméno repa                                         status
Dropbox                Dropbox Repository                                      4
Java_esmska            Packages for esmska (common)                            3
fedora                 Fedora 15 - x86_64                                 24 085

Jednotlivé udaje o repozitářích jsou uloženy ve složce /etc/yum.repolist.d/ s příponou ".repo".  Jednotlivý soubor vypadá následovně:

[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

Občas se taky hodí instalace přímo celých skupin balíčků, například grouplist "Desktop".

yum grouplist
yum groupinstall <nazev skupiny>

Mnohem zajímavější je však program rpm. Který nám umožňuje práci s již instalovanými balíčky. Vhodné pro řešení problémů v systému. Nejprve si představíme příkaz, který nám vypíše všechny instalované balíčky.

rpm -qa
rpm -ql <název balíčku>

Příklad: 

$ rpm -ql vim-X11
/usr/bin/evim
/usr/bin/gex
/usr/bin/gview
/usr/bin/gvim
/usr/bin/gvimdiff
/usr/bin/gvimtutor
/usr/bin/vimx
/usr/share/applications/fedora-gvim.desktop
/usr/share/icons/hicolor/16x16/apps/gvim.png
/usr/share/icons/hicolor/32x32/apps/gvim.png
/usr/share/icons/hicolor/48x48/apps/gvim.png
/usr/share/icons/hicolor/64x64/apps/gvim.png
/usr/share/man/man1/evim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/gvimdiff.1.gz

Následujícím příkazem pak zpětně můžeme získat název balíčku podle vybraného souboru.

rpm -qf <cesta k souboru>

Příklad:

$ rpm -qf /etc/my.cnf 
mysql-libs-5.5.14-2.fc15.x86_64

Aktualizace balíčku, který máme stážený na disku a není záskaný z repozitáře je možné aktualizovat následujícím příkazem.

rpm -Uvh *.rpm

V prípadě instalace nového balíčku stačí použít parametr -I, popřípadě smazání balíčku je možné provést pomocí parametru -e.

rpm -e <nazev baličku> #smaže balíček
rpm -i <nazev baličku> #instalace balíčku

V případě že chceme aktualizovat starším balíčkem, je potřeba přidat parametr --oldpackage.

V tomto článku jsem přiblížil základní použití a práce s balíčky pomocí rpm a yum. Jedná se však pouze o základní informace. Veškeré možnosti jsou samozřejmě dostupné v manuálové stránce.