Cum se remediază problema „sudo: command not found”

Atunci când configurați un nou calculator sau o mașină virtuală, este posibil să vă apară mesajul „sudo: comanda not found”. Acest mesaj poate fi enervant și vă împiedică să avansați cu configurarea.

În rândurile care urmează veți afla ce înseamnă și cum se poate remedia.

Ce este „sudo” în Linux

Conturile de utilizator pe Linux sunt prevăzute cu un set limitat de privilegii care le împiedică să efectueze sarcini administrative care pot deteriora sistemul.

Aceste privilegii limitate îi împiedică pe utilizatori să acceseze anumite zone ale sistemului de fișiere sau să execute anumite fișiere.

Singurul utilizator care nu are astfel de restricții asupra acțiunilor sale este utilizatorul root. Utilizatorul root poate accesa orice zonă a unui sistem Linux și poate executa orice comandă pe orice fișier.

Din cauza acestei puteri imense, ar trebui să dezactivați contul de root și să folosiți în schimb sudo.

hard@root:~$ apt update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCache (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCache (13: Permission denied)
hard@root:~$ sudo apt update
[sudo] password for hardxroot
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Hiy:2 http://ftp.ro.debian.org/debian bullseye InRelease
Get:3 http://security.debian.org/debian bullseye-security/main Source [150 kB]
Get:4 http://ftp.ro.debian.org bullseye-update InRelease [48.1 kB]
Fetched 243 kB in ls (298 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
hard@root:~$

Comanda sudo este prescurtarea de la „superuser do” și permite unui utilizator care face parte din grupul sudo și să execute o comandă ca și cum ar fi utilizatorul root.

Aceasta îi conferă efectiv puteri și permisiuni de root – atâta timp cât utilizează sudo și se autentifică cu o parolă.

De ce nu este găsită comanda sudo

Pe lângă faptul că este o comandă utilă, sudo este și un pachet. Pe majoritatea sistemelor este instalat în mod implicit.

Dar nu este cazul tuturor distribuțiilor, iar atunci când încercați să executați o comandă folosind sudo pe astfel de distribuții, este posibil să primiți mesajul „sudo: comand not found”.

Acest lucru este obișnuit în cazul sistemelor Linux nou instalate. Acest lucru poate fi deosebit de frustrant dacă ați petrecut ore întregi instalând și configurând Linux, doar pentru a vă autentifica în contul de utilizator și a descoperi mesajul Bash „command not found”.

Când vă confruntați cu mesaje de genul: „sudo not found”, primul lucru pe care ați putea încerca să îl faceți este să instalați pachetul sudo cu un manager de pachete precum APT, Pacman sau DNF.

sudo apt install sudo
hard@root:~$ sudo apt iupdate
bash: sudo: command not found
hard@root:~$ sudo apt install sudo
bash: sudo: command not found
hard@root:~$

Acest lucru va eșua pentru că, deoarece, având în vedere că vă confruntați deja cu această problemă, nu puteți utiliza comanda sudo pentru a instala pachete ca utilizator root.

Cum se remediază problema

Deoarece contul de utilizator nu își poate asuma privilegii de utilizator root fără a avea deja instalat sudo, trebuie să vă deconectați din contul dvs. de utilizator și să vă conectați ca root.

În calitate de utilizator root, puteți instala pachetul sudo cu privilegiile pe care le deține acest cont, astfel încât să nu fie supus mesajului „command not found”.

Pe sistemele bazate pe Debian, introduceți:

hard@root:~# apt install sudo

Apoi, adăugați contul de utilizator la grupul sudo folosind:

hard@root:~# usermod -aG sudo numele_de_utilizator
ex: hard@root:~# usermod -aG sudo hardxroot

Pe alte distribuții Linux, introduceți:

[Arch Linux]
hard@root:~# pacman -S sudo
hard@root:~# usermod -aG sudo numele_de_utilizator
[RHEL / Fedora]
hard@root:~# dnf install sudo
hard@root:~# usermod -aG sudo numele_de_utilizator
[openSUSE]
hard@root:~# zypper install sudo
hard@root:~# usermod -aG sudo numele_de_utilizator
[Gentoo]
hard@root:~# emerge install sudo
hard@root:~# usermod -aG sudo numele_de_utilizator

Când vă conectați din nou ca utilizator obișnuit, veți descoperi că mesajul „sudo: command not found” este de domeniul trecutului.

Dacă continuați să vedeți mesaje de genul, ar trebui să luați în considerare reinstalarea distribuției dvs. sau chiar să încercați o altă distribuție.

Leave a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Scroll to Top