Pacman hiba elhárítás

From Manjaro Linux
Jump to: navigation, search

Szoftver telepítés

A programok letöltésével, telepítésével és a Manjaro tárolókkal kapcsolatos hibák és elhárításuk.

"Unable to lock database" hiba

Amikor letöltesz és telepítesz egy programot a tárolóból, a rendszer létrehoz egy speciális adatbázis zároló fájlt, hogy egyszerre csak egy telepítési folyamat futhasson. Különben a párhuzamosan több forrásból, több program telepítése hibát okozhat a letöltött fájlokban, és fájl ütközések jöhetnek létre vagy a legrosszabb esetben maga a rendszer is tönkre mehet. A telepítés sikeres befejezése után ez zároló fájl automatikusan törlődik. Ennek a hibának két oka lehet:

  • Már fut egy telepítési folyamat ami még nem fejeződőt be.
  • Az előző telepítési folyamat nem rendben fejeződőt be (pl.: meg lett szakítva)

Először ellenőrizd, hogy fut-e már egy telepítési folyamat (vagy befejeződött-e az előző) ami a hibát okozhatja. Ha megbizonyosodtál, hogy nem fut másik folyamat akkor saját kezűleg kell törölnöd a zároló fájlt. Ehhez terminálban a következő parancsot kell kiadnod:

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

Törlés után ismét tudsz programokat telepíteni.


"Failed to commit transaction (invalid or corrupted package)" hiba

Mindannyiunknak saját aláírásunk van amit azonosításra használunk és hogy megelőzzük a vissza éleseket, vagy mások rossz indulatú tevékenységét. Ugyan ez a helyzet a szoftver tárolókban található szoftver csomagokkal is. Tartalmaznak egy egyedi titkosított kódot (signature keys) amivel a fejlesztők hitelesítik őket, igazolva, hogy nem veszélyesek.

A telepítési folyamat során, letöltés után a rendszer ellenőrzi a csomagok aláírását ( signature keys), azonosítja őket telepítés előtt. Ha az aláírás nem megfelelő a telepítés leáll. Ezt a hibát általában a következők okozzák:

  • egy vagy több a rendszeradatbázisban tárolt aláírás visszavonásra került, megváltozott, sérült vagy lejárt az érvényessége
  • egy vagy több szoftver csomag nem megfelelő aláírással került be a tárolóba


A tárolóba nem a megfelelő aláírással bekerült csomagok javításáért a fejlesztők felelnek. De sokkal valószínűbb hogy a hiba rendszered aláírás ellenőrzésében van, amit három lépésben egyszerűen megoldhatsz. Nyiss egy terminált aztán:


1. Frissítsd az aláírásokat, a következő paranccsal:

sudo pacman-key --refresh-keys


2. Töltsd újra be az aláírásokat, a következő paranccsal:

sudo pacman-key --populate archlinux manjaro


3. Töröld a megszakadt telepítés során letöltött csomagokat, a következő paranccsal:

sudo pacman -Scc


A folyamat közben meg kell erősítened, hogy tényleg törölni akarod a fájlokat és a használaton kívüli tárolókat. Mindkét esetben írj be y-t 'yes' (vagy i-t az igenhez) a megerősítéshez. Ezek után a frissített és újra betöltött aláírásokkal már rendben letöltheted és telepítheted a kívánt programokat.




Tip: Ha további kérdésed van a programok telepítésével kapcsolatosan nézz be a fórumra segítségért, tanácsért. The Official Manjaro Forum


"Configuration file...not recognized" hiba

Tip: A Change to a Different Download Server útmutató részletesen leírja hogyan választhatsz és engedélyezhetsz másik Manjaro kiszolgáló szervert a letöltéshez.


A Manjaro csomag kezelője - pacman - a mirrorlist nevű fájlban tárolja a Manjaro szerverek internetes címeit ahonnan letöltheti a frissítéseket és a programokat. Ez a hiba akkor jelentkezik, ha a fájlban egy vagy több szerver internet címe nem helyesen szerepel, mivel így a pacman nem tud kapcsolódni a szerverekhez. Ez a hiba jellemzően a következők után közvetlen jelentkezik.

  • A Manjaro telepítése után ( a mirrorlist fájl meg lett változtatva telepítés folyamán)
  • A mirrorlist fájl későbbi szerkesztése, változtatása után


A mirrorlist fájl megnyitása

Terminálban a következő szintaxis szerint kell a parancsot kiadnod, hogy szerkesztésre meg nyisd a fájt:

sudo [szöveg szerkesztő] /etc/pacman.d/mirrorlist


Például nano (alapvető terminál alapú szöveg szerkesztő) használata esetén:

sudo nano /etc/pacman.d/mirrorlist


Vagy ha – teljes kiadású verziót használsz, nem NET kiadást – más könnyebben kezelhető szövegszerkesztőt is használhatsz pl. gedit, ekkor a következő parancsot használd:

sudo gedit /etc/pacman.d/mirrorlist


A mirrorlist magyarázata

Ha megnyitottad valami hasonlót fogsz látni (a szöveg a magyarázat miatt van kiszínezve):

# Server list generated by rankmirrors on 2012-10-07
##
## Manjaro Linux repository mirrorlist
## Generated on 2012-09-11
##
## France
# http://manjarolinux.polymorf.fr/$repo/$arch ... 0.494
## Germany
# http://mirrors.mycraft.eu/manjaro/$repo/$arch ... 0.367
# http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch ... 0.300
## Greece
# http://ftp.cc.uoc.gr/mirrors/linux/manjaro/$repo/$arch ... 0.769
## United Kingdom
# http://repo.manjaro.org.uk/$repo/$arch ... 0.518
## United States
# http://mirror.dacentec.com/manjaro/$repo/$arch ... 0.887
Server = http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch
Server = http://mirrors.mycraft.eu/manjaro/$repo/$arch
Server = http://manjarolinux.polymorf.fr/$repo/$arch
Server = http://repo.manjaro.org.uk/$repo/$arch


Azokat sorokat amik hash '#' jelel kezdődnek a pacman nem használja. A fájl elején szereplő lista országonként mutatja a szerverek címeit és információit. Ezek neked ( nem a pacmanak) mondják el, országonként melyik szerver érhető el. A soronként pirossal kiemelve láthatod a szerver sebességét. Az alsó részen szereplő sorokat ami előtt nincs hash '#' jel használja a pacman a szerverekhez való csatlakozáshoz. Ezeknek a soroknak Server = kell kezdődniük. Ezeket sorrend szerint vannak használva.


A mirrorlist fájl javítása

Általában a hiba oka az, hogy a Manjaro nem képes a listában szereplő egy vagy több szerverhez csatlakozni, mert:

  • Nem lett minden szöveg eltávolítva a címből, átmásoláskor, amik a szerver sebbeségét mutatják (e.g. '... 0.769'),
  • Hiányzik Server = parancs a szerver címek elől.


Ellenőrizd, hogy az hash '#' jel nélküli sorokban az internetes cím végén ne legyen semmilyen fölösleges szöveg még pont sem, mert a pacman azokat is a cím részeként értelmezi, ami hibát okoz. Bizonyosodj meg hogy a szerver címek 'Server =' paranccsal kezdődnek, különben a pacman nem ismeri fel hogy ez a szerver címe. Végül ha előzőleg te írtad be, vagy másoltad be a címeket ellenőrizd, hogy azok tökéletesen megegyezzenek, egyetlen téves vagy hiányzó karakter is hibát okozz.




Tip: A helyet, hogy meg próbálnád használni a felső részen felsorolt szervereket a hash jel eltávolításával, sokkal egyszerűbb a lista alján lévő sorokban kicserélni a címeket. Úgyis a leggyorsabb szervert fogja használni a pacman.


Ha befejezted mentsd el a változtatásokat, és zárd be a szerkesztőt:

  • nano: nyomj CTRL-t és+ 'x'-t a kilépéshez, 'y' a mentéshez, és <entert> a befejezéshez
  • gedit: mentsd el, és zárd be az ablakot


Szinkronizálás a Manjaro szerverekkel

Ha befejezted a mirrorlist fájl szerkesztését, szinkronizálni kell a szerverekkel. Amit terminálban a következő paranccsal tehetsz meg:

sudo pacman -Syy


"GPGME error: No data" hiba

Ez akkor jelentkezik ha a pacman a csomagok letöltése közben hibát észlel. Letöltéskor a pacman ellenőrzi a csomag aláírását és épségét, ha hibát észlel a rendszer védelme érdekében leállítja a telepítést, amíg a hibát ki nem javítod.


Első lehetőség: alap eljárás

A hiba elhárításához először kövesd a következő lépéseket, ha nem sikerül meg oldani a problémát, egy sokkal átfogóbb eljárás is elérhető lentebb.


1. Szinkronizálj újra a Manjaro szervekkel hogy minden napra kész legyen, a következő paranccsal:

sudo pacman -Syy


2. Töröld a meghiúsult telepítés közben letöltött csomagokat, következő paranccsal:

sudo pacman -Scc


3. Kezd újra a telepítést.


Másik lehetőség: az átfogó eljárás

Ha az alap eljárás nem oldotta meg a problémát kövesd ezeket a lépéseket:


1. Szinkronizálj újra a Manjaro szervekkel hogy minden napra kész legyen, a következő paranccsal:

sudo pacman -Syy


2. Frissítsd az csomag aláírásokat következő paranccsal:

sudo pacman-key --refresh-keys


3. Töltsd be az új csomag aláírásokat, a következő paranccsal:

sudo pacman-key --populate archlinux manjaro


4. Töröld a meghiúsult telepítés közben letöltött csomagokat, következő paranccsal:

sudo pacman -Scc


5. Kezd újra a telepítést.


Ha a hiba nem szűnt meg nézd át a Change to a Different Download Server részt is.


Lásd még