sudo: command not found 的解決方法
# sudo: command not found 的解決方法
sudo 是 Linux 系統(tǒng)管理指令,是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的 root 命令的一個工具,如 halt,reboot,su 等等。這樣不僅減少了 root 用戶的登錄和管理時間,同樣也提高了安全性。sudo 不是對 shell 的一個代替,它是面向每個命令的。
在 Linux 系統(tǒng)中,使用 sudo 命令時如果提示 “command not found”,我們應該如何解決呢?
首先執(zhí)行以下命令看一下 /etc/sudoers.d 文件是否存在,
```
find /etc/sudoers.d
```
1
1、如果返回 No such file or directory,就說明你的系統(tǒng)沒有安裝sudo,下面是安裝命令 :
```
apt-get install sudo
```
1
如果提示 E: Unable to locate package sudo 的錯誤,先執(zhí)行下面的命令:
```
apt-get update
```
1
再執(zhí)行 sudo apt-get install 就可以了。
2、如果 /etc/sudoers.d 文件存在則說明系統(tǒng)已經(jīng)安裝了 sudo,只不過沒有配置環(huán)境。
當你使用 sudo 去執(zhí)行一個程序時,處于安全的考慮,這個程序將在一個新的、最小化的環(huán)境中執(zhí)行,也就是說,諸如PATH這樣的環(huán)境變量,在 sudo 命令下已經(jīng)被重置成默認狀態(tài)了。所以當一個剛初始化的 PATH 變量中不包含你所要運行的程序所在的目錄,用 sudo 去執(zhí)行,你就會得到 “command not found” 的錯誤提示。
要想改變 PATH 在 sudo 會話中的初始值,使用以下命令打開/etc/sudoers文件,
```
vi /etc/sudoers
```
1
找到"secure_path"一行,當你執(zhí)行 sudo 命令時,"secure_path"中包含的路徑將被當做默認 PATH 變量使用。
按 “i” 鍵就可以進入插入模式(Insert mode),添加所需要的路徑(如 /usr/local/bin)到"secure_path"下,
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
編輯完成后,按 “ESC” 鍵切換為命令行模式,輸入 “: wq” 保存并退出。
解決!??!
> 轉載自 https://blog.csdn.net/hello_1995/article/details/109222650