Vejledninger

Sådan løses uudfyldte afhængighedsfejl på Ubuntu

Fejl De følgende pakker har uopfyldte afhængigheder har plaget Ubuntu-brugere i et stykke tid nu, og der er flere og flere observationer af fejlen på forskellige versioner af Ubuntu. APT-pakkehåndteringssystemet er let at bruge, men i nogle tilfælde, f.eks. Når du blander tredjepartsafhængigheder, kan du muligvis få denne fejl fra apt-get.

Dette sker, når du prøver at installere noget med apt-systemet via en terminal, og installationen mislykkes uden noget indlysende problem overhovedet. Dette problem er ikke begrænset til et bestemt program, men det kan ske med en hel del af dem. Dette skyldes, at problemet ligger i apt-systemet og ikke i det program, du installerer.

Der er heldigvis en hel del løsninger på dette, hvoraf nogle er lettere at gøre og andre sværere, men hvis du følger instruktionerne i nedenstående metoder, vil du slippe af med fejlen på ingen tid.

Bemærk: Før du fortsætter med en af ​​metoderne, anbefales det at tage sikkerhedskopier af konfigurationsfiler som f.eks så du kan vende tilbage til eventuelle ændringer, hvis noget går galt. Dette gøres ved hjælp af følgende trin:

  1. Tryk samtidigt på Alt, Ctrl og T på dit tastatur for at åbne en terminal.
  2. Indtaste og tryk på Enter.
  3. Når den forrige kommando er færdig, skal du skrive sudo cp / var / lib / dpkg / status /var/lib/dpkg/status.original og trykke på Enter igen.

Metode 1: Brug parameteren -f

Dette er den nemmeste at prøve, og det kræver kun at tilføje yderligere to bogstaver til den kommando, du skriver. I stedet for at bruge sudo apt-get install PACKAGENAME, hvor PACKAGENAME er den pakke, du prøver at installere med apt-systemet, skal du bruge sudo apt-get install -f. Det -f parameter forsøger at rette et system, der har ødelagte afhængigheder, hvorefter du kan installere den pågældende pakke.

  1. Åbn en Terminal ved at trykke på Ctrl, Alt og T samtidigt på dit tastatur.
  2. Indtaste sudo apt-get install -f og tryk på Gå ind at udføre det.
  3. Når det er gjort, skal du indtaste sudo dpkg –konfigurer -a, trykke Gå ind at køre det og køre kommando fra trin 2 en gang til.

Metode 2: Brug Aptitude

Evne er et alternativ til apt-get som du kan bruge som en højere pakkehåndtering. Du kan bruge den til at prøve at installere din pakke med den i stedet for apt-get, men først skal du installere evne.

  1. Tryk samtidigt på Ctrl, Alt, og T taster på tastaturet for at åbne en
  2. Indtaste sudo apt-get install aptitude og tryk på Gå ind at udføre kommandoen.
  3. Indtaste sudo aptitude installer PACKAGENAME, hvor PACKAGENAME er den pakke, du installerer, og tryk på Gå ind at udføre det. Dette vil forsøge at installere pakken via aptitude i stedet for apt-get, hvilket potentielt skulle løse problemet med uudfyldte afhængigheder.

Metode 3: Sørg for, at de begrænsede arkiver og univers-arkiver er aktiveret, og prøv en bedre server

  1. Tryk samtidigt Alt og F2 skriv på din computer software-egenskaber-gtk og tryk på
  2. I Ubuntu-software fanen, skal du sørge for, at alle arkiverne (hoved, univers, begrænset, multivers) er aktiveret.
  3. Klik på listen over servere, hvor der står Download fra, og vælg
  4. Klik på Vælg den bedste server.
  5. Trykke Alt, Ctrl og T samtidigt for at åbne en terminal og indtaste sudo apt-get opdatering, tryk derefter på Når det er kørt, skal du prøve at installere softwaren igen.

Metode 4: Rens pakkedatabasen

En beskadiget pakkedatabase er en mulig årsag til uopfyldte afhængigheder såvel som pakker, der ikke installeres korrekt. Rensning af pakkedatabasen kan dog løse dette, og du kan gøre det med to kommandoer, som jeg vil forklare nedenfor. Først og fremmest skal du dog trykke på Ctrl, Alt og T at åbne en terminal, og glem ikke at ramme Gå ind efter kommandoen for at køre den.

  1. sudo apt-get clean renser det lokale lager fra alle de hentede pakkefiler (.deb). Det fjerner alt undtagen låsefiler fra / var / cache / apt / arkiver og / var / cache / apt / arkiver / delvis /.
  2. sudo apt-get autoclean vil også rydde op i de hentede filer, men i modsætning til den forrige kommando fjerner denne kun pakker, som du ikke længere kan downloade og er stort set ubrugelige.

Metode 5: Fjern eventuelle tilbageholdte pakker

Holdte pakker opbevares faktisk, fordi der er afhængighedsproblemer og konflikter, som apt ikke kan løse. Fjernelse af sådanne pakker betyder, at der ikke vil være sådanne konflikter, og det kan derfor løse dit problem.

  1. Åbn en Terminal ved at trykke på Ctrl, Alt og T
  2. Indtaste sudo apt-get -u dist-upgrade og tryk på Hvis der er nogen tilbageholdte pakker, vil det vise dem, og det er din at fjerne dem.
  3. Prøv først at løbe

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

og se om det løser problemet. Hvis det kommer ud med X ikke opgraderet i slutningen, hvor X er antallet af tilbageholdte pakker, skal du slette dem en efter en.

  1. Brug for at fjerne en fastholdt pakke sudo apt-get remove –tør-kør PACKAGENAME (PACKAGENAME er den pakke, du prøver at fjerne). Det -tørt løb parameter sørger for, at du bliver informeret om, hvad der derefter sker. Når du har fjernet alle pakker, skal du prøve at installere den, der forårsagede problemet, og se hvad der sker.

Metode 6: Rens / fjern / deaktiver PPA'er

Arkiver til personlig pakke er opbevaringssteder, der er hostet på Launchpad og bruges til at opgradere eller installere pakker, der normalt ikke er tilgængelige i de officielle opbevaringssteder i Ubuntu. De er oftest en årsag til uopfyldte afhængigheder, især når de bruges til at opgradere en eksisterende pakke fra Ubuntu-arkivet. Du kan enten deaktivere, fjerne eller rense dem.

Deaktiver betyder, at pakker installeret fra denne PPA ikke længere får opdateringer.

  1. Tryk samtidigt Alt og F2, og løb software-egenskaber-gtk.
  2. Fra Anden software fane finder du to linjer for hver PPA, hvor en er for kilden og en anden for den kompilerede pakke. For at deaktivere en PPA, skal du fjern markeringen fra begge linjer.

Rens betyder, at alle pakker i den valgte PPA nedgraderes til versionen i de officielle arkiver og også deaktiverer PPA. For at installere PPA Purge kan du bruge sudo apt-get install ppa-purge, men i betragtning af at apt er brudt, skal du bruge denne kommando i terminalen (Alt, Ctrl og T samtidigt, derefter Gå ind at løbe):

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

Kør derefter sudo ppa-purge ppa: someppa / ppa for at rense den valgte PPA. Da PPA Purge stadig ikke fjerner en PPA, kan du dog bruge kommandoerne nedenfor til at fjerne PPA. Ignorer den første, hvis dine intentioner ikke inkluderer at fjerne den installerede pakke.

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

Du skal kunne installere den nødvendige pakke bagefter.

Selvom der er en hel del metoder ovenfor, skal du også vide, at det altid er bedre at forhindre sådanne problemer. Du skal holde dit system opdateret, kun bruge pålidelige PPA'er og sikkerhedskopiere, når alt fungerer korrekt, så du kan gendanne senere. Hvis du imidlertid har glemt at gøre disse ting, skal du bruge metoderne ovenfor til at løse dit problem og bruge forebyggelsesmetoderne for at sikre, at du ikke gør det

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