Pacman csomagkezelő rendszer használata Arch alapú rendszereken

A Pacman története, kialakulása

A Pacman csomagkezelő története szorosan összefonódik az Arch Linux operációs rendszerrel. Az Arch Linuxot és a hozzá tartozó Pacman csomagkezelőt Judd Vinet hozta létre, első kiadásuk 2002-ben történt. A Pacman Vinet által az Arch Linux alapvető elveinek megfelelően lett kifejlesztve: egyszerűségre, hatékonyságra és minimalizmusra összpontosítva. A Pacman nemcsak az Arch Linuxban, hanem annak származékaiban és más független Linux disztribúciókban is népszerűvé vált, köszönhetően a rugalmasságának és felhasználóbarát megközelítésének. Ez az oktatóanyag bemutatja a Pacman csomagkezelő alapvető kezelését és szintaxisait. Alábbi oktatóanyag, leirata egy korábban elkészített videós oktatóanyagnak, mely videót a cikk alján találod meg amennyiben vizuálisabb alkat vagy 🙂

Bevezetés a Pacman világába

A Pacman csomagkezelő egy kulcsfontosságú eszköz a Arch Linux és annak származékai számára, amely egyedülálló megközelítést kínál a szoftverkezelés terén. Ez a rendszer egyszerű, mégis hatékony megoldásokat kínál a programok telepítésére, frissítésére és eltávolítására. A Pacman könnyedén kezelhető parancssori felülete révén a felhasználók teljes kontrollt kapnak a szoftverek fölött, miközben a rendszer gondoskodik a függőségek automatikus kezeléséről.

Ez a csomagkezelő a könnyű használatot és a rugalmasság tökéletes kombinációját kínálja, amely lehetővé teszi a felhasználók számára, hogy gyorsan és hatékonyan kezelhessék a rendszerüket. A Pacman egyik legnagyobb előnye a felhasználói közösség által létrehozott hatalmas szoftvertárház, ahol szinte minden szükséges alkalmazást megtalálhatunk. Továbbá, a AUR (Arch User Repository) támogatása révén a felhasználók hozzáférhetnek a nem hivatalos csomagok széles skálájához is, amelyeket a közösség tagjai készítenek és karbantartanak.

A Pacman használata nem csak gyors és hatékony, hanem egyfajta kaland is, amely során a felhasználók mélyebben megismerkedhetnek operációs rendszerük működésével. Ez az eszköz ideális választás azok számára, akik szeretnék a saját kezükbe venni rendszerük irányítását, és személyre szabott, optimálisan működő környezetet kívánnak létrehozni.

Térjünk rá a pacman csomagkezelő alapfunkcióira. A parancsok mindegyikénél szükséges a SUDO előparancs használata.

Alapfunkciók

A legalapvetőbb parancsok közé tartoznak a Rendszer Frissítésére és a Csomagok Telepítésére törlésére és a rendszer frissítésére vonatkozóak:

ParancsFunkciója
pacman -SyuRendszerfrissítés a csomagtároló információk frissítésével
pacman -SuRendszerfrissítés a csomagtároló információk frissítése nélkül
pacman -S csomagnévCsomag(ok) telepítése
pacman -Ss csomagnév vagy kifejezésCsomag keresése csomagnév vagy kifejezés alapján
pacman -Si csomagnévCsomag részletes információi
pacman -R csomagnévCsomag eltávolítása függőségek nélkül
pacman -Rs csomagnévCsomag eltávolítása függőségekkel együtt

Csomagtároló információk és letöltött csomagok kezelése

A csomagkezelés egyik fontos része a csomaginformációkban rejlik, melyeknek mindig naprakésznek kell lenniük.

ParancsFunkciója
pacman -SyCsomagtárolók szinkronizálása és letöltése egyéb művelet nélkül
pacman -SyyCsomagtárolók szinkronizálása és letöltés kényszerítése
pacman -ScLetöltött csomagok törlése melyeket a rendszer a/var/cache/pacman/pkg/ útvonalon tárol
pacman -QTelepített csomagok listázása
pacman -QeTelepített csomagok listázása (Kizárólag felhasználó által telepített, függőségek kizárásával)

Csomag csoportok kezelése, helyi csomagok és árva csomagok kezelése

Csomag csoport definiciója: A csomag csoportok általában nagyobb projektek csomaggyüjteményeit takarja, ilyenek például az olyan grafikus környezetek mint az XFCE,GNOME, KDE de csomagcsoportként elérhető az xorg és driverei, a legnépszerűbb compilerek és stb. A csoport listát az archlinux.org/groups weboldalon tudjátok megtekinteni.

ParancsFunkciója
pacman -S csoportnévTeljes csoport vagy kiválasztott csomagszámok telepítése
pacman -Sg csoportnévCsoportban lévő csomagok kilistázása
pacman -U csomagnév vagy útvonalHelyi csomag telepítése csomagnév vagy a csomag útvonalának és nevének megadásával
pacman -QdtMár nem használt árva csomagok kilistázása
pacman -Rns $(pacman -Qdtq)Árva csomagok listázása majd törlése

Egyéb parancsok

ParancsFunkciója
pacman -Qk csomagnévEllenőrzi a csomag integritását
pacman -Qkk csomagnévRészletes csomagintegritás ellenőrzés, beleértve az ellenörző értékeket
pacman -S --neededTelepít egy csomagot, csak akkor, ha még nem telepítették vagy ha egy újabb verzió érhető el. Hasznos, hogy elkerüljük a felesleges újratelepítéseket.
pacman -Sw csomagnévLetölti a csomagot, de nem telepíti azt. Ez lehetővé teszi a csomagok letöltését későbbi telepítés céljából.
pacman -Syu --ignore csomagnévFrissítse a rendszert, kihagy egy bizonyos csomagot a frissítésből. Hasznos, ha problémás egy csomag frissítése vagy ha vissza akarjuk tartani a csomag frissítését.

Speciális parancsok

ParancsFunkciója
pacman -Rdd csomagnévltávolít egy csomagot anélkül, hogy figyelembe venné a függőségeket. Ezt csak óvatosan és tudatosan kell használni.
pacman -D –asexplicitmegjelöl egy csomagot „kifejezetten telepítettként”, ami azt jelenti, hogy nem fogják kezelni függőségként. Hasznos az „árva” csomagok kezelésében.

Ezek a parancsok a Pacman csomagkezelő legfontosabb és leggyakrabban használt funkcióit fedik le. Fontos megjegyezni, hogy bizonyos parancsok, mint például a függőségek figyelmen kívül hagyása vagy a csomagok „kifejezetten telepítettként” való megjelölése, speciális esetekben hasznosak, és óvatosan kell őket alkalmazni.

Speciális beállítások

Csomag kivétel hozzáadása

Bizonyos esetekben indokolt lehet egyes csomagok frissítésének visszatartása, például a linux kernel vagy a linux firmware esetén.

a csomagok visszatartását az /etc/pacman.conf fájlban lehet meghatározni.

Ehhez nyisd meg szerkesztésre a kedvenc szövegszerkesztőddel a konfigurációs fájlt én esetemben a nanoval, rendszergazdai jogokkal:

majd keresd meg az IgnorePkg kezdetű sort.

Több csomag esetén használd a szóközt a csomag nevének elválasztásához, vagy használj további IgnorePkg sorokat.

Ha csak egyszer szeretnél csomagokat kihagyni, használd helyette a pacmanon belül az —ignore opciót a parancssorban.

Természetesen a csomagok frissítése a tiltólista ellenére kézzel továbbra is végrehajtható a pacman -S használatával: ebben az esetben a pacman emlékeztetni fog arra, hogy a csomagokat felvetted az IgnorePkg kivételi listára.

Csomag csoport kivétel hozzáadása

Hasonlóan a csomagokhoz, egy egész csomagcsoport kihagyása is lehetséges, ehhez a pacman.confban add meg az IgnoreGroup opciót, majd a csomag csoport nevét.

Ezen beállítást érdemes fokozott óvatossággal rögzíteni mivel a részleges frissítések nem támogatottak.

Csomagtárolók

Az Arch Linux hivatalos tárolói létfontosságú és népszerű szoftvereket tartalmaznak, melyek könnyen elérhetők a pacman segítségével. Ezeket a tárolókat a csomagkezelők karbantartják.

A hivatalos tárolókban található csomagok folyamatosan frissülnek: amikor egy csomagot frissítenek, annak régi verzióját eltávolítják a tárolóból. Nincsenek nagy Arch kiadások: minden csomag frissül, ahogy az új verziók elérhetővé válnak a felsőbb forrásokból. Minden tároló mindig koherens, azaz az itt tárolt csomagok mindig kölcsönösen kompatibilis verziókban vannak.

A tárolókat csoportosíthatjuk stable azaz stabil és testing azaz a tesztelés alatt álló csomagok tárolója szerint.

Stabil tárolók:

  • Core:
    • A core tartalmazza a csomagokat az Arch Linux indításához, az internethez való csatlakozáshoz, csomagok építéséhez, támogatott fájlrendszerek kezeléséhez és javításához, a rendszer beállítási folyamatához (pl. openssh), valamint az ezekhez kapcsolódó függőségeket (nem feltétlenül makedepends) és az alap meta csomagot.
    • A core-nak szigorú minőségi követelményei vannak. A fejlesztők/felhasználók jóváhagyására van szükség a csomagfrissítések elfogadása előtt.
  • Extra:
    • Az extra tartalmazza az összes olyan csomagot, amely nem illik a core-ba. Ezt a tárolót a Csomagkezelők és az Arch Fejlesztők közösen karbantartják.
  • Multilib:
    • A multilib 32 bites szoftvereket és könyvtárakat tartalmaz, amelyek segítségével futtatható és építhető 32 bites alkalmazások 64 bites telepítéseken.

Tesztelési tárolók:

A tesztelési tárolók célja, hogy egy előkészítő területet biztosítsanak a csomagok számára, mielőtt elfogadásra kerülnének a fő tárolókba. A csomagkarbantartók (és az általános felhasználók) ezután hozzáférhetnek ezekhez a tesztcsomagokhoz, hogy biztosítsák, nincs probléma az új csomag integrálásával. Miután egy csomagot teszteltek és nem találtak hibákat, áthelyezhető a fő tárolókba.

Nem minden csomagnak kell átmennie ezen a tesztelési folyamaton. Az új csomagok akkor kerülnek tesztelési tárolóba, ha:

  • A core tárolóba szánják őket. Minden, ami a core-ban van, át kell mennie a core-testing-en.
  • Várható, hogy frissítéskor valamelyik csomagot megtörik, és először tesztelni kell őket.
  • Sok csomagot érintenek (például a perl vagy a python).

A tesztelési tárolókat általában nagy csomaggyűjtemények, mint például a GNOME és a KDE új kiadásainak használatára is alkalmazzák.

A tesztelési tárolókkal kapcsolatosan szeretném a következőkre felhívni a figyelmeteket:

  • A tesztelési tárolók előzetes kiadású szoftververziókat tartalmazhatnak.
  • Légy óvatos a tesztelési tárolók engedélyezésekor. A rendszered törhet egy frissítés után. Csak tapasztalt felhasználók használják, akik tudják kezelni a lehetséges rendszertöréseket.
  • Ha engedélyezed a core-testinget, akkor az extra-testinget is engedélyezned kell, és fordítva.
  • Mivel nem minden csomag rendelkezik a fő tárolókban hozzá kapcsolódó elérhető verziókkal a tesztelési tárolók alatt, a core és az extra fő tárolókat meg kell tartani, és a megfelelő tesztelési tárolókat a fő tároló elé kell helyezni.

core-testing

  • A core-testing tartalmazza azokat a csomagokat, amelyek jelöltjei a core tárolónak.
  • A core-testing az egyetlen tároló, amely névütközést okozhat a többi hivatalos tárolóval. Ha engedélyezve van, akkor az elsőnek kell lennie a /etc/pacman.conf fájlban felsorolt tárolók között.

extra-testing

  • Ez a tároló hasonló a core-testing tárolóhoz, de az extra tároló jelölt csomagjai számára.

multilib-testing

  • Ez a tároló hasonló a core-testing tárolóhoz, de a multilib tároló jelölt csomagjai számára.

gnome-unstable

  • Ez a tároló a következő stabil, vagy stabil kiadásra jelölt verziójú GNOME asztali környezet tesztcsomagjait tartalmazza, mielőtt azokat az extra-testing fő tárolóba helyezik.
  • A gnome-unstable bejegyzésnek az elsőnek kell lennie a tárolók listájában (azaz a core-testing bejegyzés felett).

kde-unstable

  • Ez a tároló a legújabb KDE Plasma és Alkalmazások bétáját vagy Kiadásra Jelölt verzióját tartalmazza.
  • A kde-unstable bejegyzésnek az elsőnek kell lennie a tárolók listájában (azaz a core-testing bejegyzés felett).

Tesztelési tárolók letiltása

  • Ha engedélyezted a tesztelési tárolókat, de később úgy döntöttél, hogy letiltod őket, akkor:
    • Távolítsd el (kommentezd ki) őket a /etc/pacman.conf-ból
    • Futtass egy pacman -Syuu parancsot a frissítések „visszagörgetéséhez” ezekből a tárolókból.
  • A második pont opcionális, de tartsd észben, ha bármilyen problémát észlelsz.

Az AUR csomagtárolókról

Az AUR (Arch User Repository) egy közösség által karbantartott tároló, amely az Arch Linux felhasználói számára készült. Ez a tároló különleges, mert lehetővé teszi a felhasználóknak, hogy saját csomagokat hozzanak létre és osszanak meg, amelyek nem részei a hivatalos Arch Linux tárolóknak. Az AUR-t különösen hasznosnak találják a felhasználók, mivel hozzáférést biztosít számos olyan szoftverhez, amelyek nincsenek elérhetőek a hivatalos tárolókban.

Az AUR jellemzői:

  1. Közösségi Karbantartás: Az AUR csomagjait az Arch közösség tagjai hozzák létre és karbantartják. Ez magában foglalja a PKGBUILD szkripteket, amelyek leírják, hogyan kell egy adott szoftvert forráskódból vagy egyéb forrásból összeállítani és csomagolni.
  2. Hatalmas Választék: Az AUR rengeteg szoftvert tartalmaz, beleértve a kevésbé ismert, vagy speciális célokra szánt programokat, illetve azokat a verziókat, amelyek még nem kerültek be a hivatalos tárolókba.
  3. Felhasználói Közreműködés: Bárki hozzáadhat új csomagokat az AUR-hoz vagy frissítheti a meglévőket. A közösség tagjai szavazhatnak a csomagokra, és a legnépszerűbbek esélyt kapnak arra, hogy bekerüljenek a hivatalos tárolókba.
  4. Biztonsági Megfontolások: Mivel az AUR csomagjait nem hivatalosan ellenőrzik, fontos, hogy a felhasználók óvatosak legyenek, és ellenőrizzék a PKGBUILD és egyéb mellékelt fájlokat a biztonságuk érdekében.
  5. Könnyű Telepítés: Bár az AUR csomagok nem telepíthetők közvetlenül a pacman csomagkezelővel, számos segédprogram áll rendelkezésre, mint például yaourt, yay vagy trizen, amelyek megkönnyítik az AUR csomagok keresését, telepítését és frissítését.

Az AUR egy izgalmas erőforrás az Arch Linux felhasználók számára, lehetővé téve számukra, hogy széles körű szoftverekhez férjenek hozzá és részt vegyenek a közösség által vezetett szoftverfejlesztésben. Azonban mindig fontos figyelmet fordítani a biztonságra, különösen amikor nem hivatalos forrásokból telepítünk szoftvereket.

A pacman csomagtároló működésével kapcsolatosan keresd fel az Archlinux pacmanre vonatkozó szócikkét az alábbi hivatkozáson további részletekért: https://wiki.archlinux.org/title/pacman

Ha szeretnéd videóformátumban is megtekinteni az alábbi oktatóanyagot akkor azt itt teheted meg:

Pacman csomagkezelő használata Arch alapú rendszereken