pacman (Magyar)

Fordítás állapota:
Ez az oldal az angol
Pacman
című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.02.20. Amennyiben a lefordítás időpontja óta az angol nyelvű oldalon történtek újabb
módosítások
, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.
További oldalak az adott témakörben
/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
#Szoftvercsomag-adatbázisok lekérdezése
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
#Telepítés oka
című 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
nélkül (például amikor egy
szoftvercsomag már nem található
a hivatalos szoftvercsomag-tárolókban). A gyakorlatban
ne
futtassa a
pacman -Sy
szoftvercsomagneve
parancsot a
pacman -Sy
u
szoftvercsomagneve
helyett, mivel az előbbi szoftvercsomag-függőségi problémákhoz vezethet. Tekintse meg a
System maintenance#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
...
Tipp
Egy szoftvercsomag újbóli feltelepítése érdekében pontosan ugyanaz a parancs használható, mint amely parancs az első feltelepítésekor volt használva.
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#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#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#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/Tips and tricks
című cikket.
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:
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.
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
, amely automatikusan lefut minden
pacman
tranzakció után.
Telepítse
a
paccache-hook
AUR
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
pkgcacheclean
AUR
és a
pacleaner
AUR
.
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:
Ha nincs az adatbázis lezárva, akkor inicializálja a tranzakciót.
Kiválassza, hogy mely szoftvercsomagok kerülnek hozzáadásra vagy eltávolításra a tranzakció során.
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.
Véglegesíti a tranzakciót:
Ha alkalmazható, akkor letölti a szoftvercsomagokat (
_alpm_sync_load
).
Ha a meglévő
pacman
PreTransaction
automatikus műveletindítók (hook-ok) alkalmazhatóak, akkor azok végrehajtásra kerülnek.
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.
Ha vannak hozzáadandó szoftvercsomagok, akkor minden egyes szoftvercsomag véglegesítésre kerül:
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).
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
című cikket).
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
).
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).
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.
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ő feltelepítésből
Annak érdekében, hogy meghatározott fájlok vagy könyvtárak állandóan kimaradjanak a feltelepítési folyamat alól, sorolja fel a fájlokat a
NoExtract
direktívánál. Például, amennyiben Ön el szeretné kerülni a bash kiegészítőszkriptek számítógépre történő feltelepí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 Ön 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
(Fordítói megjegyzés: 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
AUR
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
AUR
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#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#Kerüljön el bizonyos pacman parancsokat
című 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/Package signing#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#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ó.
Készítse elő az
USB telepítő adathordozót
, és indítsa el róla a live telepítő operációs rendszert.
Csatolja fel
a gyökérfájlrendszert, valamint az EFI rendszerpartíciót (
ESP
).
Lépjen be a felcsatolt gyökérfájlrendszerbe az
arch-chroot
parancs segítségével.
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 (hook fájlok) 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:
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.
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.
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
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/Tips and tricks#Összes szoftvercsomag újratelepítése
című leírást.
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
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-static
AUR
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ó.
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 helyzetekben előfordulhat, hogy az Ön operációs rendszere túlságosan sérült ahhoz, hogy futtassa a
makepkg
parancsot, vagy, hogy forráskódból lefordítsa a
pacman-static
AUR
szoftvercsomagot (például hiányzó vagy nem kompatibilis függvénykönyvtárak miatt). Ebben az esetben Ön egy megbízható helyről letölthet egy forráskódból előre lefordított
pacman-static
binárisan futtatható programot. Ez a statikus binárisan futtatható program nem függ az operációs rendszer függvénykönyvtáraitól, és felhasználható arra, hogy helyreállítsa a
pacman
programot az Ön operációs rendszerén.
Egy elavult, binárisan futtatható pacman program letölthető a
https://pkgbuild.com/~morganamilo/pacman-static/x86_64/bin/pacman-static
weboldalról.
Töltse le a programot, tegye
futtathatóvá
, majd a parancssorban tuttassa a programot a következő parancs segítségével:
# ./pacman-static -Syu pacman
A fenti parancs frissíteni fogja az Ön operációs rendszerét, és újból feltelepíti a
pacman
szoftvercsomagot az Ön számítógépére. Ezáltal a futtatott pacman program kijavítva a számítógépen hiányzó megosztott függvénykönyvtárakhoz kapcsolódó sérült szoftvercsomag-függőségeket.
Külső pacman használata
Amennyiben 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#A chroot használata
című 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:
Határozza meg a telepítendő
pacman
szoftvercsomagnak a szoftvercsomag-függőségeit.
Töltse le az egyes szoftvercsomagokat az Ön által választott
tükörszerverről
.
Bontsa ki a szoftvercsomagokat a gyökérkönyvtárba.
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.
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
localepurge
AUR
, 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#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.
A sérül vagy a nem szinkronban lévő szoftvercsomagok újratelepítése
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)