Ubuntu

Sådan forhindres og rettes pakkeafhængighedsfejl i Ubuntu

Sådan forhindres og rettes pakkeafhængighedsfejl i Ubuntu
Pakkeafhængighedsfejl kan forekomme i Ubuntu efter installation af nogle apps. Beslutninger, der træffes af brugere under installation eller problemer på systemniveau uden for brugernes kontrol, kan føre til brudte pakker.

Hvis du ser ord som “udækkede afhængigheder”, “ødelagte pakker”, “pakker er blevet holdt tilbage” i terminaloutput, er chancerne for, at du kan have afhængighedskonflikter. Denne artikel viser nogle få metoder, der kan bruges til at forhindre og rette denne slags afhængighedsfejl. Bemærk, at nedenstående metoder ikke er i nogen rækkefølge.

Opdater pakker

Den allerførste ting at gøre i tilfælde af fejl er at køre opdateringskommandoen. Det opdaterer alle officielle arkiver og tredjepartslagre, du har føjet til dit system, og trækker en ny liste over pakker. Kørsel af opdateringskommandoen fra terminal omgår trinvis udrulning af officielle Ubuntu-pakker gennem GUI-opdateringen, så du altid får den nyeste liste over pakker.

Du kan opdatere arkiver ved at køre følgende kommando:

$ sudo apt opdatering

Skift pakkehentningsserver

Hvis du får fejlen "ikke i stand til at finde pakke", når du kører opdateringskommandoen ovenfor, skal du prøve at ændre download-spejle. Ubuntu-pakker serveres til slutbrugere fra servere placeret over hele verden. Nogle gange er kun delvise eller ødelagte pakkeopdateringer tilgængelige fra disse servere, hvilket resulterer i fejl under opdateringen. Dette problem løses normalt automatisk efter et stykke tid, når alle Ubuntu-pakker er klonet korrekt i disse spejle. Du kan dog manuelt ændre spejlplaceringen for at løse dette problem.

For at ændre downloadserveren skal du starte “Software & Updates” -appen fra appstarteren. I fanen "Ubuntu-software" er det næsten garanteret at vælge "Hovedserver" i rullelisten "Download fra" for at løse eventuelle problemer med pakke tilgængelighed. Downloadhastigheden kan dog være lav afhængigt af din placering og nærheden til serverne. Ubuntu vælger som standard en server, der giver dig maksimal hastighed baseret på din aktuelle placering. Du kan tilsidesætte det ved at vælge en vilkårlig server eller ved at klikke på "Vælg bedste server" for at lade valget være på Ubuntu.

Opgrader pakker

Opgradering af installerede pakker kan rette afhængighedsfejl. Der er to kommandoer til rådighed til at opgradere Ubuntu-pakker, der begge har forskellige adfærd:

Kommandoerne til henholdsvis opgradering og dist-opgradering er:

$ sudo apt opdatering
$ sudo apt dist-upgrade

Ryd op i cache- og restpakker

Ubuntus pakkehåndterer "apt" gemmer downloadede pakker i en cache-mappe. Næste gang du skal geninstallere en pakke, der allerede er cachelagret, får Ubuntu deb-pakken fra cache-mappen i stedet for at downloade den igen fra serveren. Rydning af denne cache rydder diskplads og hjælper også med at løse afhængigheds- og installationsfejl i nogle tilfælde.

Apt's pakke-cache kan ryddes ved at køre kommandoen nedenfor:

$ sudo apt ren

Der er en anden apt kommando "autoclean", der rydder pakke cache. Men i stedet for at rydde hele mappen, fjerner det kun pakker, der er blevet fjernet fra arkivservere.

$ sudo apt autoclean

Foretag en mock installation

Det er muligt at simulere installationen af ​​en pakke for at kontrollere eventuelle fejl, der opstår under reel installation. Kør kommandoen nedenfor, mens du erstatter "pakkenavn" med det ønskede pakkenavn (uden anførselstegn) for at udføre en mock-installation.

$ sudo apt installation - tørkør "pakke navn"

En mock-fjernelse kan udføres på samme måde:

$ sudo apt remove --dry-run "pakke navn"

Fix ødelagte pakker

Det er muligt at have ødelagte pakker og uopfyldte afhængigheder, især når du installerer flere pakker på én gang. Kommandoen nedenfor vil forsøge at løse disse problemer enten ved at installere og reparere ødelagte afhængigheder eller ved at fjerne en pakke helt, der er ansvarlig for afhængighedskonflikt.

$ sudo apt -f installation

Konfigurer pakker kunne ikke installeres på grund af afbrydelser

Nogle gange stopper apt-pakkehåndtereren pludselig og efterlader pakker, der ikke kunne konfigureres. Disse afbrydelser skyldes normalt faktorer, der er ude af kontrol med apt-pakkehåndteringen. For eksempel, hvis du ved et uheld lukkede terminalen, eller din pc slukkes pludselig, vil apt ikke være i stand til at afslutte opsætningen. At køre kommandoen nedenfor løser pakkefejl og afhængighedsproblemer, der opstår som følge af dette problem.

$ sudo dpkg --konfigurer -a

Brug PPA-Purge

Et "Personal Package Archive" eller et PPA er et softwarelager, der giver Ubuntu-brugere mulighed for at opgradere eller installere nye pakker fra uofficielle kilder. PPA-Purge er et værktøj, der fjerner disse tredjeparts PPA-kilder og nedgraderer pakker installeret fra PPA'er til lagerversioner. Brug af PPA-Purge løser eventuelle afhængighedskonflikter, der opstår fra pakker installeret eller opgraderet fra PPA. For at installere PPA-Purge kommandolinjeapp i Ubuntu skal du køre følgende kommando:

$ sudo apt installere ppa-purge

For at rense en PPA skal du køre kommandoen i følgende format:

$ sudo ppa-purge "ppa: adresse"

For eksempel tilføjet Geany teksteditor PPA fra her kan renses ved at køre kommando:

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

Brug Aptitude Package Manager

Aptitude-pakkehåndtering kan bruges i stedet for standard apt-pakkehåndtering i Ubuntu til at løse afhængighedsfejl. Aptitude er nyere end apt pakkehåndtering, og det giver ekstra muligheder, en terminalbaseret frontend og generel brugervenlighed. Aptitude kombinerer mange apt-muligheder i en enkelt kommando, så du ikke behøver at køre flere kommandoer for at rette fejl.

Hvis du f.eks. Bruger aptitude-pakkehåndtering til at fjerne selv en enkelt pakke, får du mulighed for at fjerne ubrugte og resterende pakker, mens der er en separat kommando i apt til at gøre det samme. Aptitude er meget smartere i afhængighedskonfliktløsning end apt, det giver normalt detaljeret feedback til løsning af konflikter med flere muligheder, der kan vælges af brugeren. Jeg sørger altid for, at aptitude og PPA-Purge er installeret på mit system, inden jeg får nogle meget eksperimentelle pakker.

Aptitude kan installeres ved at køre kommandoen nedenfor:

$ sudo apt installer aptitude

Aptitude og apt deler mange kommandolinjemuligheder med aptitude, der har et par forskelle. Du kan udforske alle muligheder for egnethed fra her.

Geninstaller Ubuntu Desktop Package

Geninstallation af "ubuntu-desktop" -pakken trækker vigtige pakker, der blev installeret som standard i Ubuntu, ind. Det får alle pakker, der afhænger af ubuntu-desktop metapakke. For at geninstallere ubuntu-desktop skal du køre kommandoen nedenfor:

$ sudo apt install - geninstaller ubuntu-desktop

Bemærk, at ovenstående kommando kun installerer vigtige kernepakker og ikke apps som Firefox, Thunderbird, videoafspiller osv.

Fjern eller deaktiver PPA'er, før du opgraderer til en nyere version af Ubuntu

Selvom Ubuntu deaktiverer alle PPA'er, før du foretager en systemopgradering, skal du manuelt fjerne eventuelle tredjeparts-PPA'er for at forhindre uopfyldte afhængighedsfejl under og efter en systemopgradering. Den bedste måde at gøre dette på er at køre PPA-Purge-kommandoen forklaret ovenfor.

Du kan også kun fjerne PPA-arkiver. Dette forhindrer dog muligvis ikke afhængighedsfejl under opgraderingen. PPA'er kan fjernes på to måder, den første involverer brug af kommandolinjen, og den anden kræver brug af en GUI-app. Bemærk, at disse metoder kun fjerner PPA-arkiver og efterlader tidligere opgraderede eller installerede pakker i systemet.

For at fjerne en PPA ved hjælp af kommandolinjen skal du køre kommandoen nedenfor i følgende format:

$ sudo add-apt-repository - fjern "ppa: name"

For eksempel tilføjet Geany teksteditor PPA fra her kan fjernes ved at køre kommandoen:

$ sudo add-apt-repository - fjern ppa: geany-dev / ppa

For at fjerne en PPA ved hjælp af GUI-metoden skal du normalt starte appen "Software & opdateringer" fra appstarteren. På grund af en fejl i Ubuntu fungerer denne metode imidlertid ikke altid, og den deaktiverer ikke PPA'er.

For at omgå dette skal vi installere Synaptic-pakkehåndtering, som er en frontend til apt. For at installere Synaptic skal du køre kommando:

$ sudo apt install synaptic

Start "Synaptic Package Manager" fra appstarter. Klik på "Indstillinger"> "Repositories". Gå til fanen “Anden software”, og klik på en PPA, som du vil fjerne for at fremhæve den. Klik på knappen "Fjern" i bunden for at fjerne PPA fra systemet. Du kan også deaktivere en PPA uden at fjerne den, så den kan genaktiveres efter systemopgradering. For at gøre det skal du bare fjerne markeringen i afkrydsningsfeltet foran en PPA. Når du har fulgt ovenstående trin, skal du lukke vinduet "Software og opdateringer". Når du bliver bedt om at opdatere lagrene, skal du klikke på knappen “Genindlæs”.

Vær forsigtig, når du tilføjer nye PPA'er til systemet

Ofte opstår afhængighedsfejl ved brug af tredjeparts-PPA'er eller installation af deb-pakker fra uofficielle kilder. Der er også en chance for, at malware kommer ind i dit system via en PPA. Derfor skal du altid være forsigtig, når du tilføjer tilfældig PPA til dit system. Tilføj kun en PPA, hvis du stoler på dens kilde og vedligeholdere / udviklere. Selvom vi hidtil ikke har hørt om malware eller adware, der er distribueret via PPA'er, er der altid en risiko, da disse er tredjepartslagre, der har pakker, der ikke er verificeret af Ubuntu-udviklere.

Konklusion

Dette er nogle metoder, der kan bruges til at rette og forhindre afhængighedsfejl i Ubuntu. Ting har tendens til at gå i stykker, især når du bruger Ubuntu som dit vigtigste udviklingsmiljø med masser af tredjepartsapps og kommandolinjeværktøjer. Imidlertid kan de fleste af disse afhængighedsfejl minimeres ved at installere apps fra officielle, ansete og pålidelige kilder.

Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...