Hur man fixar trasiga paket på Ubuntu 16.04 och Debian 9

Hur man fixar trasiga paket på Ubuntu 16.04 och Debian 9

Ubuntu och Debian använder båda paketen för att utöka systemets kapacitet så att användarna kan göra mer med sina maskiner. Men hur bra detta paketsystem än är kan saker och ting fortfarande gå sönder. Oavsett om det är en dålig installation, en dålig konfiguration eller om något externt har ändrat filerna efter installationen kan paket ibland gå fel och inte längre fungera, vilket gör dem ”trasiga”. Detta kan också påverka apt-get, den inbyggda pakethanteraren, vilket kan leda till att du inte kan installera ytterligare paket, uppdatera dem eller till och med ta bort några helt och hållet.

I den här handledningen kommer vi att gå igenom flera metoder för att åtgärda dina trasiga paket på både Ubuntu 16.04 samt Debian 9. Eftersom det här problemet kan uppstå på grund av flera orsaker finns det flera lösningar, varav vissa kanske eller kanske inte fungerar på din maskin. Därför är det bäst att se vilket specifikt paket som gick sönder och varför, vilket kommer att hjälpa dig att bestämma vilken metod du ska följa först.

Innehållsförteckning

Metod 1: Användning av apt-get

Fler gånger kan ett trasigt paket som gick sönder efter att det installerats vara relativt enkelt att åtgärda, tack vare ett inbyggt verktyg inuti apt-get. Genom att utföra följande kommandon försöker du åtgärda eventuella trasiga paket som för närvarande är installerade på ditt system:

sudo apt-get update --fix-missing
sudo apt-get install -f

(alternativet -f är en förkortning för fix-broken.)

Prova och se om det första kommandot löser ditt problem innan du utför det andra kommandot. Ge den några ögonblick att försöka rätta till eventuella fel som den kan hitta. Om det fungerar, försök då att använda paketet som var trasigt – det kommer troligen att vara fixat nu. Om det fortfarande inte är fixat, gå vidare till nästa lösning nedan.

Metod 2: Användning av dpkg och apt-get

Den här lösningen hjälper dig om ett programpaket gick sönder under installationen. Du kan prova att använda den föregående metoden innan du fortsätter, eftersom det kan hjälpa. Först rensar vi apt-get och försöker använda dpkg för att konfigurera alla paket som behöver det:

sudo dpkg --configure -asudo apt-get cleansudo apt-get update

Efter detta kan du se om paketet har rättats. Om det inte har gjort det kan du behöva ta bort låsfilerna. Låsfiler används för att hålla resurser tillgängliga för vissa program – det hjälper till att förhindra att andra program får tillgång till filer samtidigt. Detta kan göras genom att helt enkelt radera listan över låsfiler:

sudo rm /var/lib/apt/lists/lock

Efter detta kan du försöka köra ovanstående kommandon en gång till. Försök därifrån att installera paketet på nytt för att se om det nu kan installeras framgångsrikt.

Metod 3: Användning av dpkg för tvångsborttagning

I sällsynta fall kan det hända att ovanstående kommandon inte fungerar och att ett trasigt paket inte går att reparera. I det här fallet måste du ta bort paketet manuellt och med kraft. Den här metoden kräver att du redan vet vilket paket som är trasigt.

Du kan först försöka ta bort det problematiska paketet normalt via apt-get genom att ange följande kommando:

sudo apt-get remove

Det kommer förmodligen inte att lyckas, men det är värt att försöka innan du tar bort det med våld.

Avhängigt av de fel du får när du försöker ta bort paketet normalt kan du kanske identifiera det trasiga paketet med hjälp av dpkg och grep:

dpkg -l | grep ^..r

Detta kommando listar alla paket, sedan listar grep alla resultat som innehåller flaggan ”r” i det tredje fältet, vilket betyder ”reinst-required” (ominstallation krävs). Om det trasiga paketet dyker upp kan du ta bort det.

Exekvera följande kommando för att tvinga bort paketet från din maskin. Glöm inte att ange ditt lösenord för att godkänna borttagningen. Ersätt med namnet på det trasiga paketet.

sudo dpkg --remove --force-remove-reinstreq

När detta är gjort, rensa och uppdatera apt-get:

sudo apt-get cleansudo apt-get update

Efter det kan du försöka installera paketet från grunden. Det borde installeras normalt nu.

Andra lösningar

Dessa metoder är de bästa sätten att åtgärda eller ta bort ett trasigt paket från ditt system – men ibland räcker det inte. I sällsynta fall kommer systemet inte att se det trasiga paketet alls, men det kommer fortfarande att hindra ditt apt-get från att fungera normalt. I dessa fall är det oftast den bästa lösningen att manuellt gå in och ta bort filer. Processen för att ta bort dessa filer varierar dock från paket till paket och kan vara riskabel. Prova därför först dessa lösningar innan du försöker ta bort filer från ditt system.

Förhoppningsvis har du genom att följa dessa metoder lyckats åtgärda eller ta bort alla trasiga paket som finns på ditt system. Naturligtvis behöver du inte fixa trasiga paket själv om du använder en av våra Managed Linux VPS-tjänster, i så fall kan du helt enkelt be våra sakkunniga Linuxadministratörer att göra det åt dig. De är tillgängliga dygnet runt och hjälper dig att åtgärda dina trasiga paket omedelbart.

Lämna ett svar

Din e-postadress kommer inte publiceras.