Yum használata - parancssor alapjai

Korábbi cikkünkben megismertettük az olvasót a csomagkezelés alapjaival, majd a Fedora alapértelmezett csomagkezelőjének a yumnak fontos beállításairól írtunk. Soron következő cikkünkben a yum alapvető parancssoros funkcióit és használatát ismertetjük meg.

A yum parancssoros használatakor érdemes figyelembe venni, hogy míg a csomag adatbázist olvashatjuk felhasználóként, addig annak módosításához, vagy csomag telepítéshez root jogra van szükségünk. A csomag keresést tehát felhasználóként is megoldhatjuk, de minden más művelethez rendszergazdai jogot kell szereznünk.

Erre több lehetőség is kínálkozik. A

su -

parancs kiadásával és a root jelszó begépelésével rendszergazda promptot kapunk. Ez abban az esetben könnyítheti meg a munkánkat, ha sok különböző csomagot kívánunk telepíteni vagy módosítani több lépésben. Biztonságosabb viszont parancsonként külön megadni a rendszergazda jelszót. Ehhez használhatjuk a

su -c 'parancs'

formulát, egyszeres idézőjelek közé helyezve a rendszergazdaként kiadni kívánt parancsot.

Az első fontos funkció amivel érdemes megismerkedni az a keresés:

Kereséshez a search, list, és info yum parancsokat használhatjuk.
A search paranccsal kifejezésre kereshetünk a csomagok nevében és leírásában. Példánkban egy fájlkezelőt keresünk, így keressünk rá a commander kulcsszóra:

yum search commander
============================== Matched: commander ================================================ 
mc.i386 : User-friendly text console file manager and visual shell 
clonekeen.i386 : "Commander Keen: Invasion of the Vorticons" clone 
firecontrol.i386 : A console oriented tool for Linux to access a FireWire bus 
gnome-commander.i386 : A nice and fast file manager for the GNOME desktop 
gpm.i386 : A mouse server for the Linux console. 
gpm-devel.i386 : A mouse server for the Linux console. 
krusader.i386 : An advanced twin-panel (commander-style) file-manager for KDE 
p7zip-plugins.i386 : Additional plugins for p7zip 
subcommander.i386 : Graphical UI for subversion 
tuxcmd.i386 : Tux Commander: file manager with 2 panels side by side using GTK2 
tuxcmd-gvfs.i386 : GVFS module for Tux Commander file manager 
tuxcmd-modules.i386 : Modules for Tux Commander file manager

A kimenetből látszik, hogy nem csak fájlkezelőket talál. Sőt azt sem tudjuk, hogy mely programok telepítettek, illetve, hogy hol találjuk meg őket. Hogy többet tudjunk meg az egyes csomagokról, használjuk az info parancsot:

yum info mc
Name       : mc 
Arch       : i386 
Epoch      : 1 
Version    : 4.6.2 
Release    : 7.pre1.fc10 
Size       : 5.2 M 
Repo       : installed 
Summary    : User-friendly text console file manager and visual shell 
URL        : http://www.ibiblio.org/mc/ 
License    : GPLv2 
Description: Midnight Commander is a visual shell much like a file manager, only with 
many more features. It is a text mode 
           : application, but it also includes mouse support. Midnight Commander's 
best features are its ability to FTP, view 
           : tar and zip files, and to poke into RPMs for specific files.

Így megkaptuk a csomag fejlécében lévő információkat. Látszik, hogy a program már telepítve van, mivel a tároló megnevezésénél az installed szó szerepel:

Repo       : installed

Ezen kívül egyéb hasznos információkat is kiolvashatunk, mint a verziószámot, a program weboldalának címét, valamint a „Description” részben egy rövid összefoglalót a programról.
Tovább haladva a gondolatmeneten, nézzük meg, hogy mi a helyzet egy másik fájlkezelővel, a Tux Commanderre. Adjuk ki a már ismert parancsot:

yum info tuxcmd
Name       : tuxcmd 
Arch       : i386 
Version    : 0.6.50 
Release    : 4.fc10 
Size       : 798 k 
Repo       : fedora 
Summary    : Tux Commander: file manager with 2 panels side by side using GTK2 
URL        : http://tuxcmd.sourceforge.net/ 
License    : GPLv2+ 
Description: Tux Commander is open-source file manager with 2 panels side by side 
written for GTK2. The main goal of this 
           : project is to create powerful user-friendly file manager for Linux. 
Functionality can be further extended by 
           : pluggable VFS (virtual file system) modules.

Látható, hogy ez a csomag a Fedora tárolóban található, így még nincs telepítve:

Repo       : fedora 

Viszont ennek kimenete nem egészen az, amit látni szeretnénk, ugyanis ebből több csomag is van. Ez esetben nyugodtan használhatunk joker karaktereket a keresési kulcs megadásakor. Ezeket egyszeres: '' idézőjelekbe kell tenni.

yum info 'tuxcmd*'
Available Packages 
Name       : tuxcmd 
Arch       : i386 
Version    : 0.6.50 
Release    : 4.fc10 
Size       : 798 k 
Repo       : fedora 
Summary    : Tux Commander: file manager with 2 panels side by side using GTK2 
URL        : http://tuxcmd.sourceforge.net/ 
License    : GPLv2+ 
Description: Tux Commander is open-source file manager with 2 panels side by side 
written for GTK2. The main goal of this 
           : project is to create powerful user-friendly file manager for Linux. 
Functionality can be further extended by 
           : pluggable VFS (virtual file system) modules. 

Name       : tuxcmd-gvfs 
Arch       : i386 
Version    : 0.6.50 
Release    : 4.fc10 
Size       : 21 k 
Repo       : fedora 
Summary    : GVFS module for Tux Commander file manager 
URL        : http://tuxcmd.sourceforge.net/ 
License    : GPLv2+ 
Description: This package contains networking GVFS module for Tux Commander file 
manager. 
 
Name       : tuxcmd-modules 
Arch       : i386 
Version    : 0.6.50 
Release    : 4.fc10 
Size       : 169 k 
Repo       : fedora 
Summary    : Modules for Tux Commander file manager 
URL        : http://tuxcmd.sourceforge.net/ 
License    : GPLv2+ 
Description: The tuxcmd-modules package contains extra VFS (virtual file system) modules extending Tux Commander's 
           : functionality:  * libarchive plugin - handles TAR/GZ/BZ2 archives  * ZIP 
plugin 

Így már bőséges információkat kaptunk a keresett csomagokról. Viszont ha nincs szükségünk ennyi információra, csak az elérhetőség és a csomagnév a fontos, használhatjuk a list yum parancsot az info helyett. Az előbbi példák egyszerűsítve:

yum list mc
Installed Packages 
mc.i386                                             1:4.6.2-7.pre1.fc10                                             installed 
yum list tuxcmd 
Available Packages 
tuxcmd.i386                                               0.6.50-4.fc10                                                fedora 
yum list 'tuxcmd*' 
Available Packages 
tuxcmd.i386                                                   0.6.50-4.fc10                                            fedora 
tuxcmd-gvfs.i386                                              0.6.50-4.fc10                                            fedora 
tuxcmd-modules.i386                                           0.6.50-4.fc10                                            fedora 

Ekkor csak a csomag nevét, verziószámát és elérhetőségét látjuk egy táblázatba rendezve.

Miután megtaláltuk a szükséges csomagokat, megkezdhetjük a telepítést az install yum parranncsal.
Az install nem csak a kijelölt csomagot telepíti, hanem az ahhoz kötődő esetleges függőségeket is. A példánknál maradva:

yum install tuxcmd
Loaded plugins: allowdowngrade, refresh-packagekit

Excluding Packages in global exclude list
Finished

Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package tuxcmd.i386 0:0.6.50-4.fc10 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================

 Package                     Arch                      Version                             Repository                   Size

========================================================================================

Installing:

 tuxcmd                      i386                      0.6.50-4.fc10                       fedora                      798 k
Transaction Summary

========================================================================================

Install      1 Package(s)         

Update       0 Package(s)         

Remove       0 Package(s)         


Total download size: 798 k
Is this ok [y/N]: y
Downloading Packages:

tuxcmd-0.6.50-4.fc10.i386.rpm                                                                         | 798 kB     00:00     

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction

  Installing     : tuxcmd                                                                                                1/1 

Installed:

  tuxcmd.i386 0:0.6.50-4.fc10                                                                                                

Complete!

Ezután leellenőrizhetjük a csomagot ismént a list parancsot használva:

Installed Packages

tuxcmd.i386                                              0.6.50-4.fc10                                              installed

Természetesen nem csak telepíteni tudunk yum használatával, hanem csomagokat eltávolítani, vagy frissíteni is. Ehhez használjuk a remove vagy erase parancsokat. Vigyázat! Nem csak szükséges függőségek települnek, de eltávolításkor törlődnek is. Ezért csomag eltávolításkor nem ajánlott a -y kapcsoló használata és lehetőleg mindig ellenőrizzük az eltávolításra kijelölt csomagok listáját.

yum remove tuxcmd
Loaded plugins: allowdowngrade, refresh-packagekit

Setting up Remove Process
Resolving Dependencies

--> Running transaction check
---> Package tuxcmd.i386 0:0.6.50-4.fc10 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================
 Package                    Arch                     Version                             Repository                     Size

========================================================================================
Removing:

 tuxcmd                     i386                     0.6.50-4.fc10                       installed                     2.1 M

Transaction Summary

========================================================================================
Install      0 Package(s)         

Update       0 Package(s)         

Remove       1 Package(s)         


Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction

  Erasing        : tuxcmd                                                                                                1/1 

Removed:

  tuxcmd.i386 0:0.6.50-4.fc10                                                                                                

Complete!

Csomagok frissítéséhez a update parancsot használhatjuk. Amennyiben csomag megjelölése nélkül adjuk ki:

yum update

Akkor a yum az összes elérhető frissítést telepíteni fogja. Viszont ha kifejezetten egy (vagy több) csomagot jelönünk ki frissítésre, akkor csak a felsorolt csomagokat frissíti, de nem telepít újakat, abban az esetben sem, ha a frissítésnek szüksége lenne rájuk.
Létezik még egy upgrade parancs is, ami inkább disztribúció frissítésre szolgál.

Több összetartozó csomagokt csoportokba is rendezhetnek. Ez nagy mennyiségű csomagok telepítésekor, vagy új alblakkezelő telepítésekor megkönnyítheti a dolgunkat. Ilyen csoportok kezelséhze külön yum parancsok tartoznak. Nézzük át röviden ezeket:

Csomag csoportok között kereshetünk a groupinfo és a grouplist.
Érdemes a grouplist paranccsal kezdeni. Ezt kiadva listát kapunk az összes elérhető és telepítt csomagról:

yum grouplist
Loaded plugins: allowdowngrade, refresh-packagekit

Setting up Group Process

Installed Groups:
   Ablakkezelők
   Adminisztrációs eszközök
   Alap
   Betűkészletek
   Bevitel eljárások
   GNOME asztal környezet
   Grafika
   Grafikus Internet
   Hardvertámogatás
   Haskell fejlesztés
   Hálózat kiszolgálók
   Iroda/termelékenység
   Java
   Játékok és szórakozás
   Kiszolgálóbeállító eszközök
   LXDE
   Levelező kiszolgáló
   MySQL adatbázis
   Nyomtatás támogatás
   Rendszereszközök
   Szerkesztők
   Szöveg-alapú internet
   Technika és tudomány
   Telefonos hálózat támogatása
   Webkiszolgáló
   X ablakrendszer
   Író és kiadó
   Örökölt betűkészletek

Available Groups:

   DNS névkiszolgáló
   FTP-kiszolgáló
   Fedora Eclipse
   Fedora csomagoló
   Fejlesztő programkönyvtárak
   Fejlesztőeszközök
   Fürtözés
   GNOME szoftverfejlesztés
   Hang és videó
   Hálózat kiszolgáló örökség
   Hírkiszolgáló
   Java fejlesztés
   KDE (K asztal környezet)
   KDE szoftverfejlesztés
   Oktatóprogramok
   PostgreSQL adatbázis
   SUGAR asztal környezet
   Szoftverfejlesztés örökség
   Virtualizáció
   Webfejlesztés
   Windows fájlkiszolgáló
   X szoftverfejlesztés
   XFCE
   XFCE szoftverfejlesztés
Done

Látható, hogy a csoportok nevei az adott lokalizációnak megfelelően jelennek meg, esetünkben magyarul. Abban az esetben, ha a csoport neve egy szóból áll, a továbbiakban úgy hivatkozunk rá. Ha viszont több szóból áll a neve, azt mindenképpen teljesen ki kell írni, méghozzá egyszeres - '' - idézőjelek közé:

'Windows fájlkiszolgáló'

A grouplist parancs után megnevezett csoportról mindössze azt az információt kapjuk, hogy telepített vagy elérhető.

yum grouplist 'Windows fájlkiszolgáló'
Loaded plugins: allowdowngrade, refresh-packagekit

Setting up Group Process

Available Groups:

   Windows fájlkiszolgáló

Done

A groupinfo parancs – a korábban megismert logikából következően - az egyes csoportokról ad rövid tájékoztatást. A leírásokon kívül részletesen felsorolja a csoportba tartozó csomagokat is. Ezeket 3 részre bontva sorolja. Először a kötelezően települő (telepítendő) csomagokat (Mandatory Packeges). A második részben felsorolja azokat, melyek nem kötelezőek ugyan, de a csoporttal együtt települni fognak (Default Packages). Majd végül az egyéb telepíthető, de alap esetben nem települő csomagokat sorolja fel (Optional Packages).

Hasonlóan a yum alapparancsaihoz, a group parancsok is használhatóak telepítére (groupinstall), eltávolításra (groupremove) és frissítésre is (groupupdate).

További hasznos yum parancsok, és részletesebb leírás található a yum kézikönyvében:

man yum

A következő részben a yum grafikus felületeit mutatjuk be, elsősorban a Yum Extenderre koncentrálva.