Jump to content

# pacman (Magyar)

From ArchWiki
Fordítás állapota: Ez a cikk az angol Pacman című cikk magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2025.11.09. Amennyiben a lefordítás időpontja óta az angol nyelvű cikkben történtek újabb módosítások, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.

Kapcsolódó cikkek

- /Package signing (Magyar)
- /Pacnew and Pacsave (Magyar)
- /Restore local database (Magyar)
- /Rosetta (Magyar)
- /Tips and tricks (Magyar)
- Arch User Repository (Magyar)
- Creating packages (Magyar)
- Downgrading packages (Magyar)
- namcap (Magyar)
- Frequently asked questions (Magyar)#Szoftvercsomag-kezelés
- System maintenance (Magyar)
- Package Proxy Cache (Magyar)

A pacman szoftvercsomag-kezelő az Arch Linux egyik legfőbb megkülönböztető jellemzője. Egyszerű bináris szoftvercsomag-formátumot ötvöz egy könnyen használható Arch build system rendszerrel. A pacman célja, hogy lehetővé tegye a szoftvercsomagok egyszerű kezelését, akár a hivatalos szoftvercsomag-tárolókból, akár a felhasználó saját összeállításaiból származnak.

A Pacman naprakészen tartja az operációs rendszert azáltal, hogy szinkronizálja a szoftvercsomag-listákat a fő szerverrel. Ez a szerver/kliens modell lehetővé teszi, hogy a felhasználó egyetlen egyszerű parancs segítségével letöltse és telepítse a szoftvercsomagokat, a szükséges szoftvercsomag-függőségekkel együtt.

A pacman C programozási nyelven íródott, és a szoftverek becsomagolásához a bsdtar(1) tar formátumot használja.

Tipp A pacman szoftvercsomag olyan további szotvereket tartalmaz, mint a makepkg és vercmp(8). További hasznos szoftverek, mint például a pactree és a checkupdates, a pacman-contrib szoftvercsomagban találhatóak meg (korábban a pacman részei voltak). A teljes lista megtekintéséhez futtassa a `pacman -Ql pacman pacman-contrib | grep -E 'bin/.+'` parancsot.

## Használat

Az alábbiak csupán egy kis mintát képviselnek azokból a műveletekből, amelyeket a pacman képes végrehajtani. További példákért tekintse meg a pacman(8) súgót.

Tipp For those who have used other Linux distributions before, there is a helpful Pacman/Rosetta article.

### Szoftvercsomagok telepítése

A szoftvercsomag valójában csak egy tömörített fájl ami a következőket tartalmazza:

- Az alkalmazás összes (forráskódból lefordított) fájlját.
- Az alkalmazás metaadatait, például az alkalmazás nevét, verzióját, szoftvercsomag-függőségeit stb.
- Feltelepítéshez szükséges fájlokat és utasításokat a pacman számára.

Az Arch szoftvercsomag-kezelője (tehát a pacman) képes telepíteni, frissíteni és eltávolítani ezeket a szoftvercsomagokat. A szoftvercsomagok használata (a szoftverek saját forráskódból történő lefordítása és telepítése helyett) számos előnnyel jár:

- Könnyen frissíthető: A pacman frissíti a meglévő szoftvercsomagokat, amint elérhetővé válnak a szoftverfrissítések.
- Szoftvercsomag-függőség ellenőrzése: A pacman Ön helyett kezeli a szoftvercsomag-függőségeket. Önnek csak meg kell mondania neki a szoftvercsomagot, és a pacman telepíti azt minden további szükséges kiegészítő szoftvercsomaggal együtt.
- Tiszta eltávolítás: A pacman nyilvántartja a szoftvercsomagban lévő összes fájlt. Ezáltal nem maradnak véletlenül sem a számítógépen fájlok, amikor úgy dönt, hogy eltávolít egy szoftvercsomagot.

Megjegyzés

- A szoftvercsomagok gyakran rendelkeznek választható szoftvercsomag-függőségekkel, amelyek olyan szoftvercsomagok, amelyek további funkcionalitást biztosítanak az alkalmazás számára, de nem feltétlenül szükségesek annak futtatásához. Egy szoftvercsomag telepítésekor a pacman felsorolja annak választható szoftvercsomag-függőségeit, azonban ezek nem jelennek meg a `pacman.log` fájlban. Használja a #Querying package databases[Hibás hivatkozás: Érvénytelen szekció] parancsot a szoftvercsomag választható függőségeinek a megtekintéséhez.
- Ha olyan szoftvercsomagot telepít, amelyre kizárólag egy másik szoftvercsomag (választható) függőségeként van szüksége (azaz Ön közvetlenül nem igényli azt), akkor ajánlott a `--asdeps` kapcsoló használata. További részletekért tekintse meg a #Installation reason[Hibás hivatkozás: Érvénytelen szekció] leírást.

Figyelmeztetés Az Arch operációs rendszerben történő szoftvercsomag-telepítéskor kerülje a szoftvercsomaglista frissítését az operációs rendszer frissítése[Hibás hivatkozás: Érvénytelen szekció] nélkül (például amikor egy szoftvercsomag már nem található[Hibás hivatkozás: Érvénytelen szekció] a hivatalos szoftvercsomag-tárolókban). A gyakorlatban ne futtassa a `pacman -Sy szoftvercsomagneve` parancsot a `pacman -Syu szoftvercsomagneve` helyett, mivel ez szoftvercsomag-függőségi problémákhoz vezethet. Tekintse meg a System maintenance (Magyar)#Részleges frissítések nincsenek támogatva és BBS#89328 leírásokat.

#### Konkrét szoftvercsomagok telepítése

Adja ki a következő parancsot egyetlen szoftvercsomag vagy szoftvercsomaglista, valamint a hozzájuk tartozó szoftvercsomag-függőségek telepítése érdekében:

    # pacman -S szoftvercsomagnév1 szoftvercsomagnév2 ...

Szoftvercsomaglista telepítése reguláris kifejezés segítségével (tekintse meg ezt a fórumbejegyzést) :

    # pacman -S $(pacman -Ssq szoftvercsomag_reguláris_kifejezés)

Előfordulhat, hogy egy szoftvercsomagnak több verziója is elérhető különböző szoftvercsomag-tárolókban (például az extra és az extra-testing szoftvercsomag-tárolók). Ebben az esetben, amennyiben Ön az extra szoftvercsomag-tárolóból szeretné telepíteni a szoftvercsomagot, akkor a szoftvercsomag-tároló nevét meg kell adni a szoftvercsomag neve előtt:

    # pacman -S extra/szoftvercsomagnév

Hasonló mintázatot követő szoftvercsomagnevek telepítéséhez használható a kapcsos zárójelek kiterjesztése. Például:

    # pacman -S plasma-{desktop,mediacenter,nm}

Ez tetszőleges számú szintre kiterjeszthető:

    # pacman -S plasma-{workspace{,-wallpapers},pa}

##### Virtuális szoftvercsomagok

A virtuális szoftvercsomag egy speciális szoftvercsomag, amely önmagában nem létezik, hanem egy vagy több másik szoftvercsomag biztosítja. A virtuális szoftvercsomagok lehetővé teszik, hogy ha több lehetséges szoftvercsomagjelölt is van, akkor más szoftvercsomagok ne egy konkrét szoftvercsomagot nevezzenek meg szoftvercsomag-függőségként. A virtuális szoftvercsomagokat nem lehet a nevük alapján telepíteni. Ezek akkor kerülnek az Ön operációs rendszerére, amikor egy olyan szoftvercsomagot telepít, amely biztosítja a virtuális szoftvercsomagot. Példa erre a dbus-units szoftvercsomag.

Tipp Amennyiben több jelölt is van, akkor a megjelenített választási lista először a szoftvercsomag-tárolók sorrendje szerint lesz rendezve, ahogyan azok a `pacman.conf` fájlban szerepelnek, majd betűrendi sorrend szerint lesz rendezve, amennyiben ugyanabból a szoftvercsomag-tárolóból több találat is van.

#### Szoftvercsomagcsoportok telepítése

Néhány szoftvercsomag olyan szoftvercsomagcsoporthoz tartozik, amelynek minden eleme egyszerre telepíthető. Például, amennyiben kiadja a következő parancsot:

    # pacman -S gnome

A fenti parancsot futtatva Önt fel lesz szólítva, hogy válassza ki a gnome szoftvercsomagcsoportból azokat a szoftvercsomagokat, amelyeket telepíteni szeretne.

Előfordulhat, hogy egy szoftvercsomagcsoport nagy mennyiségű szoftvercsomagot tartalmaz, és Ön csak néhányat szeretne telepíteni, illetve kihagyni a telepítés folyamatából. Ahelyett, hogy az összes számot meg kellene adnia, kivéve azokat, amelyeket nem kíván telepíteni, gyakran kényelmesebb az alábbi szintaxis segítségével szoftvercsomagokat vagy szoftvercsomag-tartományokat kiválasztani vagy kizárni:

    Enter a selection (default=all): 1-10 15

Amely kiválasztja az 1-től 10-ig terjedő, valamint a 15-ös szoftvercsomagot telepítésre, vagy:

    Enter a selection (default=all): ^5-8 ^2

Amely kiválasztja az összes szoftvercsomagot, kivéve az 5-től 8-ig terjedőket és a 2-est, telepítésre.

A gnome szoftvercsoporthoz tartozó szoftvercsomagok megtekintéséhez futtassa a következő parancsot:

    $ pacman -Sg gnome

Látogassa meg a https://archlinux.org/groups/ weboldalt is, hogy megtekintse, milyen szoftvercsomagcsoportok érhetőek el.

Megjegyzés Ha egy szoftvercsomag a listából már telepítve van az operációs rendszerre, akkor újratelepítésre kerül, még akkor is, ha naprakész. Ez a viselkedés felülírható a `--needed` kapcsolóval.

### Szoftvercsomagok eltávolítása

Futtassa a következő parancsot egyetlen szoftvercsomag eltávolítása érdekében, úgy, hogy annak összes szoftvercsomag-függősége telepítve maradjon a számítógépen:

    # pacman -R szoftvercsomagnév

Futtassa a következő parancsot egyetlen szoftvercsomag és a hozzá tartozó szoftvercsomag-függőségek eltávolítása érdekében. A szóban forgó szoftvercsomaggal együtt kizárólag azok a szoftvercsomag-függőségek lesznek letörölve a számítógépről amely szoftvercsomag-függőségek jelenlétét a számítógépen egyetlen másik telepített szoftvercsomag se nem igényli:

    # pacman -Rs szoftvercsomagnév

Figyelmeztetés Amikor egy szoftvercsomagcsoportot távolít el, például a gnome szoftvercsomagcsoportot, ez figyelmen kívül hagyja a szoftvercsomagcsoportban lévő szoftvercsomagok telepítési okát, mivel úgy kezeli, mintha minden szoftvercsomag külön lenne felsorolva. A szoftvercsomag-függőségek telepítési okát azonban továbbra is figyelembe veszi.

Ha olyan szoftvercsomagcsoportot próbál eltávolítani, amely szükséges szoftvercsomagokat tartalmaz, akkor a fenti parancsok időnként megtagadhatják a lefutást. Ebben az esetben próbálja meg a következőt:

    # pacman -Rsu szoftvercsomagnév

Futtassa a következő parancsot egyetlen szoftvercsomag, annak szoftvercsomag-függőségei, valamint az adott szoftvercsomagtól függő összes szoftvercsomag eltávolítása érdekében:

Figyelmeztetés Ez a művelet rekurzív, és körültekintően kell használni, mivel számos potenciálisan szükséges szoftvercsomagot is eltávolíthat.

    # pacman -Rsc szoftvercsomagnév

Futtassa a következő parancsot egy olyan szoftvercsomag eltávolítása érdekében, amelyet egy másik szoftvercsomag igényel, anélkül hogy eltávolítaná a függő szoftvercsomagot:

Figyelmeztetés A következő művelet rendszerszintű problémákat okozhat, ezért kerülendő a használata. Tekintse meg a System maintenance (Magyar)#Kerüljön el bizonyos pacman parancsokat.

    # pacman -Rdd szoftvercsomagnév

A pacman fontos beállításfájlokat ment el bizonyos alkalmazások eltávolításakor, és ezeket a fájlokat .pacsave kiterjesztéssel nevezi el. Az ilyen biztonsági mentések létrehozásának a megakadályozásához használja a `-n` kapcsolót:

    # pacman -Rn szoftvercsomagnév

Megjegyzés A pacman nem távolítja el azokat a beállításfájlokat, amelyeket maga az alkalmazás hozott létre (például a felhasználó saját könyvtárában található ponttal kezdődő fájlnevű fájlokat).

### Szoftvercsomagok frissítése

Figyelmeztetés

- Az elvárás az, hogy a felhasználók rendszeresen frissítsék az operációs rendszereiket a System maintenance (Magyar)#Operációs rendszer frissítése szakasz útmutatásait követve, és ne gondolkodás nélkül futtassák az alábbi parancsot.
- Az Arch kizárólag teljes rendszerfrissítést támogat. További részletekért tekintse meg a System maintenance (Magyar)#Részleges frissítések nincsenek támogatva és #Szoftvercsomagok telepítése leírásokat.

A pacman egyetlen paranccsal képes frissíteni az operációs rendszer összes szoftvercsomagját. Ez a művelet hosszabb ideig is eltarthat, attól függően, hogy mennyire naprakész az operációs rendszer. Az alábbi parancs szinkronizálja a szoftvercsomag-tárolók adatbázisait, és frissíti az operációs rendszer szoftvercsomagjait, kivéve azokat a "lokális" szoftvercsomagokat, amelyek nincsenek a beállított szoftvercsomag-tárolókban:

    # pacman -Syu

### Szoftvercsomag-adatbázisok lekérdezése

A pacman a helyi szoftvercsomag-adatbázist a `-Q` kapcsolóval, a szinkronizált adatbázist a `-S` kapcsolóval, míg a fájlok adatbázisát a `-F` kapcsolóval kérdezi le. Az egyes kapcsolókhoz tartozó al opciókért tekintse meg a `pacman -Q --help`, `pacman -S --help` és `pacman -F --help` súgókat.

Megjegyzés Szinkronizálja a fájlok adatbázisát a lekérdezés előtt annak érdekében, hogy naprakész eredményeket kapjon:

    # pacman -Fy

Tipp Az pacman-contrib szoftvercsomagban található `pacman-filesdb-refresh.timer` időzítőt engedélyezheti/elindíthatja annak érdekében, hogy a pacman fájladatbázisa hetente frissüljön.

A pacman képes szoftvercsomagokat keresni az adatbázisban, a szoftvercsomagok nevében és a leírásában egyaránt:

    $ pacman -Ss szöveg1 szöveg2 ...

Előfordulhat, hogy a `-s` beépített ERE-je (Extended Regular Expressions – kiterjesztett reguláris kifejezések) sok nem kívánt találatot eredményez, ezért korlátozni kell, hogy csak a szoftvercsomag nevére illeszkedjen – ne a leírásra vagy bármely más mezőre:

    $ pacman -Ss '^vim-'

Már telepített szoftvercsomagok keresése:

    $ pacman -Qs szöveg1 szöveg2 ...

Távoli szoftvercsomagokban található szoftvercsomagfájlnevek keresése:

    $ pacman -F szöveg1 szöveg2 ...

Annak érdekében, hogy megtekintse a részletes információt egy adott szoftvercsomagról (például az adott szoftvercsomag szoftvercsomag-függőséggel kapcsolatban) futtassa a következő parancsot:

    $ pacman -Si szoftvercsomagnév

Helyileg telepített szoftvercsomagok esetén futtassa a következő parancsot:

    $ pacman -Qi szoftvercsomagnév

Kettő `-i` kapcsoló megadása esetén megjelenik a biztonsági mentési fájlok listája és azok módosítási állapota is:

    $ pacman -Qii szoftvercsomagnév

Egy szoftvercsomag által telepített fájlok listájának lekérése:

    $ pacman -Ql szoftvercsomagnév

Egy távoli szoftvercsomag által telepített fájlok listájának lekérése:

    $ pacman -Fl szoftvercsomagnév

Egy szoftvercsomag által telepített fájlok jelenlétének ellenőrzése:

    $ pacman -Qk szoftvercsomagnév

Alaposabb ellenőrzést végez a `k` kapcsoló kétszeri megadása.

Adatbázis lekérdezése annak megállapításához, hogy egy fájl a fájlrendszerben melyik szoftvercsomaghoz tartozik:

    $ pacman -Qo /útvonal/a/fájlhoz/fájlnévvel/együtt

Adatbázis lekérdezése annak megállapításához, hogy egy fájl melyik távoli csomaghoz tartozik:

    $ pacman -F /útvonal/a/fájlhoz/fájlnévvel/együtt

Összes olyan szoftvercsomag listázása, amelyre már szoftverfüggőségként nincs szükség (elárvult szoftvercsomagok):

    $ pacman -Qdt

Összes olyan szoftvercsomag listázása, amelyeket kifejezetten Ön, saját maga telepített, és amelyekre az operációs rendszeren nincs szükség szoftvercsomag-függőségként:

    $ pacman -Qet

További példákért tekintse meg a pacman (Magyar)/Tips and tricks (Magyar) leírást.

A fejlettebb funkcionalitás érdekében telepítse a pkgfile szoftvercsomagot, amely egy külön adatbázist használ az összes fájl és a hozzájuk tartozó szoftvercsomagok nyilvántartására.

#### Pactree

Megjegyzés A pactree(8) már nem része a pacman szoftvercsomagnak. Ehelyett a pacman-contrib szoftvercsomagban található meg.

Egy szoftvercsomag szoftvercsomag-függőségi fájának a megtekintése érdekében futtassa a következő parancsot:

    $ pactree szoftvercsomagnév

Egy szoftvercsomag szoftvercsomag-függőségi fájának a visszafelé történő megtekintése érdekében a pactree parancsnak adja meg a `-r` kapcsolót.

#### Adatbázis szerkezete

A pacman adatbázisok általában a `/var/lib/pacman/sync` könyvtárban találhatóak. Az `/etc/pacman.conf` fájlban megadott minden szoftvercsomag-tárolóhoz tartozik egy megfelelő adatbázisfájl ezen a helyen. Az adatbázisfájlok gzip segítségével tömörített tar archívumfájlok, amelyek minden szoftvercsomaghoz (például a which szoftvercsomag esetében) egy-egy könyvtárat tartalmaznak:

    $ tree which-2.21-5

    which-2.21-5
    |-- desc

A `desc` fájl metaadatokat tartalmaz, például a szoftvercsomag leírását, szoftvercsomag-függőségeit, fájlméretét és MD5 ellenőrzőösszegét.

### Szoftvercsomag-gyorsítótár kitakarítása

A pacman a letöltött szoftvercsomagokat a `/var/cache/pacman/pkg/` könyvtárban tárolja. Ebből a könyvtárból nem távolítja el automatikusan az ide régibben letöltött, vagy ebből a könyvtárból az operációs rendszerre feltelepített, majd az operációs rendszerről eltávolított szoftvercsomag-verziókat. Ennek vannak bizonyos előnyei:

1. Lehetővé teszi egy szoftvercsomag korábbi verzióra való visszaállítását anélkül, hogy a korábbi verziót más forrásból, például az Arch Linux Archívumból kellene beszerezni.
2. Egy eltávolított szoftvercsomag könnyedén újratelepíthető közvetlenül a gyorsítótár könyvtárból, a szoftvercsomag-tárolóból történő újbóli letöltés nélkül.

Azonban szükséges az gyorsítótár szándékos, időszakonkénti törlése annak érdekében, hogy megakadályozzuk a könyvtár méretének korlátlan növekedését.

A paccache(8) parancsfájl, amely a pacman-contrib szoftvercsomag része, alapértelmezés szerint törli az összes gyorsítótárazott verziót a telepített és eltávolított szoftvercsomagok közül, kivéve a legutóbbi három verziót:

    # paccache -r

Engedélyezze és indítsa el a `paccache.timer` időzítőt annak érdekében, hogy hetente törlésre kerüljenek a nem használt szoftvercsomagok. A szolgáltatás argumentumait az `/etc/conf.d/pacman-contrib` fájlban beállíthatja, például a `PACCACHE_ARGS='-k1'` vagy a `PACCACHE_ARGS='-uk0'` példának megfelelően.

Tipp Ön létrehozhat egy automatikus műveletindítót (hook), amely automatikusan lefut minden pacman tranzakció után. Telepítse a paccache-hookAUR szoftvercsomagot, és tekintse meg a további példákat.

Azt is meghatározhatja, hogy hány korábbi verziót kíván megőrizni. Ha kizárólag egy korábbi verziót szeretne megtartani, akkor használja a következőt:

    # paccache -rk1

Adja hozzá a `-u`/`--uninstalled` kapcsolót, hogy a paccache parancs működését a nem telepített szoftvercsomagokra korlátozza. Például, ha az összes gyorsítótárazott verziót el kívánja távolítani a nem telepített szoftvercsomagok közül, akkor használja a következőt:

    # paccache -ruk0

További lehetőségek megtekintése érdekében futtassa a `paccache -h` parancsot.

A pacman tartalmaz néhány beépített opciót is a gyorsítótár és a megmaradt adatbázisfájlok törlésére, amelyek már nem szerepelnek a `/etc/pacman.conf` beállításfájlban. Azonban a pacman nem kínál lehetőséget korábbi verziók megtartására, ezért pacman alapértelmezett beállításai agresszívebbek mint a paccache beállításai.

Annak érdekében, hogy a számítógépre nem feltelepített szoftvercsomagokhoz tartozó összes gyorsítótárazott szoftvercsomag el legyen távolítva, valamint a nem használt szinkronizálási adatbázisok is el legyenek távolítva, futtassa a következő parancsot:

    # pacman -Sc

A gyorsítótár összes fájljainak az eltávolításához használja kétszer a clean kapcsolót. Ez a legagresszívebb megközelítés, és semmit sem hagy a gyorsítótár könyvtárában:

    # pacman -Scc

Figyelmeztetés Kerülni kell az összes feltelepített szoftvercsomag korábbi verziójának és az összes nem feltelepített szoftvercsomagnak a gyorsítótárból való törlését, hacsak nem feltétlenül szükséges az adathordozó területének a felszabadítani. Ez megakadályozza a szoftvercsomagok korábbi verzióira történő visszaállítását (downgrade) vagy újratelepítését anélkül, hogy azokat ismét le kellene tölteni.

További alternatívák a gyorsítótár tisztítására a pkgcachecleanAUR és a pacleanerAUR.

### További parancsok

Szoftvercsomag letöltése telepítés nélkül:

    # pacman -Sw szoftvercsomagnév

Telepítsen egy lokális szoftvercsomagot, amely nem egy távoli szoftvercsomag-tárolóból származik (például a szoftvercsomag az AUR szoftvercsomag-tárolóból való):

    # pacman -U /útvonal/a/szoftvercsomaghoz/szoftvercsomagnév-verzió.pkg.tar.zst

Ha másolatot kíván megőrizni a lokális szoftvercsomagról a pacman gyorsítótárában, akkor használja a következőt:

    # pacman -U file:///útvonal/a/szoftvercsomaghoz/szoftvercsomagnév-verzió.pkg.tar.zst

Telepítsen egy 'távoli' szoftvercsomagot (amely nem szerepel a pacman beállításfájljaiban megadott szoftvercsomag-tárolók között):

    # pacman -U http://www.example.com/szoftvercsomag-tároló/példaszoftvercsomag.pkg.tar.zst

#### Próbaüzem

A pacman mindig felsorolja a telepítendő vagy eltávolítandó szoftvercsomagokat, és engedélyt kér, mielőtt bármilyen műveletet végrehajtana.

Ha feldolgozható formátumban szeretné megkapni a listát, és meg kívánja akadályozni a `-S`, `-U` és `-R` parancsok végrehajtását, akkor használhatja a `-p` kapcsolót, amely a `--print` rövidítése.

A `--print-format` hozzáadható a lista különböző formázásához. A `--print-format %n` egy olyan listát ad vissza, amely nem tartalmazza a szoftvercsomag-verziókat.

### Telepítés oka

A pacman adatbázisa a telepített szoftvercsomagokat kettő csoportba sorolja a telepítés oka szerint:

- Explicitly-installed (Közvetlen telepítési szándék. Szándékosan telepített.): Olyan szoftvercsomagok, amelyek közvetlen szándékkal, tudatosan lettek átadva egy általános pacman `-S` vagy `-U` parancsnak.
- Dependencies (Szoftvercsomag-függőségek): Olyan szoftvercsomagok, amelyek – bár általában soha nem lettek átadva egy pacman telepítési parancsnak – közvetett módon lettek telepítve, mivel azokat a szándékosan telepített szoftvercsomagok igényelték szoftvercsomag-függőség formájában.

A szoftvercsomag telepítésekor lehetőség van arra, hogy a szoftvercsomag telepítésének az okát szoftvercsomag-függőségként állítsuk be:

    # pacman -S --asdeps szoftvercsomagnév

A fenti parancs általában azért van használva, mert a szándékosan telepített szoftvercsomagok opcionálisan telepíthető szoftvercsomagokat kínálhatnak, amelyek jellemzően nem létfontosságú funkciókhoz tartoznak, és ezek telepítése az Ön döntésétől függ.

Tipp Az opcionálisszoftvercsomag-függőségek ( `--asdeps` ) kapcsolóval történő telepítés biztosítja, hogy amikor elárvult szoftvercsomagokat távolít el, akkor a pacman az ilyen módon beállított opcionális szoftvercsomagokat is eltávolítja.

Amikor azonban egy szoftvercsomagot ismét telepítünk, az aktuális telepítési ok alapértelmezetten megmarad.

A szándékosan telepített szoftvercsomagok listája megjeleníthető a `pacman -Qe` paranccsal, míg a szoftvercsomag-függőségként települt szoftvercsomagok listája a `pacman -Qd` parancs segítségével tekinthető meg.

A már telepített szoftvercsomag telepítési okának a módosítása érdekében futtassa a következő parancsot:

    # pacman -D --asdeps szoftvercsomagnév

Használja a `--asexplicit` kapcsolót az ellenkező művelet végrehajtásához.

Megjegyzés A `--asdeps` és `--asexplicit` kapcsolók használata frissítéskor – például a `pacman -Syu szoftvercsomagnév --asdeps` parancs esetén – nem javasolt. Ez ugyanis nemcsak a telepítendő szoftvercsomag, hanem az összes frissítésre kerülő szoftvercsomag telepítési okát is megváltoztatná.

### Mi történik a szoftvercsomag telepítése/frissítése/eltávolítása során?

Sikeres végrehajtás esetén a tranzakció munkafolyamata öt magas szintű lépést követ, valamint előleges és utólagos tranzakciós automatikus műveletindítót (hook-ot) tartalmaz:

1. Ha nincs az adatbázis lezárva, akkor inicializálja a tranzakciót.
2. Kiválassza, hogy mely szoftvercsomagok kerülnek hozzáadásra vagy eltávolításra a tranzakció során.
3. Előkészíti a tranzakciót a jelzők alapján, azáltal, hogy érvényességi ellenőrzéseket végez a szinkronizált adatbázisokon, szoftvercsomagokon és azok szoftvercsomag-függőségein.
4. Véglegesíti a tranzakciót:
   1. Ha alkalmazható, akkor letölti a szoftvercsomagokat (`_alpm_sync_load`).
   2. Ha a meglévő pacman `PreTransaction` automatikus műveletindítók (hook-ok) alkalmazhatóak, akkor azok végrehajtásra kerülnek.
   3. Eltávolításra kerülnek azok a szoftvercsomagok, amelyeket más szoftvercsomagoknak kell felváltaniuk, amelyek ütköznek más szoftvercsomagokkal, vagy amelyek kifejezetten eltávolításra lettek kijelölve.
   4. Ha vannak hozzáadandó szoftvercsomagok, akkor minden egyes szoftvercsomag véglegesítésre kerül:
      1. Ha a szoftvercsomagnak van telepítési szkriptje, akkor annak `pre_install` függvénye kerül végrehajtásra (vagy a `pre_upgrade`, illetve a `pre_remove` egy frissített vagy eltávolított szoftvercsomag esetén).
      2. A pacman törli az összes fájlt a szoftvercsomag előző verziójából (frissített vagy eltávolított szoftvercsomag esetén). Azonban a szoftvercsomagban beállításfájlként megjelölt fájlok megmaradnak (Részletek a /Pacnew and Pacsave (Magyar) leírásban).
      3. A pacman kicsomagolja a szoftvercsomagot, és annak fájljait elhelyezi az operációs rendszer fájlrendszerében (telepített vagy frissített szoftvercsomag esetén). Azok a fájlok, amelyek felülírnák a megőrzött és kézzel módosított beállításfájlokat (tekintse meg az előző lépést), új néven kerülnek tárolásra (.pacnew).
      4. Ha a szoftvercsomagnak van telepítési szkriptje, akkor annak `post_install` függvénye kerül végrehajtásra (vagy `post_upgrade`, illetve `post_remove` egy frissített vagy eltávolított szoftvercsomag esetén).
   5. Ha a tranzakció végén létező pacman `PostTransaction` automatikus műveletindítók (hook-ok) alkalmazhatóak, akkor azok végrehajtásra kerülnek.
5. Elengedi a tranzakciót, majd elengedi a tranzakciós erőforrást (tehát az adatbázis lezáródását elengedi).

## Beállítás

A pacman beállításai a `/etc/pacman.conf` fájlban találhatóak: Ez az a hely, ahol a felhasználó beállíthatja a szoftver működését a kívánt módon. A beállításfájlról részletes információ a pacman.conf(5) súgóban található.

### Általános beállítások

Az általános beállítások az `[options]` szakaszban találhatóak. Olvassa el a pacman.conf(5) súgót, vagy tekintse meg az alapértelmezett `pacman.conf` fájlt, hogy megtudja, milyen lehetőségek állnak itt rendelkezésre.

#### Verziók összehasonlítása frissítés előtt

A rendelkezésre álló szoftvercsomagok régi és új verzióinak megtekintéséhez a "VerbosePkgLists" sornál vegye ki a kommentezés jelet az `/etc/pacman.conf` fájlban. Az `pacman -Syu` parancs kimenete ezután a következőképpen fog kinézni:

    Package (6)             Old Version  New Version  Net Change  Download Size

    extra/libmariadbclient  10.1.9-4     10.1.10-1      0.03 MiB       4.35 MiB
    extra/libpng            1.6.19-1     1.6.20-1       0.00 MiB       0.23 MiB
    extra/mariadb           10.1.9-4     10.1.10-1      0.26 MiB      13.80 MiB

#### Párhuzamos letöltések

Az egyidejűleg (párhuzamosan) letöltött szoftvercsomagok számát az `/etc/pacman.conf` fájlban lehet beállítani a `ParallelDownloads` opcióval az `[options]` szekció alatt. Az pacman szoftvercsomaggal érkező `/etc/pacman.conf` fájl ezt az értéket `5`-re állítja. Ha az opció nincs megadva, akkor a szoftvercsomagok egymás után, szekvenciálisan kerülnek letöltésre.

#### Szoftvercsomag kihagyása a frissítésből

Figyelmeztetés Legyen óvatos a szoftvercsomagok kihagyásával, mivel a részleges frissítések nem támogatottak.

Ha azt szeretné, hogy egy adott szoftvercsomag kimaradjon az operácisó rendszer frissítése során, akkor adja hozzá a következő sort az `[options]` szekcióhoz:

    IgnorePkg=linux

Több szoftvercsomag esetén használjon szóközzel elválasztott listát, vagy adjon meg további `IgnorePkg` sorokat. Emellett glob minták is használhatóak. Ha kizárólag egyszer szeretné kihagyni a szoftvercsomagokat, akkor használhatja a `--ignore` parancssori opciót – ezúttal vesszővel elválasztott listával.

A kihagyott szoftvercsomagok továbbra is frissíthetőek a `pacman -S` parancs használatával: Ebben az esetben a pacman emlékeztetni fogja arra, hogy ezek a szoftvercsomagok szerepelnek egy `IgnorePkg` bejegyzésben.

#### Szoftvercsomagcsoport kihagyása a frissítésből

Figyelmeztetés Legyen óvatos a szoftvercsomagcsoportok kihagyásával, mivel a részleges frissítések nem támogatottak.

A szoftvercsomagokhoz hasonlóan, teljes szoftvercsomagcsoport kihagyására is lehetőség van:

    IgnoreGroup=gnome

#### Fájl kihagyása a frissítésből

Az összes fájl, amely a `NoUpgrade` direktívával van felsorolva, soha nem kerül módosításra szoftvercsomag telepítése vagy frissítése során, és az új fájlok .pacnew kiterjesztéssel lesznek telepítve.

    NoUpgrade=útvonal/a/fájlhoz

Több fájl is megadható a következő módon:

    NoUpgrade=útvonal/a/fájl1-hez útvonal/a/fájl2-höz

Megjegyzés Az elérési útvonal a szoftvercsomag-archívumban lévő fájlokra vonatkozik, ezért az ne tartalmazza a kezdő perjelet.

#### Fájlok kihagyása az operációs rendszerre történő telepítésből

Annak érdekében, hogy meghatározott fájlok vagy könyvtárak állandóan kimaradjanak a telepítési folyamat alól, sorolja fel azokat a `NoExtract` direktívánál. Például, ha el szeretné kerülni a bash kiegészítőszkriptek telepítését, akkor használja a következőt:

    NoExtract=usr/share/bash-completion/completions/*

A későbbi szabályok felülírják a korábbiakat, és egy szabályt úgy lehet megtagadni, hogy elé írja a `!` jelet (felkiáltójelet).

#### Több beállításfájl karbantartása

Ha több beállításfájllal rendelkezik (például fő beállításfájllal és olyan beállításfájllal, amelyben engedélyezve van a testing szoftvercsomag-tároló), és meg kellene osztania a beállításfájlokat a többi beállításfájl között, akkor használhatja az `Include` opciót, amelyet a beállításfájlokban kell megadni, például:

    Include = /útvonal/a/közös/beállításfájlokhoz

Ahol a `/útvonal/a/közös/beállításfájlokhoz` fájl ugyanazokat a beállításfájlokat tartalmazza mindkét beállításfájl számára.

#### Automatikus műveletindítók (Hooks)

Magyarázat: A "hook" (automatikus műveletindító) informatikai kontextusban olyan mechanizmus vagy programrészlet, amely lehetővé teszi, hogy egy adott esemény bekövetkezésekor automatikusan lefusson egy előre meghatározott művelet vagy parancs.

A pacman képes tranzakció előtti és utáni automatikus műveletindítókat futtatni a `/usr/share/libalpm/hooks/` könyvtárból. További könyvtárak adhatóak meg a `pacman.conf` fájlban található `HookDir` beállítással, amely alapértelmezetten a `/etc/pacman.d/hooks` értékre van állítva. A automatikusműveletindító-fájlok neveinek .hook végződéssel kell rendelkezniük. A pacman automatikus műveletindítók nem interaktívak.

A pacman automatikus műveletindítók például a `systemd-sysusers` és a `systemd-tmpfiles` szoftverekkel együtt arra vannak használva, hogy a szoftvercsomagok telepítése során automatikusan létrejöjjenek rendszerfelhasználók és fájlok. Például a tomcat8 szoftvercsomag előírja, hogy szüksége van egy `tomcat8` nevű rendszerfelhasználóra, valamint bizonyos, ennek a felhasználónak a tulajdonában lévő könyvtárakra. A pacman automatikus műveletindítók, mint a `systemd-sysusers.hook` és a `systemd-tmpfiles.hook`, meghívják a `systemd-sysusers` és a `systemd-tmpfiles` szoftvereket, amikor a pacman megállapítja, hogy a tomcat8 szoftvercsomag olyan fájlokat tartalmaz, amelyek felhasználókat és ideiglenes fájlokat határoznak meg.

Az alpm automatikus műveletindítókkal kapcsolatban további információért tekintse meg az alpm-hooks(5) man súgót.

### Szoftvercsomag-tárolók és tükörszerverek

Az [options] speciális szakaszon kívül a `pacman.conf` fájl minden más `[section]` része egy használni kívánt szoftvercsomag-tárolót határoz meg. A szoftvercsomag-tároló egy logikai szoftvercsomag-gyűjtemény, amely fizikailag egy vagy több szerveren van tárolva. Ezért minden ilyen szervert a szoftvercsomag-tároló tükörszerverének neveznek.

A szoftvercsomag-tárolók megkülönböztethetőek hivatalos és nem hivatalos kategóriákra. Számít a szoftvercsomag-tárolók sorrendje a beállításfájlban: Amennyiben két szoftvercsomag-tárolóban azonos nevű szoftvercsomag található, akkor az előbb felsorolt szoftvercsomag-tárolók elsőbbséget élveznek a későbbiekhez képest, függetlenül a szoftvercsomag verziószámtól. Ahhoz, hogy egy újonnan hozzáadott szoftvercsomag-tárolót használni tudjon, először frissítenie[Hibás hivatkozás: Érvénytelen szekció] kell az egész operációs rendszert.

Minden szoftvercsomagtároló-szakasz lehetővé teszi a tükörszerverek listájának közvetlen meghatározását, vagy egy külön külső fájlban a `Include` utasítással, például a hivatalos szoftvercsomag-tárolók tükrözése a `/etc/pacman.d/mirrorlist` fájlból történik. A tükörszerverek beállításáról tekintse meg a Mirrors című cikket.

#### Könyvtár a szoftvercsomag-gyorsítótár számára

A pacman a letöltött szoftvercsomagfájlokat a gyorsítótárban tárolja. Ez egy olyan könyvtárban, amelyet a `CacheDir` jelöl a `pacman.conf` fájl [options] szakaszában. (Ha nincs megadva, akkor alapértelmezés szerint a gyorsítótár a `/var/cache/pacman/pkg/` könyvtárat jelenti.)

Ha kizárólag a telepített szoftvercsomagok legfrissebb verzióit tartja meg, még akkor is idővel növekedhet a gyorsítótárkönyvtár mérete.

Amennyiben Ön azt szeretné, hogy ez a könyvtár egy másik, kényelmesebb helyre kerüljön át, akkor tegye a következők egyikét:

- Állítsa be a `CacheDir` opciót a `pacman.conf` fájlban az új könyvtárra. Ne felejtse el megtartani a záró perjelet. Ez az ajánlott megoldás.
- Csatoljon egy külön partíciót vagy például egy Btrfs alkönyvtárat a `/var/cache/pacman/pkg/` könyvtárba.
- Bind-mount segítségével csatolja fel a fájlrendszerbe a kiválasztott könyvtárat a `/var/cache/pacman/pkg/` könyvtárba.

Figyelmeztetés Ne hozzon létre szimbolikus linket a `/var/cache/pacman/pkg/` könyvtárból egy másik helyre. Ez működési hibát okozhat a pacman számára, különösen amikor a pacman megpróbálja frissíteni saját magát.

#### Szoftvercsomagok biztonsága

A pacman támogatja a szoftvercsomag-aláírásokat, amelyek további biztonsági réteget nyújtanak a szoftvercsomagok számára. Az alapértelmezett beállítás, `SigLevel = Required DatabaseOptional`, globális szinten engedélyezi az összes szoftvercsomag-aláírás ellenőrzését. Ez felülírható az egyes szoftvercsomag-tárolókhoz tartozó `SigLevel` sorokkal. A szoftvercsomag-aláírásról és az aláírás ellenőrzéséről további részleteket tudhat meg a pacman-key dokumentációban.

## Hibaelhárítás

### "Failed to commit transaction (conflicting files)" hiba

Amikor Ön a következő hibát látja: [1]

    error: could not prepare transaction
    error: failed to commit transaction (conflicting files)
    package: /path/to/file exists in filesystem
    Errors occurred, no packages were upgraded.

Ez azért történik, mert a pacman fájlütközést észlelt, és a tervezéséből adódóan nem írja felül az Ön fájljait. Ez szándékos működés, nem hiba.

A probléma általában könnyen megoldható (bár a biztonság kedvéért érdemes utánajárni, hogy miként kerültek oda ezek a fájlok). Biztonságos megoldás, ha először ellenőrzi, hogy egy másik szoftvercsomag tulajdonolja-e a fájlt (`pacman -Qo /útvonal/a/fájlhoz`). Ha a fájlt egy másik szoftvercsomag tulajdonolja, akkor Önnek hibajelentést kell benyújtania. Ha a fájlt nem tulajdonolja másik szoftvercsomag, akkor nevezze át a létezik a fájlrendszerben állapotú fájlt, majd futtassa újra a frissítési parancsot. Ha minden rendben zajlik, akkor a fájl ezután eltávolítható.

Amennyiben Ön egy szoftvert kézi úton telepített, nem pedig a pacman használatával – például a `make install` parancson keresztül –, akkor el kell távolítania ezt a programot az összes fájljával együtt. Részletekért tekintse meg Pacman tips (Magyar)#Azon fájlok beazonosítása amelyek egyik szoftvercsomag tulajdonában se nincsenek leírást.

Minden telepített szoftvercsomaghoz tartozik egy `/var/lib/pacman/local/szoftvercsomag-verzió/files` fájl, amely metaadatokat tartalmaz az adott szoftvercsomagról. Ha ez a fájl megsérül, üres vagy hiányzik, akkor `file exists in filesystem` hibát eredményez a szoftvercsomag frissítésekor. Az ilyen hiba általában csak egyetlen szoftvercsomagot érint. Ahelyett, hogy kézzel átnevezné és később eltávolítaná az érintett szoftvercsomaghoz tartozó összes fájlt, futtathatja a `pacman -S --overwrite glob package` parancsot, hogy a pacman felülírja azokat a fájlokat, amelyek megfelelnek a `glob` mintának.

Figyelmeztetés Általánosságban kerülje el a `--overwrite` kapcsoló használatát. Részletekért tekintse meg a System maintenance (Magyar)#Kerüljön el bizonyos pacman parancsokat leírást.

### "Failed to commit transaction (invalid or corrupted package)" error

This article or section is out of date.

Reason: A pacman 7.1.0 verziójával a lejárt kulcsok frissítéseinek automatikusan le kellene töltődniük (A megbízhatóság a kulcsinfrastruktúrától függ...). Ez megszüntetheti a "szoftvercsomag-sérült" üzeneteket, amikor a kulcsok frissítésre szorulnak. (Discuss in Talk:Pacman (Magyar))

Keresse meg a .part fájlokat (részlegesen letöltött szoftvercsomagokat) a `/var/cache/pacman/pkg/` könyvtárban, és távolítsa el őket. Ezeket gyakran egy egyedi `XferCommand` használata okozza a `pacman.conf` fájlban.

    # find /var/cache/pacman/pkg/ -iname "*.part" -delete

Ugyanaz a hiba akkor is megjelenhet, amikor az archlinux-keyring (Arch Linux kulcstartó) elavult, és ez megakadályozza, hogy a pacman ellenőrizze a szoftvercsomagok aláírásait. A megoldásért és a jövőbeni elkerülés módjáért tekintse meg a Pacman (Magyar)/Package signing (Magyar)#Rendszeresen frissítse az operációs rendszert című leírást.

### "Failed to init transaction (unable to lock database)" hiba

Amikor a pacman módosítani készül a szoftvercsomag-adatbázist (például egy szoftvercsomag telepítésekor), létrehoz egy zárolófájlt a `/var/lib/pacman/db.lck` helyen. Ez megakadályozza, hogy egy másik pacman példány egyszerre próbálja meg módosítani a csomagadatbázist.

Ha a pacman megszakításra kerül az adatbázis módosítása közben, akkor ez az elavult zárolófájl megmaradhat. Ha biztos abban, hogy nem fut egyetlen pacman példány sem, akkor törölje a zárolófájlt:

    # rm /var/lib/pacman/db.lck

Tipp Ön futtathatja a `fuser /var/lib/pacman/db.lck` parancsot rendszergazdaként, annak érdekében, hogy le ellenőrizze, vajon használja-e még valamelyik folyamat ezt a fájlt.

### Telepítéskor a szoftvercsomagokat nem lehet letölteni

Ez a hiba a `Not found in sync db`, `Target not found` vagy `Failed retrieving file` formákban jelentkezhet.

Először győződjön meg róla, hogy a szoftvercsomag valóban létezik. Ha biztos benne, hogy létezik, akkor előfordulhat, hogy a szoftvercsomaglista elavult. Próbálja meg futtatni a `pacman -Syu` parancsot, hogy frissüljön az összes szoftvercsomaglista és el legyen végezve a frissítés. Emellett ellenőrizze, hogy a kiválasztott tükörszerverek naprakészek-e, és hogy a szoftvercsomag-tárolók megfelelően be vannak-e állítva. A tükörszerverek naprakészen tartásához használhatja a Reflector segédszoftvert is.

Ha a pacman azt jelzi, hogy nincs frissítenivaló, de továbbra is megjelenik a `Failed retrieving file` hibaüzenet, akkor fontolja meg a adatbázis letöltésének kényszerítését a `pacman -Syyu` parancs használatával. Ez normál körülmények között soha nem szükséges, ezért vizsgálja meg alaposabban a tükörszerver állapotát és konzisztenciáját.

Az is előfordulhat, hogy a szoftvercsomagot tartalmazó szoftvercsomag-tároló nincs engedélyezve az Ön operációs rendszerén. Például a szoftvercsomag a multilib szoftvercsomag-tárolóban található, de a multilib nincs engedélyezve az `pacman.conf` fájlban.

Tekintse meg a FAQ (Magyar)#Miért van csak egyetlen verzió minden megosztott függvénykönyvtárból a hivatalos szoftvercsomag-tárolókban? című leírást.

### Megszakított frissítés miatt nem bootolható operációs rendszer kijavítása

This article or section needs expansion.

Reason: Több dolgot is figyelembe kell venni. (Discuss in Talk:Pacman (Magyar)#More details in pacman crashes during an update)

A frissítés megszakadhat áramkimaradás, kernelpánik vagy akár hardverhiba miatt is. A legtöbb esetben nem keletkezik jelentős kár, azonban az operációs rendszer nagy valószínűséggel nem lesz bootolható.

1. Készítse elő az USB telepítő adathordozót, és indítsa el róla a live telepítő operációs rendszert.
2. Csatolja fel a gyökérfájlrendszert, valamint az EFI rendszerpartíciót (ESP).
3. Lépjen be a felcsatolt gyökérfájlrendszerbe az `arch-chroot` parancs segítségével.
4. Ellenőrizze a `/var/log/pacman.log` fájlt, és állítsa össze pontosan azt a szoftvercsomaglistát, amelyet a sikertelen tranzakció során frissített. Adja meg ezt a teljes listát a `pacman -Syu` parancsnak, hogy újratelepítse a szoftvercsomagokat, és folytassa az eredeti frissítést:

    # pacman -Syu $(grep "\[2025-07-27T22.*\] \[ALPM\] upgraded" /var/log/pacman.log | cut -d " " -f4 | tr "\n" " ")

A frissítés pontos megismétlése szükséges annak érdekében, hogy a megfelelő szkriptek és automatikus műveletindítók (hooks) lefussanak.

### Frissítés közben összeomlik a pacman

Abban az esetben, amikor összeomlik a pacman "adatbázisírási" hibával szoftvercsomagok eltávolítása közben, és a szoftvercsomagok újratelepítése vagy frissítése ezt követően sikertelen, akkor az alábbi lépéseket hajtsa végre:

1. Az Arch USB telepítő adathordozóról indítsa el a telepítő operációs rendszert. Lehetőleg friss telepítőképfájlt használjon, hogy a telepítőn lévő pacman verziója megegyezzen az Ön operációs rendszerén lévő pacman verziójával, vagy legyen újabb annál.
2. Rendszergazdaként (root felhasználóként) csatolja fel az operációs rendszer gyökérfájlrendszerét, például a `mount /dev/sdaX /mnt` parancs futtatásával, majd ellenőrizze, hogy van-e elegendő szabad hely a felcsatolt köteteken a `df -h` parancs segítségével.
3. Csatolja fel a proc, sys és dev fájlrendszereket is a következő parancsokkal: `mount -t proc proc /mnt/proc; mount --rbind /sys /mnt/sys; mount --rbind /dev /mnt/dev`
4. Ha az operációs rendszer az alapértelmezett adatbázis és alapértelmezett könyvtárhelyeket használja, akkor most frissítheti az operációs rendszer pacman adatbázisát, és elvégezheti a frissítést a `pacman --root=/mnt --cachedir=/mnt/var/cache/pacman/pkg -Syu` parancs segítségével, mindezt rendszergazdai jogosultságokkal.
   - Alternatív megoldásként, amennyiben Ön nem tudja frissíteni vagy újratelepíteni az operációs rendszert, akkor tekintse meg a Pacman (Magyar)/Tips and tricks (Magyar)#Összes szoftvercsomag újratelepítése című leírást.
5. A frissítés után az egyik módja annak, hogy ellenőrizze a nem frissített, de még mindig hibás szoftvercsomagokat: `find /mnt/usr/lib -size 0`
6. Ezt követően telepítse újra a még mindig hibás szoftvercsomagokat a `pacman --root /mnt --cachedir=/mnt/var/cache/pacman/pkg -S szoftvercsomagnév` parancs futtatásával.

#### pacman: command not found

Ha a `/var/cache/pacman/pkg` könyvtár csak egy szimbolikus hivatkozás, akkor a pacman frissítés közben megpróbál egy valódi könyvtárat létrehozni, és ennek következtében eltávolítja ezt a szimbolikus hivatkozást. Ez a frissítés sikertelenségéhez vezet. Ennek eredményeként a `/usr/bin/pacman` és a pacman szoftvercsomag egyéb tartalmai hiányozni fognak.

Sosem szabad szimbolikus hivatkozást létrehozni a `/var/cache/pacman/pkg` helyen, mivel azt a pacman kezeli. Ehelyett használja a `CacheDir` beállítást vagy egy bind mount-ot. Részletekért tekintse meg a #Könyvtár a szoftvercsomag-gyorsítótár számára című leírást.

Ha már találkozott ezzel a problémával, és megsérült az Ön operációs rendszere, akkor kézzel kibonthatja a szoftvercsomagból a `/usr` könyvtár tartalmát a pacman visszaállításához, majd megfelelően újratelepítheti azt. Tekintse meg a FS#73306 hibabejelentést és a kapcsolódó fórumbejegyzést a részletekkel kapcsolatban.

### A pacman manuális úton történő telepítése

#### A pacman-static használata

A pacman-staticAUR a pacman forráskódból statikusan lefordított változata, így akkor is képes futni, ha az operációs rendszer függvénykönyvtárai nem működnek. Ez a akkor is hasznos lehet, amikor részleges frissítés történt, és a pacman már nem futtatható.

A rögzített megjegyzés és a PKGBUILD lehetőséget biztosít a bináris fájl közvetlen letöltésére, amely felhasználható a pacman újratelepítésére vagy a teljes operációs rendszer frissítésére részleges frissítés esetén.

##### Forráskódból előre lefordított pacman-static bináris szoftver használata, amikor a PKGBUILD forráskódból történő lefordítása sikertelen

Bizonyos esetekben előfordulhat, hogy az Ön operációs rendszere olyan mértékben sérült (például hiányzó vagy nem kompatibilis függvénykönyvtárak miatt), hogy nem tudja futtatni a `makepkg` parancsot, illetve nem képes forráskódból sikeresen lefordítani a `pacman-static` szoftvercsomagot az AUR szoftvercsomag-tárolóból.

Ha a PKGBUILD szkriptfájlból történő kódfordítás sikertelen, vagy a `makepkg` nem futtatható, akkor letölthet egy forráskódból előre lefordított `pacman-static` bináris fájlt megbízható forrásból. Ez a statikus bináris fájl nem függ az operációs rendszer függvénykönyvtáraitól, és felhasználható egy működőképes `pacman` visszaállítására az Ön operációs rendszerén.

Megbízható forrás a bináris fájlhoz:

    # https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/pacman-static

A használatához futtassa a következő parancsot:

    $ curl -L -o pacman-static https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/pacman-static
    $ chmod +x pacman-static
    $ sudo ./pacman-static -Syu pacman

Ez frissíteni fogja az Ön operációs rendszerét, és újratelepíti a `pacman` szoftvercsomagot, ezáltal kijavítva a hiányzó megosztott függvénykönyvtárakhoz kapcsolódó sérült szoftvercsomag-függőségeket.

#### Külső pacman használata

Ha még a `pacman-static` sem működik, akkor lehetőség van a helyreállításra egy külső pacman segítségével. Az egyik legegyszerűbb módszer erre az archiso használata, ahol a `--sysroot` vagy a `--root` kapcsolóval megadható az operációs rendszer csatolási pontja, amelyen a műveletet végre szeretné hajtani. A szükséges fájlrendszerek csatolásáról a `--sysroot` használatához tekintse meg a Chroot (Magyar)#A chroot használata leírást.

#### Manuális úton történő kibontással

Figyelmeztetés Ez a módszer rendkívül könnyen, még súlyosabban tönkreteheti az Ön operációs rendszerét. Kizárólag végső megoldásként alkalmazza, amennyiben a #Frissítés közben összeomlik a pacman című részben ismertetett eljárás nem lehetséges.

Még ha a pacman súlyosan sérült is, manuális úton, kézzel helyreállítható a legfrissebb szoftvercsomagok letöltésével és azok megfelelő helyekre történő kibontásával. A durva lépések a következők:

1. Határozza meg a telepítendő pacman szoftvercsomagnak a szoftvercsomag-függőségeit.
2. Töltse le az egyes szoftvercsomagokat az Ön által választott tükörszerverről.
3. Bontsa ki a szoftvercsomagokat a gyökérkönyvtárba.
4. Telepítse újra ezeket a szoftvercsomagokat a `pacman -S --overwrite` parancs segítségével, hogy ennek megfelelően frissítse a szoftvercsomag-adatbázist.
5. Végezze el az operációs rendszer teljes frissítését.

Ha rendelkezik egy jól működő Arch operációs rendszerrel, akkor a teljes szoftvercsomagfüggőségi-lista megtekinthető a következő paranccsal:

    $ pacman -Q $(pactree -u pacman)

Azonban előfordulhat, hogy csak néhány szoftvercsomag kell frissítenie, az adott problémától függően. Egy szoftvercsomag kibontásának példája:

    # tar -xvpwf szoftvercsomagnév.tar.zst -C / --exclude .PKGINFO --exclude .INSTALL --exclude .MTREE --exclude .BUILDINFO

Figyeljen a `w` kapcsoló használatára, amely az interaktív módot jelöli. A nem interaktív futtatás rendkívül kockázatos, mivel könnyen előfordulhat, hogy egy fontos fájlt felülír. Ügyeljen arra is, hogy a szoftvercsomagokat a megfelelő sorrendben bontsa ki (azaz először a szoftvercsomag-függőségeket). Ez a fórumbejegyzés egy olyan példát tartalmaz, ahol csak néhány pacman szoftvercsomag-függőség van sérülve.

### "Unable to find root device" hiba jelenik meg újraindítást követően

A legvalószínűbb, hogy az initramfs megsérült egy kernel frissítés során (ennek oka lehet a pacman `--overwrite` kapcsolójának a nem megfelelő használata). Kettő lehetőség van. Először próbálja meg a Fallback bejegyzést.

Tipp Abban az esetben, ha eltávolította a Fallback bejegyzést, mindig megnyomhatja a `Tab` billentyűt, amikor megjelenik a rendszerbetöltő menü (Syslinux esetén), vagy a `e` billentyűt (GRUB vagy systemd-boot esetén), nevezze át `initramfs-linux-fallback.img` névre, majd nyomja meg az `Enter` vagy `b` billentyűt (a rendszerbetöltő típusától függően), hogy az új paraméterekkel indítsa el az operációs rendszert.

Miután az operációs rendszer elindult, futtassa az alábbi parancsot (az alapértelmezett linux kernel esetén) konzolból vagy terminálból az initramfs képfájl forráskódból történő újraépítése érdekében:

    # mkinitcpio -p linux

Ha ez nem működik, akkor egy aktuális Arch kiadásból (CD/DVD vagy USB adathordozó) csatolja fel a root és boot partíciókat, sorrendben a `/mnt` és `/mnt/boot` könyvtárakba. Ezután végezze el a chroot műveletet az arch-chroot parancs segítségével:

    # arch-chroot /mnt
    # pacman -Syu mkinitcpio systemd linux

Megjegyzés

- Ha Ön nem rendelkezik aktuális kiadással, vagy csak egy másik "live" Linux disztribúció áll rendelkezésére, akkor a chroot műveletet a régi, hagyományos módon is elvégezheti. Nyilvánvalóan több gépelésre lesz szükség, mint egyszerűen a `arch-chroot` szkript futtatása.
- Ha a `Could not resolve host` üzenettel a pacman hibát jelez, akkor kérjük Önt, hogy ellenőrizze az internetkapcsolatát.
- Amennyiben Ön nem tud belépni az arch-chroot vagy chroot környezetbe, de arra van szükség, hogy szoftvercsomagokat telepítsen újra, akkor használhatja a `pacman --sysroot /mnt -Syu foo bar` parancsot. Ezáltal a pacman az Ön gyökérpartícióján fog működni.

A kernel (a linux szoftvercsomag) újratelepítése automatikusan újból legenerálja az initramfs képfájlt az `mkinitcpio -p linux` parancs segítségével. Tehát, ezt a műveletet Önnek külön nem szükséges elvégeznie.

Ezt követően javasolt futtatni az `exit`, `umount /mnt/{boot,}` és a `reboot` parancsokat.

### "Warning: current locale is invalid; using default "C" locale" hiba

Ahogy a hibaüzenet mondja, az Ön locale változója (nyelvterület-beállítások) nincs beállítva helyesen. Tekintse meg a Locale leírást.

### Hiányzó nyelvterületi beállításokra vonatkozó figyelmeztető üzenetek

Amikor a nyelvterületi beállítások fájljait szándékosan eltávolítják olyan szoftverekkel, mint a bleachbit vagy a localepurgeAUR, akkor a pacman figyelmeztetéseket adhat ki hiányzó nyelvterületi beállítások miatt a szoftvercsomag-frissítések során.

A figyelmeztetések elnyomásához ki lehet kommentelni a `CheckSpace` opciót a `pacman.conf` fájlban. Ne feledje, hogy a CheckSpace letiltása kikapcsolja a tárhelyellenőrzési funkciót minden szoftvercsomag-telepítésnél, ezért Ön ezt a kerülő megoldást kizárólag akkor alkalmazza, amikor rendelkezik alternatív módszerrel az adathordozó szabad területének a figyelésére.

### Nem veszi figyelembe a proxybeállításokat a pacman

Győződjön meg arról, hogy a releváns környezeti változók (`$http_proxy`, `$ftp_proxy` stb.) megfelelően vannak beállítva. Ha pacman szoftvercsomag-kezelőt sudo paranccsal használja, akkor be kell állítania a sudo parancsot, hogy átadja ezeket a környezeti változókat a pacman szoftvercsomag-kezelőnek. Továbbá, győződjön meg arról, hogy a dirmngr beállításfájlja tartalmazza a `honor-http-proxy` beállítást a `/etc/pacman.d/gnupg/dirmngr.conf` fájlban, hogy a proxy figyelembe legyen véve a kulcsok frissítésekor.

### Hogyan telepíthetem újra úgy az összes szoftvercsomagot, hogy meg legyen őrizve a szoftvercsomagokról az az információ, hogy azok szándékosan, vagy szoftvercsomag-függőségként lettek-e telepítve?

Az összes natív szoftvercsomag újratelepítéséhez használja a következő parancsot: `pacman -Qnq | pacman -S -` vagy `pacman -S $(pacman -Qnq)` (A `-S` opció alapértelmezés szerint megőrzi a telepítés okát).

Ezután újra kell telepítenie az összes külső szoftvercsomagot, amelyek a `pacman -Qmq` paranccsal listázhatók.

### "Cannot open shared object file" hiba

Úgy tűnik, hogy a pacman szoftvercsomag-kezelő előző tranzakciós művelete eltávolította vagy megsértette azokat a megosztott függvénykönyvtárakat, amelyekre magának a pacman szoftvercsomag-kezelőnek is szüksége van.

A helyzet helyreállításához manuális úton, kézzel kell kibontania a szükséges függvénykönyvtárakat az Ön fájlrendszerére. Először derítse ki, hogy melyik szoftvercsomag tartalmazza a hiányzó függvénykönyvtárat, majd keresse meg azt a pacman gyorsítótárában (`/var/cache/pacman/pkg/`). Bontsa ki a szükséges megosztott függvénykönyvtárat a fájlrendszerre. Ez lehetővé teszi a pacman futtatását.

Most következik a sérült szoftvercsomag újratelepítése. Ne feledje, hogy használni kell a `--overwrite` kapcsolót, mivel az imént kézzel bontott ki rendszerfájlokat, és a pacman erről nem tud. A pacman helyesen lecseréli a megosztott függvénykönyvtárfájlt a szoftvercsomagban található verzióra.

Ennyi. Frissítse az operációs rendszer többi részét.

### Szoftvercsomagok letöltésének megakadása

Jelentve lett néhány probléma a hálózati kapcsolatot illetően, amelyek megakadályozzák, hogy a pacman frissítse vagy szinkronizálja a szoftvercsomag-tárolókat. [2] [3] Amikor az Arch Linuxot natívan telepíti, ezek a problémák megoldhatóak úgy, hogy az alapértelmezett pacman fájlletöltő szoftverét egy alternatívára cseréli (további részletekért tekintse meg a pacman teljesítményének javítása leírást). Ha az Arch Linuxot vendég operációs rendszerként telepíti a VirtualBox környezetben, akkor a problémát szintén meg lehet oldani, amennyiben a gép tulajdonságainál a Host interface lehetőséget használja a NAT lehetőség helyett.

### Nem sikerült letölteni a 'core.db' fájlt a tükörszerverről

Ha ezt a hibaüzenetet kapja annak ellenére, hogy a tükörszerverek helyesen vannak beállítva, akkor próbáljon meg egy másik névkiszolgálót beállítani.

### error: 'local-package.pkg.tar': permission denied

Ha egy szoftvercsomagot szeretne telepíteni egy sshfs csatoláson keresztül a `pacman -U` használatával, és hibát kap, akkor helyezze át a szoftvercsomagot egy helyi könyvtárba, majd próbálja meg újra telepíteni.

### error: could not determine cachedir mount point /var/cache/pacman/pkg

A chroot környezetben történő végrehajtáskor – például a `pacman -Syu` parancs használatakor – hiba lép fel:

    error: could not determine cachedir mount point /var/cache/pacman/pkg
    error: failed to commit transaction (not enough free disk space)

Ez gyakran azért fordul elő, mert a chroot könyvtár nem csatolási pont, amikor belép a chroot környezetbe. A megoldáshoz tekintse meg a megjegyzést az Install Arch Linux from existing Linux (Magyar)#Downloading basic tools leírásban, valamint a arch-chroot(8) man súgóban, amely magyarázatot és példát nyújt a bind mounting használatára annak érdekében, hogy a chroot könyvtár csatolási ponttá váljon.

### error: GPGME error: No data

Ha nem tudja frissíteni a szoftvercsomagokat, és a címben szereplő hibát kapja, akkor próbálja meg az `rm -r /var/lib/pacman/sync/` parancs futtatását, mielőtt újra megpróbálná a frissítést.

Ha a szinkronizációs fájlok eltávolítása nem segít, akkor ellenőrizze a `file /var/lib/pacman/sync/*` parancs kiadásával, hogy ezek a fájlok valóban `gzip tömörített adatok` még mielőtt megkísérelné a frissítést. Egy útválasztó vagy proxy megakadályozhatja a letöltéseket. Az akadályozás akár HTML típusú is lehet.

Ha a szinkronizációs fájlok megfelelő típusúak, akkor előfordulhat, hogy a tükörszerverrel van probléma. Ellenőrizze a használt tükörszerver(eke)t a `pacman-conf -r core` és `pacman-conf -r extra` parancsokkal. Illessze be a legelsőként visszaadott URL címet egy böngészőbe, és ellenőrizze, hogy megjelenik-e egy fájllista. Ha a tükörszerver hibát dob vissza, akkor kommentálja ki az adott sort a `/etc/pacman.d/mirrorlist` fájlban. Megpróbálhatja a tükörszerverek frissítését vagy újbóli sorban történő elrendezését is.

### error: GPGME error: General error and ":: File /var/cache/pacman/pkg/<package>.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).

Ha ez a hiba jelentkezik, és például nem tudja frissíteni az operációs rendszert vagy egyetlen szoftvercsomagot sem tud frissíteni, akkor lehetséges, hogy a `DISPLAY` értéke üresre van állítva, ami úgy tűnik, hogy megszakítja a GPG-folyamatot.

Ebben az esetben az `unset DISPLAY` parancs kiadása vagy a változó tetszőleges értékre való beállítása nagy valószínűséggel ismét lehetővé teszi a frissítést, amennyiben a fentebb említett lehetőségek egyike sem oldotta meg a problémát. További részletekért tekintse meg ezt a fórumbejegyzést.

### Reinstall broken or out-of-sync packages

Használhatja a `pacman -Qk $pkg` parancsot annak ellenőrzésére, hogy a(z) `$pkg` szoftvercsomag telepített fájljai megegyeznek-e az adatbázisban szereplő verzió fájljaival. Több szoftvercsomag esetén az alábbi ciklus segítségével újratelepítheti azokat, amelyeknél hiányzó fájl található:

    # LC_ALL=C.UTF-8 pacman -Qk 2>/dev/null | grep -v ' 0 missing files' | cut -d: -f1 |
        while read -r package; do
            pacman -S "$package" --noconfirm
        done

Tegyük fel, hogy a helyi adatbázis, amely a `/var/lib/pacman` könyvtárban található, naprakészebb, mint a telepített szoftvercsomagok a `/` fájlrendszerben (például részleges visszaállítás miatt), akkor ez a módszer megfelelő a gyökérfájlrendszer újraszinkronizálásához a helyi adatbázissal.

## További olvasnivaló a témában

- libalpm(3)
- pacman(8)
- pacman.conf(5)
- repo-add(8)

Categories:

- Arch projects (Magyar)
- Package manager (Magyar)

Hidden categories:

- Pages with broken section links
- Pages or sections flagged with Template:Out of date
- Pages or sections flagged with Template:Expansion

pacman (Magyar)
Add topic