Guider

Hvordan fikse uoppfylte avhengighetsfeil på Ubuntu

Feil Følgende pakker har uavhengige avhengigheter har plaget Ubuntu-brukere en stund nå, og det blir stadig flere observasjoner av feilen på forskjellige versjoner av Ubuntu. APT-pakkehåndteringssystemet er enkelt å bruke, men i noen tilfeller, for eksempel når du blander inn tredjepartsavhengigheter, kan du få denne feilen fra apt-get.

Dette skjer når du prøver å installere noe med apt-systemet via en terminal, og installasjonen mislykkes uten noe åpenbart problem overhodet. Dette problemet er ikke begrenset til et bestemt program, men det kan skje med ganske mange av dem. Dette er fordi problemet ligger i apt-systemet, og ikke i programmet du installerer.

Det er heldigvis ganske mange løsninger for dette, hvorav noen er enklere å gjøre og andre vanskeligere, men hvis du følger instruksjonene i metodene nedenfor, vil du bli kvitt feilen på kort tid.

Merk: Før du fortsetter med noen av metodene, anbefales det at du sikkerhetskopierer konfigurasjonsfiler som f.eks slik at du kan tilbakestille eventuelle endringer i tilfelle noe går galt. Dette gjøres ved å bruke følgende trinn:

  1. Trykk samtidig på Alt, Ctrl og T på tastaturet for å åpne en terminal.
  2. Skriv inn og trykk Enter.
  3. Når den forrige kommandoen er ferdig, skriv inn sudo cp / var / lib / dpkg / status /var/lib/dpkg/status.original og trykk Enter igjen.

Metode 1: Bruk parameteren -f

Dette er den enkleste å prøve, og krever bare å legge til to bokstaver til i kommandoen du skriver. I stedet for å bruke sudo apt-get install PACKAGENAME, der PACKAGENAME er pakken du prøver å installere med apt-systemet, bruk sudo apt-get install -f. De -f parameteren vil prøve å korrigere et system som har ødelagte avhengigheter, og deretter vil du kunne installere den aktuelle pakken.

  1. Åpne en Terminal ved å trykke Ctrl, Alt og T samtidig på tastaturet.
  2. Skriv inn sudo apt-get install -f og trykk Tast inn å utføre det.
  3. Når det er gjort, skriv inn sudo dpkg –configure -a, trykk Tast inn å kjøre den, og kjøre kommando fra trinn 2 en gang til.

Metode 2: Bruk Aptitude

Evne er et alternativ til apt-get som du kan bruke som en pakkebehandling på høyere nivå. Du kan bruke den til å prøve å installere pakken med den, i stedet for apt-get, men først må du installere evne.

  1. Trykk samtidig på Ctrl, Alt, og T tastene på tastaturet for å åpne en
  2. Skriv inn sudo apt-get install aptitude og trykk Tast inn å utføre kommandoen.
  3. Skriv inn sudo aptitude installer PACKAGENAME, der PACKAGENAME er pakken du installerer, og trykk på Tast inn å utføre det. Dette vil prøve å installere pakken via aptitude i stedet for apt-get, noe som potensielt kan løse problemet med uavhengige avhengigheter.

Metode 3: Forsikre deg om at de begrensede arkivene og univers-arkivene er aktivert, og prøv en bedre server

  1. Trykk samtidig Alt og F2 skriv inn på datamaskinen din programvare-egenskaper-gtk og trykk
  2. I Ubuntu-programvare kategorien, sørg for at alle depotene (hoved, univers, begrenset, multiverse) er aktivert.
  3. Klikk listen over servere der det står Last ned fra, og velg
  4. Klikk Velg Beste server.
  5. trykk Alt, Ctrl og T samtidig for å åpne en terminal, og skriv inn sudo apt-get oppdatering, trykk deretter Når den er ferdig kjørt, kan du prøve å installere programvaren igjen.

Metode 4: Rengjør pakkedatabasen

En ødelagt pakkedatabase er en potensiell årsak til uoppfylte avhengigheter, så vel som pakker som ikke installeres riktig. Rengjøring av pakkedatabasen kan imidlertid løse dette, og du kan gjøre det med to kommandoer, som jeg vil forklare nedenfor. Først av alt, men trykk Ctrl, Alt og T å åpne en terminal, og ikke glem å slå Tast inn etter kommandoen for å kjøre den.

  1. sudo apt-bli ren vil rense det lokale depotet fra alle hentede pakkefiler (.deb). Det fjerner alt unntatt låsefilene fra / var / cache / apt / arkiver, og / var / cache / apt / arkiver / delvis /.
  2. sudo apt-get autoclean vil også rydde opp de hentede filene, men i motsetning til forrige kommando fjerner denne bare pakker som du ikke lenger kan laste ned og er ganske ubrukelige.

Metode 5: Eliminer eventuelle holdte pakker

Holdte pakker holdes faktisk fordi det er avhengighetsproblemer og konflikter som apt kan ikke løse. Å eliminere slike pakker betyr at det ikke vil oppstå slike konflikter, og kan derfor løse problemet ditt.

  1. Åpne en Terminal ved å trykke Ctrl, Alt og T
  2. Skriv inn sudo apt-get -u dist-upgrade og trykk Hvis det er noen holdepakker, vil det vise dem, og det er din å eliminere dem.
  3. Forsøk først å løpe

sudo apt-get -o Debug :: pkgProblemResolver = ja dist-upgrade

og se om det løser problemet. Hvis den går ut med X ikke oppgradert på slutten, der X er antall holdte pakker, må du slette dem en etter en.

  1. Bruk for å fjerne en fast pakke sudo apt-get remove –tørk-PACKAGENAME (PACKAGENAME er pakken du prøver å fjerne). De –Tørk parameteren sørger for at du blir informert om hva som skjer videre. Når du har fjernet alle pakkene, kan du prøve å installere den som forårsaket problemet i utgangspunktet, og se hva som skjer.

Metode 6: Tøm / fjern / deaktiver PPAer

Personlig pakke arkiv er repositories som er vert på Launchpad, og brukes til å oppgradere eller installere pakker som vanligvis ikke er tilgjengelige i de offisielle repositoriene til Ubuntu. De er oftest en årsak til uavhengige avhengigheter, spesielt når de brukes til å oppgradere en eksisterende pakke fra Ubuntu-depotet. Du kan enten deaktivere, fjerne eller tømme dem.

Deaktiver betyr at pakker installert fra den PPA ikke lenger vil få oppdateringer.

  1. Trykk samtidig Alt og F2, og løp programvare-egenskaper-gtk.
  2. Fra Annen programvare fanen, finner du to linjer for hver PPA, hvor en er for kilden, og en annen for den kompilerte pakken. For å deaktivere en PPA, bør du fjern merket for begge linjene.

Rens betyr at alle pakker i valgt PPA vil bli nedgradert til versjonen i de offisielle arkivene, og vil også deaktivere PPA. For å installere PPA Purge, kan du bruke sudo apt-get install ppa-purge, men med tanke på at apt er ødelagt, bør du bruke denne kommandoen i terminalen (Alt, Ctrl og T samtidig, da Tast inn å løpe):

mkdir ppa-purge && cd ppa-purge && wget //mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget //mirror.pnl.gov/ ubuntu // pool / main / a / aptitude / aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Neste, løp sudo ppa-purge ppa: someppa / ppa for å tømme den valgte PPA. Men siden PPA Purge fremdeles ikke fjerner en PPA, kan du bruke kommandoene nedenfor for å fjerne PPA. Ignorer den første hvis intensjonen ikke inkluderer å fjerne den installerte pakken.

  1. sudo apt-get autoremove –purge PACKAGENAME
  2. sudo add-apt-repository – Fjern ppa: someppa / ppa
  3. sudo apt-get autoclean

Du bør kunne installere den nødvendige pakken etterpå.

Selv om det er ganske mange metoder ovenfor, bør du også vite at det alltid er bedre å forhindre slike problemer. Du bør holde systemet oppdatert, bare bruke pålitelige PPAer og sikkerhetskopiere når alt fungerer som det skal, slik at du kan gjenopprette senere. Men hvis du har glemt å gjøre disse tingene, kan du bruke metodene ovenfor for å løse problemet ditt, og bruke forebyggingsmetodene for å sikre at du ikke gjør det

$config[zx-auto] not found$config[zx-overlay] not found