Arch Linux csomagkezelés
Az Arch Linux egyik legfontosabb építőköve, a pacman csomagkezelő sokban hasonlít az elterjedtebb disztribúciók megoldásaihoz (apt, yum), azonban egy-két esetben kényelmesebb a kezelése, illetve az Arch Build System-mel még rugalmasabbá teszi a csomagok menedzsmentjét.
Tartalomjegyzék |
1 Pacman áttekintés
1.1 A pacman használata
Csomagok telepítése:
pacman -S <csomagok>
Sajnos az apt-get csomagkezelővel ellentétben nem használható wildcard (*) a csomagok nevében.
Csomag keresés:
pacman -Ss <regex>
A regex pattern-re illeszkedő csomagokat listázza.
A pacman képes úgynevezett package group-okat kezelni, amik több különböző csomagot tartalmaznak, ezáltal nem kell minden egyes csomagot telepíteni kézzel. Ilyen csomag group például az X vagy gnome.
Egy package group csomagjainak listázása:
pacman -Sg <group>
Csomag eltávolítása:
pacman -R <csomag>
Csomagok frissítése:
pacman -Syu
Ez a parancs frissíti a csomagok listáját, és elvégzi azok frissítését. Látható, hogy sokkal tömörebb, mint az apt-get update && apt-get upgrade. Ezen kívűl a debian világból megszokott apt-get dist-upgrade szerű dologgal se kell foglalkozni.
A lokális csomag adatbázis lekérdezés:
pacman -QEgy csomag függőségi fáját a
pactree <csomag>paranccsal kérhetjük le.
Egy szembetűnő különbség a debian alapú disztribúciók csomagkezelésétől abból a tényből adódik, hogy az Arch Linux egy rolling release disztribúció, nincsenek release-ek (persze image snapshotok készülnek néha), ezáltal nem kell verziónként a tárolókat karbantartani, és a felhasznlónak mindig a legfrissebb csomagok érhetők el.
A pacman lényegesen eltér az apt/dpkg párostól abból a szempontból, hogy mind a repository-ból letöltött, mind a felhasználó által készített vagy harmadik féltől letöltött csomag kezeléséért egy program felelős.
Egy nem a repository-ból származó csomag telepítése:
pacman -U <csomag elérhetősége>
Érdekesség, hogy a csomag elérhetősége http url is lehet.
1.2 Pacman konfigurációs fájl
A tárolókból elérhető csomagok legtöbbször tar.gz tömörített állományok, újabban tar.xz (xz egy fájl formátum, mely az lzma2 algoritmusra épül).
A pacman beállításai a /etc/pacman.conf állományban érhetőek el.
1.2.1 Az options szekció
Egyes csomagok illetve csomagok csoportjának frissítése letiltható az alábbi módon:
IgnorePkg = <csomagok space-el elválasztva> IgnoreGroup = <csomag csoportok>
Ez az opció hasznos lehet például akkor, ha egy régebbi X verziót akarunk megtartani egy legacy videokártya driver miatt.
SyncFirst = <csomagok space-el elválasztva>
Ha frissítés érhető el az adott csomagokból, először azokat tölti le. Alapesetben ilyen maga a pacman csomag is.
CacheDir = <útvonal>
A pacman a csomagokat a megadott könyvtárba cache-eli. Több könyvtár is megadható.
CheckSpace
Ellenőrízze-e a pacman, hogy van-e hely a diszken.
SigLevel
Aláírás ellenőrzés módja.
1.2.2 Pacman tárolók
A pacman számára engedélyezett repository-k listája a /etc/pacman.conf fájlban szerkeszthető.
A három leggyakrabban használt tároló: core, extra, community
Lehetséges a /etc/pacman.conf-ban megadni a tároló elérhetőségét, vagy egy másik fájlban rögzíteni az Include paraméter megadásával. pl:
[core] Include = /etc/pacman.d/mirrorlist
Felvehetünk tetszőleges tárolókat a listába; ilyen például az archlinuxfr, melyen hasznos csomagok érhetők el, melyek valamiért kimaradtak az előre definiált tárolókból. Ilyen csomag például a yaourt.
[archlinuxfr] Server = http://repo.archlinux.fr/i686
2 Pacman package name tab completition
Kényelmes fícsőr a csomagok nevének automatikus kiegészítése, mely a bash-completition csomaggal érhető el. Telepítése:
pacman -S bash-completion
3 Pacman orphan csomagok
Pacman-nal lehetséges az "árva" csomagok nyomonkövetése. Ha egy olyan csomagot távolítunk el, mely függ egy másik csomagtól, akkor az utóbbi dependencia nem távolítódik el, árva lesz. A pacman-nal nyomonkövethetjük ezen csomagokat (debian alatt ehhez szükséges a a deporphan csomag). Az árva csomagok eltávolítása: </pre> pacman -Qdt </pre> Az árva csomagok listázása:
pacman -Qqdt
Egy csomag és függőségeinek eltávolítása (ha más csomag nem függ az egyes csomagoktól):
pacman -Rs <csomag>
Egy csomag, a csomag függőségeinek és azon csomagok eltávolítása, melyek függnek a csomagtól:
pacman -Rsc <csomag>