Pakker i inkonsistent tilstand - løses sådan

Har du en guide til en funktion eller et program? Har du tips og trick, som du gerne vil dele med andre? Post dem her.
laoshi
Redaktør
Indlæg: 5515
Tilmeldt: 26. apr 2008, 20:52
IRC nickname: laoshi
Geografisk sted: Vejle

Pakker i inkonsistent tilstand - løses sådan

Indlæg af laoshi »

Det hænder at der opstår problemer ved afinstallation af programpakker, hvor man får en melding om at pakken først skal repareres inden afinstallation, hvilket man ikke kan gøre. Eller om at der er pakker i inkonsistent tilstand, hvilket blokerer for installation/afinstallation.
Men der er en metode til løsning af dette problem, som virker. Brug den, hvis det er nødvendigt, men brug den med omhu. Hold opmærksomheden på det du laver og følg vejledningen ganske nøje, da du ellers risikerer at få endnu større problemer end du allerede har!
Men med en backup skal det nu nok gå.
Jeg forudsætter at du har aptitude installeret. Hvis ikke, så anbefaler jeg at du installerer det. Ellers må du i oprydning og opdatering bruge de tilsvarende kommandoer med apt-get.

Her følger metoden - bemærk at du skal erstatte PAKKENAVN med navnet på den programpakke som udløser fejlmeldingen.

Du skal ind i systemets liste over installerede pakker og fjerne oplysningerne om PAKKENAVN og derefter opdatere systemet.

1. Lav en backup af /var/lib/dpkg/status

VIGTIGT - du skal til at ændre i en central systemfil, så hvis det går galt, er du i store problemer uden en backup.
Du kører

Kode: Vælg alt

sudo cp /var/lib/dpkg/status /var/lib/dpkg/status_backup

så er den gamle version gemt i /var/lib/ som status_backup, og den kan så bruges i nødstilfælde.

2. Åbn /var/lib/dpkg/status med gedit i superbrugertilstand

Kode: Vælg alt

gksu gedit /var/lib/dpkg/status

3. Så kommer det kritiske punkt. Nu skal du redigere i listen.
Du søger efter teksten Package: PAKKENAVN
brug <ctrl>+f for at søge.

Når du finder teksten - og det skal være lige præcis denne tekst - og den skal komme lige efter en tom linje, så er du det rette sted.

Hver programpakkes informationer står nemlig i en 'blok' som befinder sig mellem tomme linjer.

4. Du skal nu slette hele den blok som hedder Package: PAKKENAVN
- hverken mere eller mindre.

Slet evt. en linje ad gangen, indtil du kommer til en ny tom linje. Der skal nu være én tom linje mellem de pakker som er tilbage før og efter den som du har slettet.

5. Gem filen og afslut gedit

6. Installer PAKKENAVN (hvis du altså vil geninstallere programmet)

Kode: Vælg alt

sudo aptitude install PAKKENAVN

7. Ryd op og opdater med

Kode: Vælg alt

sudo aptitude purge ~b && sudo aptitude purge ~c && sudo aptitude safe-upgrade

8. Når det så er gennemført og tingene fungerer som de skal, og du igen trækker vejret normalt, kan du fjerne den backup som du lavede:

Kode: Vælg alt

sudo rm /var/lib/dpkg/status_backup
"Von guten Mächten wunderbar geborgen
erwarten wir getrost was kommen mag.
Gott ist mit uns am Abend und am Morgen
Und ganz gewiss an jedem neuen Tag"

(Dietrich Bonhoeffer 1906-1945)

http://www.stromata.dk
https://wiki.ubuntu.com/FlemmingChristensen
https://launchpad.net/~laoshi
Brugeravatar
Martin Jørgensen
Indlæg: 406
Tilmeldt: 24. dec 2010, 15:58
IRC nickname: Martinjo84

Re: Pakker i inkonsistent tilstand - løses sådan

Indlæg af Martin Jørgensen »

mange tak du er en supermand :D