Vejledninger

Fix: Problemer kunne ikke rettes 'Du har holdt ødelagte pakker'

Du kan finde ud af, at når du prøver at installere en pakke på Linux, finder du en frygtet linje, der læser E: Ude af stand til at rette problemer, du har holdt ødelagte pakker. Installationen nægter derefter at komme videre end dette punkt. Du finder muligvis dette på enhver Linux-distribution, der bruger apt-get til at administrere pakker, som inkluderer Debian såvel som de forskellige Linux Mint og Ubuntu spin-offs.

Det er forårsaget af ødelagte afhængigheder, som er en bivirkning ved at have installeret pakker, der afhænger af andre pakker, der ikke er installeret. Når apt-get går til at installere noget, bemærker det, at det ikke har adgang til noget, det har brug for og derfor ikke kan fortsætte. Et par grundlæggende kommandolinjetricks såvel som et grafisk værktøj kan ordne alt hurtigt.

Metode 1: Brug af dpkg –configure til at rette holdte ødelagte pakker

Mens du arbejder på terminalen, prøver du at løbe sudo dpkg –konfigurer -a for at starte en automatisk opdateringsproces, der ser efter eventuelle ødelagte afhængigheder på dit system forårsaget af pakker, der ikke er installeret. Dette værktøj skal automatisk installere enhver pakke, som det føler, du mangler uden brugerindblanding, men hvis du bliver bedt om at installere noget, skal du trykke på y-tasten for at svare på prompten.

Hvis den ikke finder nogen ødelagte pakker, skal du ikke se nogen output. Vi kørte dette på en ren testmaskine, der kører Xubuntu, så den fandt ingen fejl, men hvis du har fået problemer med "Kan ikke rette problemer, du har holdt ødelagte pakker", kan dette muligvis finde flere pakker, du skal installere . Når du har kørt det, skal du prøve sudo apt-get install -f fra kommandolinjen.

Dette program vil gennemgå og oprette en afhængighedsliste og læse derefter statusoplysninger. Hvis du får en besked om, at der var “0 opgraderet, 0 nyinstalleret, 0 for at fjerne og 0 ikke opgraderet” pakker, arbejdede du enten uden ødelagte afhængigheder, eller den forrige kommando fik rettet alt. På dette tidspunkt kan du løbe sudo apt-get clean && sudo apt-get opdatering efterfulgt af sudo apt-get opgradering for at opdatere hver pakke på dit system. Dette kan tage et stykke tid afhængigt af hvor længe dit system havde disse pakkeproblemer.

Metode 2: Brug af kommandoen dist-upgrade

Hvis du får en besked, der siger, at "nogle pakker er blevet holdt tilbage", så du ikke kunne udføre den tidligere kommando med succes, skal du køre sudo apt-get dist-upgrade for at installere resten af ​​disse pakker. Ud over at udføre funktionen af ​​en regelmæssig opgradering håndterer dist-upgrade-indstillingen ændrede afhængigheder med nyere versioner af pakker. Da apt-get har et specielt konfliktsystem, forsøger det normalt at opgradere de vigtigste pakker på bekostning af ikke at gøre noget for dem, der er mindre vigtige for dit system. Brug af denne kommando tvinger selv dem til at opdatere.

Når det er sagt, hvis der ikke er opdaget ødelagte pakker, ender du bare med en tredje besked om, at der ikke er noget opgraderet og intet nyinstalleret. Hvis dette er tilfældet, kan du prøve sudo apt-get opgradering igen, så hvis der var ændringer, kan den automatiske opgraderingsundervisning tage fat. På den anden side, hvis du kender det specifikke navn på den pakke, du har brug for, kan du installere den manuelt.

Antag for eksempel, at GNUStep-runtime-komponenten var det, du manglede, da du ønskede at bruge stemmesyntese. Du kan bare skrive sudo apt-get install gnustep-gui-runtime at installere denne vitale pakke. Husk at dette kun er et eksempel, og du kan erstatte gnustep-gui-runtime med navnet på enhver pakke, du har brug for at installere. Moderne distributioner baseret på apt-get-standarden har flere tusinde pakker, men så længe du kender navnet på den, du leder efter, vil det tvinge den til at installere.

Metode 3: Fix ødelagte pakker med Synaptic

Hvis du har den synaptiske grafiske pakkehåndtering, kan du også bruge dette værktøj til at rette eventuelle ødelagte pakker, du måtte have. Åbn programmet, og vælg derefter rullemenuen Rediger på rullelisten. Du skal have en "Fix ødelagte pakker" i denne menu, så vælg den, hvis du gør det. Det tager ikke lang tid at køre, hvis der ikke er mange ødelagte pakker, men det kan muligvis finde et antal fejl, der vil forsinke udførelsen.

Når det er færdigt med at løbe igennem alt, bemærker du ordene "Succesfulde afhængighedsproblemer" i nederste statuslinje.

Du kan nu opdatere og installere pakker ligesom normalt. De fleste brugere vil kun gøre ting på denne måde, hvis de allerede arbejdede i Synaptic, men det er der, når du har brug for det. Når det er kørt, kan du lukke Synaptic og arbejde fra kommandoprompten igen eller fortsætte med at foretage ændringer her.