apt-get to narzędzie wiersza poleceń do zarządzania pakietami w systemach operacyjnych opartych na Debianie, takich jak Ubuntu. Służy do instalowania, odinstalowywania, aktualizowania i zarządzania pakietami oprogramowania w systemie.
Biorąc pod uwagę, że ten menedżer pakietów jest jednym z niemal najbardziej podstawowych pakietów systemu, logiczne jest, że program powinien być obecny w każdej dystrybucji. Mimo to, nierzadko zdarza się, że użytkownicy napotykają błąd apt get command not found
. W tym artykule przyjrzymy się, dlaczego taki błąd występuje, jak może być i jak naprawić apt get command not found.
Przyjrzyjmy się podstawowym poleceniom:
apt-get update
Aktualizuje listę dostępnych pakietów z repozytoriów.
apt-get upgrade
Aktualizuje wszystkie zainstalowane pakiety do ich najnowszych wersji.
apt-get install <package>
Instaluje określony pakiet.
apt-get autoremove
Usuwa niepotrzebne zależności, które nie są już używane przez inne pakiety.
apt-get dist-upgrade
Aktualizuje system do nowej wersji, jeśli jest dostępna.
Ogólnie rzecz biorąc, narzędzie to jest potężnym narzędziem do zarządzania pakietami w systemach opartych na Debianie i może być używane do aktualizacji systemu, instalowania nowego oprogramowania i wielu innych zadań.
Komunikat o błędzie oznacza, że polecenie, które próbujesz uruchomić, nie zostało znalezione w systemie. Nie jest ono zainstalowane lub zostało odinstalowane. Ale to wszystko brzmi bardzo dziwnie w odniesieniu do menedżera pakietów.
Główne powody, dla których pojawia się ten błąd:
"apt get not found
" jest brak Ubuntu. Ten menedżer pakietów jest używany tylko w dystrybucjach Linuksa opartych na Debianie. Red Hat, CentOS, Fedora, OpenSUSE, CoreOS, Cloud Linux, ArchLlinux i inne systemy nie są nim objęte. Mają one swoje własne menedżery pakietów, każdy ma swój własny i to jest to, czego powinieneś używać do instalowania pakietów, a nie szukać apt
. Jeśli używasz polecenia apt
zamiast apt-get
, możesz mieć starszą dystrybucję, która nie obsługuje tej składni, użyj apt-get
.Apt
. Nie ma go już w systemie, dlatego system nie może go znaleźć.apt
jest w systemie i działa poprawnie, ale zmienna środowiskowa PATH
została uszkodzona i teraz system nie szuka plików wykonywalnych w folderze, w którym znajduje się apt
.Zobaczmy teraz, jak rozwiązać ten problem. To bardzo proste.
Najpierw upewnijmy się, że przyczyną nie jest drugi element. Zazwyczaj pliki wykonywalne apt
znajdują się w katalogu /usr/bin
. Najpierw sprawdźmy, czy w tym folderze znajduje się taki plik:
$ ls -l /usr/bin/apt-get
Zwróć uwagę na uprawnienia. Dla użytkownika, grupy i innych flaga"x
" powinna być ustawiona na wykonywanie. Jeśli tak nie jest, apt
będzie musiał zostać ponownie zainstalowany.
Jeśli uprawnienia różnią się od powyższych, a mianowicie"-rwxr-xr-x
", należy je również naprawić, dodając flagę wykonywalną dla wszystkich kategorii:
$ chmod +x /usr/bin/apt-get
Jeśli poprzednie opcje nie zadziałały, sprawdź zawartość zmiennej środowiskowej PATH
:
$ echo $PATH
Powinieneś zobaczyć w niej odniesienie do /usr/bin
. Jeśli nie ma takiej linii, to problem był tutaj i linia powinna zostać dodana na końcu:
$ export PATH=current_content:/usr/bin
Na przykład:
$ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
Jeśli dokonałeś zmian w pliku /etc/profile
i zmienna PATH
zepsuła się z tego powodu, musisz wprowadzić poprawki również w tym pliku.
Zalecamy po prostu ponowną instalację narzędzia. Pobierz go z oficjalnej strony i zainstaluj w swoim systemie. Musisz tylko wybrać wersję dla swojego systemu operacyjnego. Możesz pobrać pakiet za pomocą przeglądarki lub poleceń takich jak te:
Dla Ubuntu Xenial:
$ wget http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.2.15ubuntu0.2_i386.deb
Dla Ubuntu Yakkety:
$ wget http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.3.3_i386.deb
Teraz pozostaje tylko zainstalować pobrany pakiet:
$ sudo dpkg -i apt*
Gotowe, po tym błąd apt get command not found
powinien zniknąć i powinieneś być w stanie normalnie pracować ze swoimi pakietami.