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

By rik

Linux är ofta ett utmärkt operativsystem, men ibland kan fel uppstå. Det handlar inte om dig som användare, utan snarare om att Linux kräver kontinuerlig inlärning och felsökning.

En av de styrkor som Linux erbjuder är dess mångfald av pakethanterare. För många, särskilt de som använder Ubuntu, är APT det naturliga valet.

Ibland, när du använder APT, kan du dock stöta på felmeddelandet ”Kan inte hitta paket”, speciellt i Ubuntu.

I den här guiden utforskar vi därför olika metoder för att lösa detta problem. Vår utgångspunkt är Ubuntu, men om du använder en annan Linux-distribution med APT som pakethanterare, kan du enkelt följa med.

Låt oss sätta igång.

Vad betyder felmeddelandet ”E: Kan inte hitta paketet”?

Felmeddelandet är ganska tydligt. Det indikerar att du försökte installera ett paket eller en applikation, men systemet svarade med ”E: Det går inte att hitta paketnamn”.

Detta betyder helt enkelt att Linux inte kan lokalisera det paket som du vill installera.

Men oroa dig inte, det är ett vanligt problem för användare av Ubuntu och APT.

Lyckligtvis finns det lösningar på detta problem. Oavsett om du är nybörjare eller erfaren Linux-användare kan du åtgärda detta genom att följa den här guiden.

Läs även: Hur Linux-pakethanterare fungerar: En omfattande guide

Varför uppstår felmeddelandet ”E: Kan inte hitta paketet”?

För att bättre förstå problemet, låt oss granska de vanligaste orsakerna.

När du installerar ett paket i Ubuntu används vanligtvis APT-pakethanteraren, antingen med `apt-get` eller `apt`. Kommandot för att installera ett paket ser ut så här:

$ sudo apt-get install paket-namn

Om allt går som det ska, kommer paketet att installeras utan fel. Men ibland kan felmeddelandet ”E: Kan inte hitta paketet paket-namn” dyka upp. Resultatet ser då ut så här:

#utdata

Läser paketlistor... Klar
Bygger beroendeträd... Klar
Läser tillståndsinformation... Klar
E: Kan inte hitta paketet paket-namn

Felet uppstår när Linux inte kan hitta det begärda paketet. Det är då vår uppgift att åtgärda problemet och förhindra att det upprepas.

Innan du börjar felsöka, är det bra att känna till de möjliga orsakerna. Här är några vanliga anledningar till felet:

  • Felstavat paketnamn – det vanligaste misstaget.
  • Problem med resurslistan.
  • Förvarscachen i Ubuntu saknar stöd för nya paket.
  • Stödet för din Ubuntu-version har upphört.
  • Den specifika paketversionen är inte kompatibel med din Linux-distribution.
  • Huvudförrådet innehåller inte det begärda paketet.

Lösningar för felet ”Kan inte hitta paketet”

I det här avsnittet går vi igenom olika sätt att lösa problemet.

#1. Paketnamn – har du skrivit det korrekt?

Ett av de vanligaste misstagen som Linux-användare gör är felstavning av paketnamnet. Ett enkelt skrivfel kan utlösa felet i Ubuntu.

Låt oss ta ett exempel: installation av Gimp – ett bildbehandlingsverktyg.

$ sudo apt-get install gump
#utdata
$ sudo apt-get install gump
Läser paketlistor... Klar
Bygger beroendeträd... Klar
Läser tillståndsinformation... Klar
E: Kan inte hitta paketet gump

Som förväntat får vi felmeddelandet ”E: Kan inte hitta paketet gump”. Det finns ju inget paket som heter ”gump”.

Ett stavfel kan ske lättare än du tror. Linux är känsligt för versaler och gemener. Även om du skriver paketnamnet korrekt, men använder felaktig versalisering, kan installationen misslyckas. Att försöka installera gimp som ”Gimp” leder till exempel till problem.

$ sudo apt-get install gump
Läser paketlistor... Klar
Bygger beroendeträd... Klar
Läser tillståndsinformation... Klar
E: Kan inte hitta paketet gump

För att installera gimp, måste du stava paketnamnet exakt rätt.

$ sudo apt-get install gimp

Men hur får du reda på det exakta paketnamnet? Du kan använda kommandot `apt search` för att söka efter det. Om du letar efter ett paket som innehåller ordet ”apa” men är osäker på det fullständiga namnet, kan du använda kommandot för att se tillgängliga paketnamn:

$ apt search monkey
p  graphmonkey                - en GTK#-baserad grafisk räknare
p  libex-monkeypatched-perl   - experimentell API för säker monkey-patching
p  libmonkey-patch-action-perl - modul för monkey-patching av subs från andra
p  libmonkey-patch-perl        - scoped monkey-patching Perl-modul
p  libtwelvemonkeys-java       - samling av plugins och tillägg för J
p  libtwelvemonkeys-java-doc  - Dokumentation för libtwelvemonkeys-java
p  monkeysphere               - utnyttja OpenPGP web of trust för SSH
v  monkeysphere-validation-agent
v  node-fs-monkey
p  searchmonkey                - sök filer med reguljära uttryck

#2. Uppdatera paketlistan/förvaringscachen

Ubuntu interagerar med arkiven på ett speciellt sätt. Istället för att ladda ner hela förråden, skapar systemet 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 använder `apt-get install` söker APT Package Manager i cachen efter paketet. Informationen som version hämtas innan paketet laddas ner från online-arkiven via internet.

Om paketet inte finns listat i cachen, får du ett felmeddelande.

Detta kan inträffa om du installerar Ubuntu eller en Debian-baserad Linux-distribution (som Linux Mint) för första gången. Eftersom cachen inte är uppdaterad kan även installation av standardpaket leda till fel. Om du har en ny Ubuntu-installation, kör `sudo apt update` minst en gång för att skapa den lokala cachen.

Ibland behöver cachen bara uppdateras. Använd då kommandot `apt update`.

Du kan också rengöra cachen innan du uppdaterar. Använd då följande kommando:

$ sudo apt clean && sudo apt update

#3. Kontrollera att paketet är tillgängligt

Även om du skriver in paketnamnet korrekt och har en uppdaterad förvarscache, kan felet ”kan inte hitta paketet” fortfarande uppstå. Detta beror på att paketet faktiskt inte är tillgängligt – och oavsett vad du gör kommer installationen att misslyckas.

Vad kan du göra?

För att förstå alternativen behöver du veta mer om Universe-förrådet. Det är oftast inte aktiverat som standard, vilket kan leda till felet. Det kan också vara så att din Ubuntu-version inte har tillgång till det paket du försöker ladda ner och installera.

För att se till att din Ubuntu inte är föråldrad, kolla först dess version. Använd följande kommando:

användare@dator:~$ lsb_release -a
#utdata
Inga LSB-moduler tillgängliga.
Distributörs-ID: Ubuntu
Beskrivning: Ubuntu 22.04.3 LTS
Release: 22.04
Kodnamn: jammy

I det här fallet används den senaste stabila 22.04 LTS-versionen med kodnamnet Jammy. Bra. Anteckna detta och gå till Ubuntu-paket-webbplatsen.

Här kan du manuellt söka efter paket. Du kan söka genom att ange ett nyckelord, antingen paketnamnet eller något som kan hjälpa dig hitta det.

Ange nu paketnamnet och klicka på sökknappen.

Eftersom gimp är ett välkänt paket, får vi en exakt träff.

Om du tittar noga ser du att paketet finns tillgängligt i Universe-arkivet. För att ladda ner och installera paketet måste du aktivera Universe-förrådet för din Jammy 22.04 LTS-version.

Nu vet du att paketet är tillgängligt för din Ubuntu-version. Aktivera sedan förrådet med följande kommando:

$ sudo apt-add-repository universe multiverse

Kommandot aktiverar Universe- och Multiverse-förråden.

När det är klart, bygg om cachen igen.

$ sudo apt update

Du kan också installera andra förråd, som Main och Restricted. Använd följande kommandon:

$ 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. Läs mer om detta här: Vad är Ubuntu PPA och hur man installerar det?

#4. Se till att du använder en aktiv Ubuntu-version

Ubuntu erbjuder en LTS-version med långsiktigt stöd i 3 eller 5 år. Det kan innebära att många användare inte uppdaterar till en version som stöds. Då slutar operativsystemet få nya uppdateringar. När din Ubuntu-version inte längre stöds, går det inte längre att installera nya paket och du kan få felet ”kan inte hitta paketet”.

Kontrollera om din Ubuntu fortfarande stöds med följande kommando:

$ hwe-support-status --verbose
#utdata
användare@dator:~$ hwe-support-status --verbose
Du använder inte ett system med en Hardware Enablement Stack. Ditt system stöds till april 2027.
användare@dator:~$

Som du ser stöds den här Ubuntu-versionen till april 2027. Du kan ignorera Hardware Enablement Stack eftersom det inte är relevant just nu.

Om din Ubuntu-version inte stöds, måste du uppgradera till den senaste LTS-versionen.

#5. Åtgärda förrådet

Om inget annat löser problemet ”kan inte hitta paketet”, är det dags att inspektera Ubuntus källfil, `sources.list`, manuellt.

Filen innehåller all data om förråd. Du hittar den på `/etc/apt/sources.list`.

Kontrollera att förrådslänkarna är aktiva och att de stämmer överens med den officiella listan. Besök den officiella webbplatsen för distributionen för att få rätt information.

Slutsats – Vad händer om ingenting fungerar?

Efter en timmes felsökning kanske du fortfarande får samma felmeddelande: ”E: kan inte hitta paketet”.

Det är frustrerande, och du kanske vill ge upp och leta efter ett alternativt paket eller installera om Ubuntu.

Innan du gör det, är det bra att undersöka alla möjligheter. Du kan leta efter en äldre version av paketet som stöder din Ubuntu-version. Du kan hitta dem via ett personligt arkiv från tredje part (PPA).

Om du inte hittar en PPA som innehåller paketet, kolla den officiella webbplatsen för programvaran du vill ha. Ofta erbjuder de en direkt nedladdning av paketfilerna.

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

Detta avslutar vår guide där vi har sett olika sätt att lösa felet ”kan inte hitta paket”. Nu har du en tydlig förståelse för hur Ubuntu interagerar med förråd via cachen för att hämta, ladda ner och installera paket.

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