Det går inte att hitta paketet”-fel i Linux

Linux är ett utmärkt val av operativsystem tills du stöter på ett fel. Det är inte du; det är hur användare hanterar Linux, vilket kräver konstant inlärning och felsökning.

Linux kommer med massor av fantastiska pakethanterare. Som standard börjar de flesta användare med APT, med tanke på att användare väljer att använda Ubuntu – ett av de mest populära operativsystemen.

Och när du använder APT kan du hamna i ”Kan inte hitta paketfel”, särskilt i Ubuntu.

Det är därför vi i den här guiden lär oss hur du kan lösa felet. Genom hela guiden kommer vi att använda Ubuntu som vår guide. Om du använder en annan Linux-smak som använder APT-pakethanteraren kan du följa den utan problem.

Låt oss börja.

Vad är felet ”E: Kan inte hitta paketet”?

Felet är tydligt och du kan förstå det själv. Så du försökte installera ett paket eller en applikation men fick felet ”E: Det går inte att hitta paketnamn.”

Det betyder helt enkelt att Linux inte kan hitta paketet du försöker installera.

Och innan du börjar få panik måste du veta att det är ett vanligt fel bland Ubuntu- eller APT-användare.

Den goda nyheten är att det finns lösningar för denna typ av problem. Oavsett om du är en Linux-nybörjare eller en veteran kan du lösa problemet genom att följa vår guide.

Läs också: Hur Linux-pakethanterare fungerar: En komplett guide

Anledningar till att få felet ”E: Kan inte hitta paketet”.

Vi måste också lära oss om huvudorsakerna för att förstå felet bättre.

Du kommer att använda standard APT-pakethanteraren när du installerar ett paket i Ubuntu. Du kan använda apt-get eller apt för att installera paketet. Kommandot för att göra det är som följer.

$ sudo apt-get install package-name

Om allt fungerar bra kommer du inte att se några fel. Paketet kommer att installeras som avsett. Men ibland får du ”E: Kan inte hitta paketet paketnamn.” Utgången ser ut som den nedan.

#output

Reading package lists... Done 

Building dependency tree       

Reading state information... Done 

E: Unable to locate package package_name

När felet uppstod kunde Linux inte hitta paketet. Så det är upp till oss att åtgärda problemet och se till att det inte händer igen.

Innan du försöker fixa det måste du känna till orsakerna. Några av orsakerna som kan leda till felet är:

  • Du stavade fel på paketnamnet – vanligast.
  • Resurslistan skapar problemet
  • Ubuntus förvarscache stöder inte nya paket
  • Ubuntu-versionens supportperiod har löpt ut
  • Paketversionen är inte tillgänglig för den Linux-smak du använder
  • Huvudandningsorganet är inte tillgängligt för att installera önskat paket

Sätt du kan lösa felet ”Kan inte hitta paketet”

I det här avsnittet kommer vi att titta på de olika sätten du kan lösa felet på.

#1. Paketnamn – skrev du det rätt?

Ett av de vanligaste misstagen som Linux-användare gör är att ”inte” skriva paketnamnet korrekt. Så om du gör ett enkelt stavfel kommer Ubuntu att kasta felet.

Låt oss kolla ett exempel när du installerar Gimp – ett bildbehandlingsverktyg.

$ sudo apt-get install gump
#output

$ sudo apt-get install gump

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

Som förväntat får du ”E: Kan inte hitta paketgumpen.” Det finns trots allt inget paket ”gump” där ute.

Ett stavfel kan hända oftare än du tror. Det beror på att Linux är skiftlägeskänsligt, och även när du skriver paketnamnet korrekt kanske det inte fungerar på grund av versaler. Så om du försöker installera gimp genom att döpa det till Gimp, kommer det fortfarande att misslyckas.

$ sudo apt-get install gump
Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

Så det enda sättet att installera gimp är att skriva paketnamnet korrekt.

$ sudo apt-get install gimp

Men vad händer om du behöver veta paketnamnet korrekt? I så fall kan du använda kommandot apt sök för att leta efter det. Till exempel, om du letar efter ett paket som innehåller ”apa” men är osäker på dess fullständiga namn, kör sedan följande kommando för att komma fram till det tillgängliga paketnamnet.

$ apt search monkey

p   graphmonkey                     - a GTK#-based graphing calculator          

p   libex-monkeypatched-perl        - experimental API for safe monkey-patching 

p   libmonkey-patch-action-perl     - module to monkey-patching subs from other 

p   libmonkey-patch-perl            - scoped monkey-patching Perl module        

p   libtwelvemonkeys-java           - collection of plugins and extensions for J

p   libtwelvemonkeys-java-doc       - Documentation for libtwelvemonkeys-java   

p   monkeysphere                    - leverage the OpenPGP web of trust for SSH 

v   monkeysphere-validation-agent   -                                           

v   node-fs-monkey                  -                                           

p   searchmonkey                    - search files using regular expressions aim

#2. Uppdatera paketlista/lagercache

Ubuntu interagerar med arkiven på olika sätt. Istället för att ladda ner hela andningsorganen bygger den en lokal cache. Den lokala cachen innehåller listan över tillgängliga paket.

När du kör sudo apt update skapar Ubuntu en lokal cache.

$ sudo apt update

När du kör kommandot apt-get install kommer APT Package Manager att söka i cachen efter paketet. Den hämtar informationen, såsom versionen, innan den fortsätter att ladda ner paketet från onlineförråd över internet.

Så om paketet inte är listat i cachen kommer Ubuntu att kasta felet och meddela dig om det.

Detta händer när du installerar Ubuntu eller Debian-baserad Linux-distro (som Linux Mint) för första gången. Eftersom cachen inte är byggd med den senaste informationen kan installation av även standardpaket orsaka ett fel. Om du har en ny Ubuntu-installation, kör sudo apt-uppdateringen minst en gång för att bygga upp den lokala cachen.

I vissa fall kan cachen behöva uppdateras. Och sedan måste du uppdatera den med kommandot apt update.

Du bör också rengöra cachen innan du uppdaterar den. För att göra det, kör följande kommando.

$ sudo apt clean && sudo apt update

#3. Kontrollerar paketet tillgängligt

Även när du skriver in rätt paketnamn och har din förvarscache uppdaterad, kan du fortfarande få felet ”kan inte hitta paketet” i Ubuntu. Detta händer på grund av att paketet inte är tillgängligt – och hur mycket du än försöker kan du inte installera paketet.

Så, vad är dina alternativ?

Du måste lära dig mer om Universe-förvaret för att förstå dina alternativ. Generellt sett aktiverar inte Linux-systemet det som standard, vilket kan leda till ett fel. Eller så har Ubuntu-versionen du kör inte åtkomst till paketet du försöker ladda ner och installera.

För att kontrollera om din Ubuntu inte är föråldrad måste du först kontrollera dess version. Du kan göra det genom att köra följande kommando.

nitt@logan99:~$ lsb_release -a
#output
No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.3 LTS

Release: 22.04

Codename: jammy

Jag använder den senaste stabila 22.04 LTS-versionen med kodnamnet Jammy. Excellent; anteckna dem och gå sedan till Ubuntu-paket hemsida.

På den här sidan kan du manuellt söka efter paket. Den har en snygg söksektion där du kan söka genom att ange ett nyckelord. Nyckelordet kan vara paketets namn eller något som kan hjälpa dig att hitta paketet.

Så nu, allt du behöver göra är att ange paketnamnet och trycka på sökknappen.

Eftersom gimp är ett känt paket får vi en exakt träff.

Och om du noggrant lägger märke till det, kommer du att se att det är tillgängligt i universums arkiv. För att ladda ner och installera paketet måste du komma åt Universe-förvaret för Jammy 22.04 LTS-versionen.

Nu är du säker på att paketet är tillgängligt för din Ubuntu-version. Därefter måste du aktivera förvaret. För att aktivera arkiven, kör följande kommando.

$ sudo apt-add-repository universe multiverse

Ovanstående kommando aktiverar universum och multiversum förvaret.

När det är gjort, se till att bygga om cachen igen.

$ sudo apt update

Du kan också installera andra förråd, såsom huvud och begränsad. Kör följande kommando för att göra det.

$ sudo apt-get-repository main

$ sudo apt-get-repository restricted

Men vad händer om paketet inte är tillgängligt för din Ubuntu-version? I så fall måste du använda tredjepartsförråd som PPA. Du kan läsa mer om det här: Vad är Ubuntu PPA och hur man installerar det?

#4. Se till att du kör en aktiv Ubuntu-version

Ubuntu erbjuder en LTS-version med långvarigt stöd i 3 eller 5 år. Detta kan leda till att många användare inte uppdaterar till en version som stöds, vilket gör operativsystemet otillgängligt för att ta emot några nya uppdateringar. När din Ubuntu-version tar slut kan du inte installera nya paket och kommer att få felet ”kan inte hitta paketet”.

För att kontrollera om din Ubuntu fortfarande stöds, kör följande kommando.

$ hwe-support-status --verbose 
#output

nitt@logan99:~$ hwe-support-status --verbose

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2027.

nitt@logan99:~$

Som du kan se stöds min Ubuntu-version fram till april 2027. Du kan ignorera Hardware Enablement Stack eftersom den inte är relaterad till ämnet.

Om din Ubuntu-version inte stöds behöver du bara uppgradera till den senaste LTS-versionen.

#5. Fixa arkivet

Om ingenting fixar felet ”kan inte hitta paketet”, är det dags att inspektera Ubuntus källfil manually.list.

Filen innehåller all förvarsrelaterad data. Du måste komma åt filen/etc/apt/sources.list.

I allmänhet måste du kontrollera om förvarslänkarna är aktiva och matchar den officiella noteringen. För att kontrollera, besök den officiella distros webbplats och leta efter informationen.

Slutsats – Vad händer om ingenting fungerar?

Efter en timmes felsökning – du fortfarande fastnar med samma ”E: kan inte hitta paketet”-felet.

Det är irriterande, och du kommer att ge upp paketet och leta efter ett alternativt paket eller försöka installera om Ubuntu igen.

Innan du gör det är det bäst att prova alla dina möjligheter. Du kan till exempel börja leta efter en äldre version av paketet som stöder din Ubuntu-version. Du kan hitta dem genom ett personligt arkiv från tredje part (PPA).

Om du inte kan hitta en PPA som innehåller paketet, kolla den officiella webbplatsen för den programvara du vill ha. I allmänhet erbjuder de ett direkt sätt att ladda ner paketfilerna.

Om allt misslyckas är det bäst att leta efter alternativa appar.

Detta leder oss till slutet av vår guide, där vi lärde oss olika sätt att lösa felet ”det går inte att hitta paket.” Vid det här laget måste du tydligt förstå hur Ubuntu interagerar med repositories genom cachen för att hämta, ladda ner och installera paket.

Kolla sedan in de bästa exemplen på kommandot find i Linux.