Błąd „Nie można zlokalizować pakietu” w systemie Linux

Photo of author

By maciekx

Linux to system operacyjny o dużych możliwościach, jednak użytkownicy mogą napotkać trudności. Często wymaga ciągłego uczenia się i rozwiązywania problemów.

W Linuxie dostępnych jest wiele zaawansowanych menedżerów pakietów. Najczęściej spotykanym jest APT, szczególnie w dystrybucjach takich jak Ubuntu, która jest jedną z popularniejszych opcji.

Podczas korzystania z APT, użytkownicy mogą natknąć się na komunikat o błędzie: „Nie można zlokalizować pakietu”, szczególnie w Ubuntu.

W tym artykule przedstawimy sposoby rozwiązania tego problemu. Jako przykład będziemy wykorzystywać Ubuntu. Użytkownicy innych dystrybucji Linuxa, które korzystają z APT, również mogą skorzystać z tych wskazówek.

Zaczynajmy.

Co oznacza błąd „E: Nie można zlokalizować pakietu”?

Komunikat błędu jest dość zrozumiały. Podczas próby instalacji pakietu lub aplikacji pojawia się komunikat „E: Nie można zlokalizować [nazwa_pakietu]”.

Oznacza to, że system Linux nie jest w stanie odnaleźć pakietu, który próbujesz zainstalować.

Nie panikuj, to częsty problem użytkowników Ubuntu i APT.

Dobra wiadomość jest taka, że istnieją sposoby na jego rozwiązanie. Niezależnie od poziomu Twojej wiedzy o Linuxie, ten poradnik pomoże Ci uporać się z problemem.

Przeczytaj także: Jak działają menedżerowie pakietów systemu Linux: kompletny przewodnik

Przyczyny występowania błędu „E: Nie można zlokalizować pakietu”

Aby lepiej zrozumieć istotę problemu, warto poznać jego główne przyczyny.

W Ubuntu, do instalowania pakietów najczęściej używa się APT. Można użyć poleceń `apt-get` lub `apt`. Przykładowe polecenie wygląda następująco:

$ sudo apt-get install nazwa_pakietu

Jeśli wszystko działa poprawnie, pakiet zostanie zainstalowany bez żadnych błędów. Czasami jednak pojawia się komunikat „E: Nie można zlokalizować pakietu [nazwa_pakietu]”. Wynik wygląda mniej więcej tak:

#output

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności

Czytanie informacji o stanie... Gotowe

E: Nie można zlokalizować pakietu [nazwa_pakietu]

Błąd ten oznacza, że system Linux nie może odnaleźć wskazanego pakietu. Twoim zadaniem jest zidentyfikować przyczynę i naprawić ten problem, aby uniknąć jego powtórzenia w przyszłości.

Do głównych przyczyn występowania tego błędu należą:

  • Błędna nazwa pakietu (najczęstsza przyczyna).
  • Problemy z listą źródeł oprogramowania.
  • Nieaktualna pamięć podręczna repozytoriów Ubuntu.
  • Zakończenie okresu wsparcia dla danej wersji Ubuntu.
  • Brak kompatybilności pakietu z Twoją wersją systemu.
  • Pakiet nie jest dostępny w głównym repozytorium.

Jak rozwiązać błąd „Nie można zlokalizować pakietu”?

W tej części omówimy różne metody rozwiązania tego problemu.

#1. Czy poprawnie wpisałeś nazwę pakietu?

Częstym błędem użytkowników Linuxa jest niepoprawne wpisanie nazwy pakietu. Nawet niewielka literówka może spowodować wyświetlenie błędu przez system Ubuntu.

Sprawdźmy to na przykładzie instalacji programu Gimp, służącego do edycji grafiki.

$ sudo apt-get install gump
#output

$ sudo apt-get install gump

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności... Gotowe

Czytanie informacji o stanie... Gotowe

E: Nie można zlokalizować pakietu gump

Jak widać, pojawił się błąd „E: Nie można zlokalizować pakietu gump”. W repozytoriach nie ma pakietu o takiej nazwie.

Błędy w nazwach zdarzają się częściej niż myślisz. Linux rozróżnia wielkość liter, dlatego nawet poprawna nazwa, ale z nieprawidłową wielkością liter, może nie zadziałać. Na przykład, próba zainstalowania „Gimp” zamiast „gimp” również zakończy się niepowodzeniem.

$ sudo apt-get install Gimp
Czytanie list pakietów... Gotowe

Budowanie drzewa zależności... Gotowe

Czytanie informacji o stanie... Gotowe

E: Nie można zlokalizować pakietu Gimp

Aby poprawnie zainstalować Gimp, należy wpisać poprawną nazwę pakietu.

$ sudo apt-get install gimp

A co jeśli nie jesteś pewien poprawnej nazwy? W takiej sytuacji możesz skorzystać z polecenia `apt search`, które umożliwia wyszukiwanie pakietów. Na przykład, jeśli szukasz pakietu zawierającego „małpę”, ale nie znasz dokładnej nazwy, użyj poniższego polecenia:

$ 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. Zaktualizuj listę pakietów / pamięć podręczną repozytorium

Ubuntu wykorzystuje mechanizm lokalnej pamięci podręcznej, zamiast pobierania całego repozytorium. Pamięć ta zawiera listę dostępnych pakietów.

Polecenie `sudo apt update` aktualizuje tę lokalną pamięć.

$ sudo apt update

Gdy używasz polecenia `apt-get install`, APT przeszukuje pamięć podręczną w poszukiwaniu żądanego pakietu. Sprawdza informacje takie jak wersja, zanim rozpocznie pobieranie pakietu z repozytoriów online.

Jeśli pakietu nie ma na liście w pamięci podręcznej, Ubuntu zgłosi błąd.

Dzieje się tak często przy pierwszej instalacji dystrybucji opartej na Ubuntu lub Debianie (np. Linux Mint). W takim przypadku, warto uruchomić `sudo apt update` przynajmniej raz, aby utworzyć lokalną pamięć podręczną.

Czasami, nawet po aktualizacji, pamięć podręczna może być nieaktualna. Wtedy należy użyć polecenia `apt update` ponownie.

Przed aktualizacją warto wyczyścić pamięć podręczną. Można to zrobić za pomocą poniższego polecenia:

$ sudo apt clean && sudo apt update

#3. Sprawdź dostępność pakietu

Nawet przy poprawnej nazwie i aktualnej pamięci podręcznej, błąd „nie można zlokalizować pakietu” może się nadal pojawiać. Powodem jest brak dostępności danego pakietu w repozytoriach. W takiej sytuacji, niezależnie od Twoich starań, pakietu nie da się zainstalować.

Co możesz zrobić?

Warto poznać repozytorium „Universe”. System Linux domyślnie może nie mieć do niego dostępu, co może skutkować błędem. Innym powodem może być brak dostępu do danego pakietu w Twojej wersji Ubuntu.

Aby sprawdzić, czy Twoja wersja Ubuntu nie jest przestarzała, użyj polecenia:

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

Używana jest wersja 22.04 LTS (Jammy). Zanotuj nazwę wersji i przejdź do strony Pakiety Ubuntu.

Na tej stronie można ręcznie wyszukiwać pakiety. Jest tam pole wyszukiwania, gdzie można wpisać słowo kluczowe – nazwę pakietu lub cokolwiek, co pomoże go zlokalizować.

Wystarczy wpisać nazwę pakietu i kliknąć „Szukaj”.

Wyszukując „gimp” otrzymujemy precyzyjne dopasowanie.

Pakiet Gimp dostępny jest w repozytorium „Universe”. Aby go zainstalować, musisz dodać to repozytorium do swojej wersji (Jammy 22.04 LTS).

Po upewnieniu się, że pakiet jest dostępny dla Twojej wersji Ubuntu, musisz włączyć repozytorium. Użyj do tego polecenia:

$ sudo apt-add-repository universe multiverse

Powyższe polecenie aktywuje repozytoria „universe” i „multiverse”.

Po dodaniu repozytoriów, zaktualizuj pamięć podręczną:

$ sudo apt update

Możesz również dodać repozytoria „main” i „restricted” za pomocą poleceń:

$ sudo apt-get-repository main

$ sudo apt-get-repository restricted

Jeśli pakiet nie jest dostępny w Twojej wersji Ubuntu, możesz skorzystać z repozytoriów zewnętrznych, takich jak PPA. Więcej na ten temat: Co to jest Ubuntu PPA i jak go zainstalować?

#4. Upewnij się, że korzystasz z aktualnej wersji Ubuntu

Ubuntu oferuje wersje LTS (z długoterminowym wsparciem) przez 3 lub 5 lat. Niektórzy użytkownicy nie aktualizują systemu, co uniemożliwia otrzymywanie nowych aktualizacji. Po wygaśnięciu wsparcia dla danej wersji, instalacja nowych pakietów może być niemożliwa i pojawia się błąd „nie można zlokalizować pakietu”.

Aby sprawdzić, czy Twoja wersja Ubuntu jest wciąż wspierana, użyj polecenia:

$ 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:~$

W tym przypadku, wersja Ubuntu jest wspierana do kwietnia 2027 roku. Informację o stosie HWE można zignorować.

Jeśli Twoja wersja Ubuntu nie jest już wspierana, musisz zaktualizować system do najnowszej wersji LTS.

#5. Napraw repozytorium

Jeśli żadna z powyższych metod nie działa, warto sprawdzić plik konfiguracyjny z listą repozytoriów (`sources.list`).

Ten plik zawiera informacje o repozytoriach. Musisz uzyskać dostęp do pliku `/etc/apt/sources.list`.

Sprawdź, czy linki do repozytoriów są aktywne i zgodne z oficjalną listą. Odpowiednie informacje znajdziesz na oficjalnej stronie dystrybucji.

Wniosek – co jeśli nic nie zadziała?

Po długim rozwiązywaniu problemów, błąd „E: nie udało się zlokalizować pakietu” może nadal się pojawiać.

Może to frustrować, dlatego możesz chcieć zrezygnować z danego pakietu i poszukać alternatywnego rozwiązania lub przeinstalować Ubuntu.

Zanim podejmiesz taką decyzję, warto sprawdzić wszystkie możliwe opcje. Możesz spróbować poszukać starszej wersji pakietu kompatybilnej z Twoją wersją Ubuntu. Możesz to zrobić za pomocą repozytoriów PPA.

Jeśli nie znajdziesz odpowiedniego PPA, sprawdź oficjalną stronę internetową danego oprogramowania. Często udostępniają bezpośrednie linki do plików pakietu.

Jeżeli nic nie pomoże, najlepiej poszukać alternatywnej aplikacji.

To kończy nasz poradnik, w którym omówiliśmy różne sposoby rozwiązywania błędu „nie można zlokalizować pakietu”. Teraz powinieneś lepiej rozumieć, jak Ubuntu korzysta z repozytoriów poprzez pamięć podręczną, aby pobierać i instalować pakiety.

Zapraszamy także do zapoznania się z najlepszymi przykładami polecenia `find` w systemie Linux.


newsblog.pl