Hvordan forhindre og fikse pakkeavhengighetsfeil i Ubuntu

Hvordan forhindre og fikse pakkeavhengighetsfeil i Ubuntu
Pakkeavhengighetsfeil kan oppstå i Ubuntu etter å ha installert noen apper. Avgjørelser tatt av brukere under installasjons- eller systemnivåproblemer ut av kontroll av brukere kan føre til ødelagte pakker.

Hvis du ser ord som "uoppfylte avhengigheter", "ødelagte pakker", er "pakker blitt holdt tilbake" i terminalutgangen, er sjansen stor for at du kan ha avhengighetskonflikter. Denne artikkelen vil liste opp noen få metoder som kan brukes til å forhindre og fikse denne typen avhengighetsfeil. Merk at metodene som er foreslått nedenfor ikke er i noen rekkefølge.

Oppdater pakker

Det aller første å gjøre i tilfelle feil er å kjøre oppdateringskommandoen. Det vil oppdatere alle offisielle og tredjeparts depoter du har lagt til systemet ditt og trekke en ny liste over pakker. Kjører oppdateringskommandoen fra Terminal omgår faset utrulling av offisielle Ubuntu -pakker gjennom GUI Updater, slik at du alltid får den siste listen over pakker.

Du kan oppdatere depoter ved å kjøre følgende kommando:

$ sudo apt oppdatering

Endre last ned nedlastingsserver

Hvis du får "ikke i stand til å finne pakke" -feil når du kjører oppdateringskommandoen ovenfor, kan du prøve å endre nedlastingsspeil. Ubuntu -pakker serveres til sluttbrukere fra servere som ligger over hele verden. Noen ganger er det bare delvise eller ødelagte pakkeoppdateringer tilgjengelige fra disse serverne som resulterer i feil under oppdateringen. Dette problemet løses vanligvis automatisk etter en stund når alle Ubuntu -pakker er riktig klonet i disse speilene. Du kan imidlertid endre speilplassen manuelt for å løse dette problemet.

For å endre nedlastingsserveren, lanser du appen “Software & Updates” fra appstarteren. I kategorien “Ubuntu -programvare” er det nesten garantert å velge "Hovedserver" i "Last ned fra" rullegardinliste. Imidlertid kan nedlastingshastighet være lav, avhengig av din beliggenhet og nærhet til serverne. Ubuntu velger som standard en server som vil gi deg maksimal hastighet basert på din nåværende plassering. Du kan overstyre den ved å velge hvilken som helst listet server eller ved å klikke på "Velg beste server" for å legge igjen valget på Ubuntu.

Oppgrader pakker

Oppgradering av installerte pakker kan fikse avhengighetsfeil. Det er to kommandoer tilgjengelig for å oppgradere Ubuntu -pakker, begge har forskjellig atferd:

  • “Oppgradering”: Oppgraderinger installerte pakker Hvis noen oppdateringer er tilgjengelige, fjerner du ikke noen pakke selv om det er uoppfylte og ødelagte avhengigheter
  • “Dist-Upgrade”: Gjør forsøk på å oppgradere pakker og løse avhengigheter, fjerner ødelagte og installerer nye avhengigheter der det er nødvendig for å fikse feil

Kommandoene for å oppgradere og dist-oppgradere er henholdsvis:

$ sudo apt oppdatering
$ sudo apt dist-upgrade

Rydd opp hurtigbufret og restpakker

Ubuntus pakkesjef “Apt” holder nedlastede pakker i en cache -mappe. Neste gang du må installere en pakke som allerede er hurtiget, vil Ubuntu få Deb-pakken fra Cache-mappen i stedet for å laste den ned fra serveren på nytt fra serveren. Å rydde denne hurtigbufferen rydder opp diskplass og hjelper også med å fikse avhengighet og installasjonsfeil i noen tilfeller.

APTs pakkebuffer kan tømmes ved å kjøre kommandoen nedenfor:

$ sudo apt ren

Det er en annen passende kommando “Autoclean” som tømmer pakningsbufferen. I stedet for å tømme hele mappen, fjerner den imidlertid bare pakker som er fjernet fra depotserver.

$ sudo apt autoclean

Gjør en hånlig installasjon

Det er mulig å simulere installasjonen av en pakke for å sjekke potensielle feil som oppstår under reell installasjon. Kjør kommandoen nedenfor mens du erstatter “Package Name” med ønsket pakketavn (uten sitater) for å gjøre en hånlig installasjon.

$ sudo apt install--tørk "pakningsnavn"

En hånfjerning kan gjøres på samme måte:

$ sudo apt fjerne--tørk "pakningsnavn"

Fix ødelagte pakker

Det er mulig å ha ødelagte pakker og uoppfylte avhengigheter, spesielt når du installerer flere pakker samtidig. Kommandoen nedenfor vil gjøre et forsøk på å løse disse problemene enten ved å installere og reparere ødelagte avhengigheter eller ved å fjerne en pakke helt som er ansvarlig for avhengighetskonflikt.

$ sudo apt -f installasjon

Konfigurer pakker klarte ikke å installere på grunn av avbrudd

Noen ganger stopper Apt Package Manager brått etterlater pakker som ikke klarte å sette opp. Disse avbruddene er vanligvis på grunn av faktorer som er ute av kontroll over APT -pakkeansvarlig. For eksempel, hvis du ved et uhell lukket terminalen eller PC -en din slår seg av plutselig, vil APT ikke kunne fullføre oppsettet. Å kjøre kommandoen nedenfor vil fikse pakkefeil og avhengighetsproblemer som oppstår ut av dette problemet.

$ sudo dpkg --konfigurasjon -a

Bruk PPA-Purge

Et "personlig pakkearkiv" eller en PPA er et programvarepositorium som lar Ubuntu -brukere oppgradere eller installere nye pakker fra uoffisielle kilder. PPA-Purge er et verktøy som fjerner disse tredjeparts PPA-kilder og nedgraderingspakker installert fra PPAs til lagerversjoner. Å bruke PPA-Purge vil løse eventuelle avhengighetskonflikter som oppstår fra pakker installert eller oppgradert fra PPA. For å installere PPA-Purge Command Line-app i Ubuntu, kjør følgende kommando:

$ sudo apt install ppa-purge

For å rense en PPA, kjør kommando i følgende format:

$ sudo ppa-purge “PPA: adresse”

For eksempel kan Geany Text Editor PPA lagt til herfra renset ved å kjøre kommando:

$ sudo ppa-purge ppa: geany-dev/ppa

Bruk Aptitude Package Manager

Aptitude Package Manager kan brukes i stedet for standard Apt Package Manager i Ubuntu for å løse avhengighetsfeil. Aptitude er nyere enn APT Package Manager, og den gir ekstra alternativer, en terminalbasert frontend og generell brukervennlighet. Aptitude kombinerer mange treffende alternativer i en enkelt kommando, slik at du ikke trenger å kjøre flere kommandoer for å fikse feil.

Å bruke aptitude -pakkebehandler for eksempel for å fjerne til og med en enkelt pakke vil gi deg et alternativ til å fjerne ubrukte og rester av pakker, mens det er en egen kommando i passende å gjøre det samme. Aptitude er mye smartere i avhengighetskonfliktløsning enn passende, det gir vanligvis detaljerte tilbakemeldinger for å løse konflikter, med flere alternativer som kan velges av brukeren. Jeg sørger alltid for at egnethet og ppa-purge er installert på systemet mitt før jeg får noen svært eksperimentelle pakker.

Aptitude kan installeres ved å kjøre kommando nedenfor:

$ sudo apt installasjonens egnethet

Aptitude og apt deler mange kommandolinjealternativer med egnethet med noen få forskjeller. Du kan utforske alle evnen til egnethet herfra.

Installer Ubuntu Desktop -pakke på nytt

Installering av "Ubuntu-Desktop" -pakken vil hente inn viktige pakker som ble installert som standard i Ubuntu. Det vil få alle pakker som avhenger av Ubuntu-Desktop metapakke. For å installere Ubuntu-Desktop, kjør kommandoen nedenfor:

$ SUDO APT Install-REINSTALL UBUNTU-DESKTOP

Merk at kommandoen ovenfor bare vil installere viktige kjernepakker og ikke apper som Firefox, Thunderbird, videospiller osv.

Fjern eller deaktiver PPA -er før du oppgraderer til en nyere versjon av Ubuntu

Selv om Ubuntu deaktiverer noen PPA -er før du gjør en systemoppgradering, for å forhindre uoppfylte avhengighetsfeil under og etter en systemoppgradering, bør du fjerne tredjeparts PPA -er manuelt. Den beste måten å gjøre dette på er å kjøre PPA-Purge-kommando forklart ovenfor.

Du kan også bare fjerne PPA -lagringsplasser. Dette kan imidlertid ikke forhindre noen avhengighetsfeil under oppgradering. PPAer kan fjernes gjennom to måter, den første innebærer å bruke kommandolinje, og den andre krever å bruke en GUI -app. Merk at disse metodene bare vil fjerne PPA -lagringsplasser, og etterlater alle tidligere oppgraderte eller installerte pakker i systemet.

For å fjerne en PPA ved hjelp av kommandolinje, kjør kommandoen nedenfor i følgende format:

$ sudo add-apt-repository--Fjern “PPA: Navn”

For eksempel kan Geany Text Editor PPA lagt til herfra fjernes ved å kjøre kommandoen:

$ sudo add-apt-repository-nøye PPA: geany-dev/ppa

For å fjerne en PPA ved hjelp av GUI -metoden, må du vanligvis starte "Software & Updates" -appen fra appstarteren. Men på grunn av en feil i Ubuntu, fungerer ikke denne metoden alltid, og den klarer ikke å deaktivere PPAS.

For å komme oss rundt dette, må vi installere Synaptic Package Manager som er en frontend for APT. For å installere synaptisk, kjør kommando:

$ sudo apt install synaptisk

Start “Synaptic Package Manager” fra App Launcher. Klikk på "Innstillinger"> "Lagrer". Gå til "annen programvare" -fanen og klikk på en PPA som du vil fjerne for å markere den. Klikk på "Fjern" -knappen nederst for å fjerne PPA fra systemet. Du kan også deaktivere en PPA uten å fjerne den slik at den kan aktiveres etter systemoppgradering. For å gjøre det bare av merket av avkrysningsruten foran en PPA. Når du har fulgt trinnene ovenfor, lukker du “programvare og oppdateringer” -vindu. Når du blir bedt om å oppdatere depotene, klikker du på "Reload" -knappen.

Vær forsiktig når du legger til nye PPA -er i systemet

De fleste av tidenes avhengighetsfeil oppstår når du bruker tredjeparts PPA -er eller installerer Deb -pakker fra uoffisielle kilder. Det er også en sjanse for at skadelig programvare kommer i systemet ditt gjennom en PPA. Derfor bør du alltid være forsiktig når du legger til tilfeldig PPA i systemet ditt. Legg bare til en PPA hvis du stoler på kilden og vedlikeholdere / utviklere. Selv om vi ikke har hørt om skadelig programvare eller adware distribuert gjennom PPA -er så langt, er det alltid en risiko da dette er tredjeparts depoter som har pakker som ikke er verifisert av Ubuntu -utviklere.

Konklusjon

Dette er noen metoder som kan brukes til å fikse og forhindre avhengighetsfeil i Ubuntu. Ting har en tendens til å bryte, spesielt når du bruker Ubuntu som ditt viktigste utviklingsmiljø med mange tredjepartsapper og kommandolinjeverktøy. Imidlertid kan de fleste av disse avhengighetsfeilene minimeres ved å installere apper fra offisielle, anerkjente og pålitelige kilder.