rpm - a SuSE Linux csomagkezelője

Terméktámogatási adatbázis (ke_rpm)
Következőkre vonatkozik

SuSE Linux: Verziók a következő dátum óta: 5.0

Az 5.0 verziótól kezdve az rpm (Red Hat Package Manager) része lett a SuSE Linux disztribúciónak. Ez a módszer könnyebbé tette az összes felhasználó számára (felhasználók, rendszeradminisztrátorok) a csomagok kezelését. Az RPM adatbázis részletes információkkal szolgál a telepített szoftverekről is.

Egyszerűsítve, az rpm három különféle üzemmódban működik:

Most az utolsó két pontot tárgyaljuk.

A telepíthető RPM archív csomagok speciális bináris formátumban tárolódnak. Ezek az csomagok tartalmazzák a telepítendő (program)fájlokat, és különféle ún. meta információkat amely a telepítés során lesz felhasználva az rpm által (a program beállításához és dokumentációs célokra is szolgál). Az RPM csomagok nevükben a .rpm végződést kapják.

Csomagok kezelése : telepítés, frissítés és eltávolítás :

Egy RPM csomag telepítése egyszerű paranccsal érhető el:

        rpm -i csomag.rpm

A csomag csak akkor telepíthető ezzel a paranccsal, ha az összes "függőség" rendben van és nem ütközik más telepített csomagokkal. Az rpm figyelmeztet egy hibaüzenetben, ha szükséges még egyéb csomagok telepítése a függőségek miatt. Egy fájl normál esetben csak egyetlen csomagba tartozhat. Természetesen felülbírálhatja ezt a szabályt, néhány opció használatával. Jegyezze meg, hogy ez esetben pontosan tudnia kell, mit tesz. Ez az út megnehezítheti a további frissítéseket is egyes csomagok esetében.

Az -U opció, vagyis a --upgrade érdekes lehet, ha frissíteni szeretné a programot egy későbbi verziót tartalmazó csomaggal. A régebbi verzió törlésre kerül, ezután az új verzió települ. Az rpm megpróbálja gondosan kezelni a beállításokat tartalmazó fájlokat is. A következő stratégiát használja erre:

Minden egyes frissítés után ellenőrizze az rpm által készített biztonsági másolatokat (a .rpmorig végződéssel); ezek a régi beállítási fájlok. Ha szükséges, kézzel írja át a változásokat, ezután törölje a .rpmorig fájlokat.

Ha el szeretne távolítani egy csomagot, egyszerűen adja ki a következő parancsot:

rpm -e csomagnév

Az rpm csak egyszerűen eltávolítja a csomagot, ha nincsenek függőségei. Például lehetetlen eltávolítani a TCL/TK csomagot, amíg egyes szoftverek használják ezt a programot. Az RPM az adatbázis segítségével képes ezt ellenőrizni.

Ha lehetetlen törölni egy csomagot, pedig nincs feloldatlan függősége, segíthet az RPM adatbázis újbóli felépítése a --rebuilddb opció használatával (lásd a tippeket az RPM adatbázis részben).

Lekérdezések:

A -q opció (vagyis query) egy lekérdezést kezdeményez. Használható RPM csomagokhoz (-p csomagnév opcióval) és az RPM adatbázishoz. A kívánt információ meghatározható a következő kapcsolókkal:

-i
megjeleníti a csomaginformációlat
-l
megmutatja a csomag fájllistáját
-f FILE+
megmutatja a csomagot, amely tartalmazza a FILE fájlt. A FILE nevét a teljes elérési útvonallal együtt kell megadni!
-s
A fájlok állapota (a -l opcióval)
-d
Csak a dokumentációs fájlok megmutatása (a -l opcióval)
-c
Csak a beállítási fájlok megmutatása (a -l opcióval)
--dump
Az összes bejelölhető információ megmutatása minden egyes fájlra (a -l, -c vagy -d opciókkal használható!)
--provides
a csomagtulajdonságok megtekintése
--requires, -R
a csomag függőségeinek megtekintése
--scripts
a különféle telepítő és eltávolító szkriptek megmutatása

Például a következő parancs

        rpm -q -i rpm
az alábbi információkat jeleníti meg:

Name        : rpm                     Distribution: SuSE Linux
Version     : 2.4.1                         Vendor: SuSE GmbH
Release     : 1                         Build Date: Wed Jun 18 14:46:53 1997
Install date: Sat Jun 21 12:01:21 1997  Build Host: Fibonacci.suse.de
Group       :                           Source RPM: rpm-2.4.1-1.src.rpm
Size        : 1365662
Packager    : feedback@suse.de
URL         : (none)
Summary     : Red Hat Package Manager
Description :
RPM is a powerful package manager, which can be used to build, install,
query, verify, update, and uninstall individual software packages. A
package consists of an archive of files, and package information,
including name, version, and description.

A -f opció csak akkor működik, ha a teljes fájlnevet megadja annak elérési útvonalával együtt. Tetszőleges számú fájl megadható, pl:

        rpm -q -f /bin/rpm /usr/bin/wget

A visszakapott eredmény:

        rpm-2.4.1-1
        wget-1.4.5-2
Ha csak a fájlnév egy részét ismeri, használjon a következőhöz hasonló shell szkriptet (a fájlnevet meg kell adni a szkriptnek paraméterben):
        #! /bin/sh
        
        for i in `rpm -q -a -l | grep  $1 `; do
            echo "$i" a következő csomagban van:
            rpm -q -f $i
            echo ""
        done
Az adatbázis használható ellenőrzési célokra is. A lekérdezéseket használja a -V opcióval (mint a -y vagy --verify). Ezekkel az opciókkal az rpm megmutatja az összes fájlt, amely változott a csomag által tartalmazott eredeti verzióhoz képest. Az rpm több mint 8 karaktert jelenít meg a fájlnév előtt, amely a következő változásokat jelzi:
5
MD5-ellenőrzőösszeg
S
fájlméret
L
szimbolikus link
T
módosítás ideje
D
eszköz
U
felhasználó
G
csoport
M
mód (a jogokkal és a típussal)

A beállítási fájloknál c jelzés található. Pl. ha az /etc/wgetrc (a wget csomagból) megváltozott :

        rpm -V wget
        S.5....T c /etc/wgetrc

Az adatbázisról:

Az RPM adatbázis fájljai a /var/lib/rpm könyvtárban találhatók. Egy 500MB-os /usr partíción ez 20MB helyet foglal, tipikusan egy teljes frissítés után. Ha az adatbázis túl nagynak tűnik, segíthet egy újabb adatbázis létrehozása a meglévőből a --rebuilddb paraméterrel. Mindenesetre érdemes előtte egy biztonsági másolatot készíteni a régi adatbázisból.

Mindenesetre a cron.daily cron-szkript minden nap létrehoz egy tömörített másolatot az adatbázisról a /var/adm/backup/rpmdb könyvtárban, ha változás történt benne. Az adatbázis másolatainak száma megadható a MAX_RPMDB_BACKUPS környezeti változóban (alapértelmezett : 5) az /etc/rc.config fájlban. Számolhat 3 MB-ot minden mentésre (500 MB-os /usr partíció esetében). Vegye figyelembe ezt a tárhelyigényt, amikor meghatározza a root partíció méretét (kivéve, ha a /var külön partícióban foglal helyet).

Eszközök az RPM csomagokhoz:

A Midnight Commander (mc) lehetővé teszi az RPM csomagok tartalmának megtekintését vagy abból fájlok kimásolását. Az archív csomag tartalmát virtuális fájlrendszerként láttatja, éppen ezért a további kiegészítő funkciók használhatók a Midnight Commanderben : a "fájl" fejléce (HEADER) megnézhető az F3 billentyű lenyomásával. Bőngészhet az archívumban a kurzormozgató és az Enter billentyűkkel. A fájlok kimásolhatók az F5 billentyű megnyomásával. Pl. ezt még az Emacs sem támogatja ;-)

Az Alien (alien) csomaggal átalakíthatók a más disztribúciókból származó csomagok. Ezzel a módszerrel megpróbálhat átalakítani egy TGZ csomagot RPM csomaggá a telepítés előtt, ezért az RPM adatbázis megkapja a csomag információkat. Azért legyen elővigyázatos: az alien egy Perl szkript amely (a készítők elmondása szerint) jelenleg alfa állapotban van, az aktuális verziószáma 5.2, 5.19.


Kulcsszavak: RPM, PACKAGEMANAGER, PACKAGE, INSTALL, UPDATE, CSOMAGKEZELő, CSOMAG, CSOMAGOK, TELEPíTéS

Kategóriák:

SDB-ke_rpm, Copyright SuSE Linux AG, Nürnberg, Germany - Verzió: 08. Apr 1998
SuSE Linux AG - Utoljára frissítve: 14. Dez 2001 feladó: ke (sdb_gen 1.40.0)