Jak naprawić błąd „sudo: polecenie nie znalezione” w systemie Linux
Jest to częsty i frustrujący problem dla nowych użytkowników Linuksa, którzy dopiero zaczynają swoją przygodę z tym systemem.
W tym artykule wyjaśniono, co oznacza ten błąd i jak go naprawić w systemie Linux, stosując różne metody.
Czym jest polecenie Sudo?
Najpierw zrozumiemy, czym jest sudo. Polecenie sudo
, skrót od superuser do , pozwala wykonywać zadania, które wymagają specjalnych uprawnień superużytkownika (lub roota).
W systemie Linux konta zwykłych użytkowników mają ograniczone uprawnienia, aby zapobiec przypadkowemu uszkodzeniu systemu. Nie możesz uzyskać dostępu do niektórych plików ani wykonywać krytycznych zadań. Z drugiej strony użytkownik root nie ma takich ograniczeń i może robić wszystko w systemie.
Używając sudo
przed poleceniem, tymczasowo podnosisz swoje uprawnienia. Pozwala to na wykonywanie poleceń, które w przeciwnym razie byłyby ograniczone. Na przykład, jeśli musisz zainstalować oprogramowanie lub zmodyfikować pliki systemowe, sudo daje Ci niezbędne uprawnienia.
Użycie sudo jest lepszym rozwiązaniem niż logowanie się jako użytkownik root, ponieważ zmniejsza ryzyko przypadkowego uszkodzenia systemu. Gdy uruchamiasz polecenie z sudo, prosi ono o hasło użytkownika (nie hasło roota), aby zweryfikować Twoją tożsamość. Zapewnia to dodatkową warstwę bezpieczeństwa, w której tylko uprawnieni użytkownicy mogą wykonywać poufne operacje.
Dodatkowo istnieje sposób, dzięki któremu można używać sudo bez hasła.
Co oznacza „Sudo: Polecenie nie znalezione”
Błąd sudo: command not found oznacza, że w systemie Linux nie ma pakietu sudo. Większość systemów Linux ma wstępnie zainstalowany pakiet sudo, ale niektóre nie, takie jak Arch i Gentoo Linux.
Jednak czasami nadal widzisz błąd, mimo że w systemie jest zainstalowany sudo. W takim przypadku może to być spowodowane tym, że zmienna PATH nie zawiera katalogu, w którym zainstalowano sudo. Zmienna PATH pomaga systemowi zlokalizować polecenia poprzez przeszukiwanie wymienionych katalogów.
Na koniec, możesz zobaczyć ten błąd, jeśli Twój użytkownik nie ma odpowiednich uprawnień lub jeśli PATH nie jest poprawnie skonfigurowany. Ponadto upewnij się, że poprawnie napisałeś sudo.
Jak naprawić błąd Sudo: Polecenie nie znalezione
Aby naprawić błąd sudo: polecenie nie znalezione w systemie Linux, musisz zainstalować sudo, dodać użytkownika do grupy sudo lub dodać ścieżkę wykonywalną sudo do zmiennej PATH.
Instalowanie Sudo
Na początek sprawdźmy, czy w Twoim systemie jest dostępny pakiet sudo. Możesz to łatwo sprawdzić, sprawdzając numer jego wersji. Jeśli się pojawi, to wiesz, że sudo jest zainstalowane w Twoim systemie:
Jeśli w systemie Linux nie ma zainstalowanego sudo, musisz je zainstalować, aby rozwiązać błąd. W tym celu musisz wylogować się ze swojego konta użytkownika i zalogować się jako użytkownik root.
Aby to zrobić, wystarczy wpisać następującą komendę:
Teraz, po uzyskaniu uprawnień użytkownika root, możesz zainstalować pakiet sudo w swojej dystrybucji Linuksa, korzystając z domyślnego menedżera pakietów.
Na przykład możesz zainstalować sudo w dystrybucjach opartych na Ubuntu/Debianie, używając apt
:
Aby zainstalować sudo w dystrybucji CentOS/Fedora lub RHEL, uruchom to:
Użyj następującego polecenia, aby zainstalować pakiet sudo w systemie Arch Linux:
Dodawanie użytkownika do grupy Sudo
Po zainstalowaniu sudo dodaj użytkownika innego niż root do grupy sudo, aby umożliwić superużytkownikowi dostęp root. Na przykład możesz dodać użytkownika do grupy sudo w systemie Ubuntu lub Debian, używając tego polecenia:
W systemie Fedora/CentOS lub innych dystrybucjach opartych na systemie RHEL spróbuj dodać użytkownika do grupy wheel:
Co więcej, możesz sprawdzić, czy użytkownik został dodany do grupy, wykonując poniższe polecenie:
Po sprawdzeniu przełącz się z konta root z powrotem na użytkownika innego niż root, używając polecenia, su
po którym należy podać swoją nazwę użytkownika:
To wszystko! Teraz możesz łatwo wykonać wszystkie polecenia jako superużytkownik używając sudo. Na przykład możesz zweryfikować instalację sudo poprzez aktualizację pakietów swojego systemu Linux za pomocą tego polecenia:
Dodaj katalog Sudo do zmiennej ścieżki
Jeżeli w systemie zainstalowano polecenie sudo, ale nadal pojawia się błąd sudo: command not found, sprawdź zmienną PATH i upewnij się, że zawiera katalog, w którym zainstalowano polecenie sudo.
Najpierw określ lokalizację polecenia sudo, zwracając ścieżkę do jego pliku wykonywalnego:
Następnie użyj polecenia echo, aby sprawdzić, czy zmienna PATH obejmuje ten katalog (/usr/bin/):
Tutaj widzisz listę wielu katalogów rozdzielonych dwukropkami. Musisz poszukać „/usr/bin” lub „/bin” na liście, ponieważ są to najczęstsze lokalizacje dla sudo.
Jeżeli w zmiennej PATH nie ma katalogu „/usr/bin”, możesz go uwzględnić za pomocą tego polecenia:
Ponadto zastąp „/usr/bin” katalogiem zawierającym plik wykonywalny sudo.
Uruchomienie tego polecenia tymczasowo aktualizuje zmienną PATH, umożliwiając systemowi znalezienie katalogu sudo i rozwiązanie błędów bash w systemie Linux. Jednak ta modyfikacja jest tymczasowa i zniknie, gdy zakończysz sesję terminala.
Aby ta zmiana była trwała dla wszystkich użytkowników, musisz dodać katalog sudo do zmiennej PATH w całym systemie. Aby to zrobić, najpierw zostańmy użytkownikiem root:
Otwórz plik „/etc/profile”:
Wyszukaj wiersz zmiennej path i dodaj swój katalog „/usr/bin” do zmiennej PATH.
Na koniec zapisz plik naciskając Ctrl+ Oi zamknij edytor. Teraz możesz pracować z poleceniem sudo bez żadnych błędów.
Podsumowanie
Udało Ci się naprawić błąd sudo: polecenie nie znalezione, instalując sudo, dodając swojego użytkownika do grupy sudo i umieszczając ścieżkę wykonywalną sudo w zmiennej PATH.
Ponadto możesz również zbadać różnice między sudo -s, su, sudo su i sudo -i. Możesz również wypróbować Run0, nowy program do eskalacji uprawnień, który jest świetną alternatywą dla sudo.
Źródło obrazu: Haroon Javed
Dodaj komentarz