====== Rezolvarea conflictelor de fișiere între pachete Mesa (dpkg) ====== Acest articol descrie cum se rezolvă eroarea de conflict de fișiere apărută la actualizarea driverelor Mesa prin PPA-ul **kisak-mesa** pe Ubuntu/Linux Mint. ---- ===== Descrierea problemei ===== La rularea ''sudo apt install -f'' sau ''sudo apt upgrade'', dpkg poate refuza instalarea cu o eroare de forma: dpkg: eroare la procesarea arhivei /var/cache/apt/archives/mesa-libgallium_26.0.0~kisak2~n_i386.deb (--unpack): se încearcă suprascrierea lui „/usr/lib/i386-linux-gnu/dri/nouveau_drv_video.so", care este și în pachetul mesa-va-drivers:i386 25.3.5~kisak1~n E: Sub-process /usr/bin/dpkg returned an error code (1) ===== Cauza ===== La trecerea de la Mesa 25.x la 26.x, fișierele au fost **reorganizate între pachete**. Concret, fișierul ''nouveau_drv_video.so'' a fost mutat din pachetul ''mesa-va-drivers'' în ''mesa-libgallium''. DPKG nu permite suprascrierea unui fișier care aparține unui pachet instalat, fără ca acel pachet să fie eliminat în prealabil. ===== Soluție ===== ==== Pasul 1: Încearcă repararea automată ==== sudo apt install -f Dacă APT poate rezolva singur conflictul (de exemplu dacă programează eliminarea ''mesa-va-drivers:i386'' înainte de instalare), problema se rezolvă aici. Dacă eroarea persistă, continuă cu pașii următori. ==== Pasul 2: Elimină forțat pachetele conflictuale ==== Pachetul ''va-driver-all:i386'' depinde de ''mesa-va-drivers:i386'', deci ambele trebuie eliminate împreună: sudo dpkg --remove --force-all mesa-va-drivers:i386 va-driver-all:i386 > **Atenție:** Opțiunea ''%%--force-all%%'' ignoră dependențele. Este sigură în acest context deoarece APT va reinstala pachetele necesare în pasul următor. ==== Pasul 3: Lasă APT să reinstaleze corect ==== sudo apt install -f APT va instala acum Mesa 26.x fără conflicte, iar ''va-driver-all'' va fi reinstalat automat dacă este necesar. ==== Pasul 4: Curăță pachetele orfane ==== sudo apt autoremove ===== Întrebare frecventă ===== ==== De ce nu funcționează --force-remove-reinstreq singur? ==== sudo dpkg --remove --force-remove-reinstreq mesa-va-drivers:i386 # Eroare: va-driver-all:i386 depinde de mesa-va-drivers. Opțiunea ''%%--force-remove-reinstreq%%'' ignoră doar **starea internă de reinstalare necesară** (flag-ul ''reinst-required'' din baza de date dpkg), dar **nu ignoră dependențele altor pachete instalate**. De aceea este nevoie fie de ''%%--force-all%%'', fie de eliminarea prealabilă a pachetului dependent. ===== Verificare finală ===== sudo apt update && sudo apt upgrade Nu ar trebui să mai existe pachete incomplete (''9 instalat(e) sau eliminat(e) incomplet'') sau erori de conflict. ---- ===== Vezi și ===== * [[:chei_gpg_lipsa|Cheie GPG lipsă pentru repo-uri externe]] * [[https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa|PPA kisak-mesa pe Launchpad]] * [[https://manpages.ubuntu.com/manpages/resolute/en/man1/dpkg.1.html|Pagina de manual dpkg]] {{tag>mesa apt dpkg linux-mint ubuntu}}