如何修復 Linux 上的「sudo:找不到指令」錯誤

如何修復 Linux 上的「sudo:找不到指令」錯誤
Sudo 指令未找到錯誤功能

對於剛開始使用 Linux 的新用戶來說,這是一個常見且令人沮喪的問題。

本文向您展示此錯誤的含義以及如何在 Linux 中使用不同的方法修復它。

什麼是 sudo 指令?

讓我們先來了解一下 sudo 到底是什麼。指令sudosuperuser do 的縮寫,可讓您執行需要特殊超級使用者(或 root)權限的任務。

在Linux中,一般使用者帳號的權限有限,以防止意外的系統損壞。您無法存取某些文件或執行關鍵任務。另一方面,root 使用者沒有這樣的限制,可以在系統上執行任何操作。

sudo透過在命令之前使用,您可以暫時提升您的權限。這允許您執行否則會受到限制的命令。例如,如果您需要安裝軟體或修改系統文件,sudo 會為您提供必要的權限。

使用 sudo 是比以 root 使用者身分登入更好的選擇,因為它可以降低意外破壞系統的風險。當您使用 sudo 執行命令時,它會要求您輸入使用者密碼(而不是 root 密碼)來驗證您的身分。這提供了額外的安全層,只有允許的使用者才能執行敏感操作。

此外,還有一種無需密碼即可使用 sudo 的方法。

「Sudo:未找到指令」是什麼意思

sudo: command not found 錯誤表示您的 Linux 系統沒有可用的 sudo 軟體包。大多數 Linux 系統都預先安裝了 sudo,但也有一些沒有,例如 Arch 和 Gentoo Linux。

但是,有時即使您的系統安裝了 sudo,您仍然會看到該錯誤。在這種情況下,可能是因為您的 PATH 變數不包含安裝 sudo 的目錄。 PATH 變數幫助系統透過搜尋列出的目錄來定位指令。

最後,如果您的使用者缺乏正確的權限或路徑設定不正確,您可能會看到此錯誤。此外,請確保 sudo 拼寫正確。

如何修復 Sudo:找不到指令錯誤

要修復Linux中的sudo:命令未找到錯誤,您需要安裝sudo,將使用者新增至sudo組,或將sudo可執行路徑新增至PATH變數。

安裝須藤

首先,我們先檢查您的系統是否有可用的 sudo 套件。您可以透過查詢其版本號輕鬆查看。如果它出現,那麼您就知道系統中已安裝 sudo:

在 Linux 終端機中檢查 sudo 的版本。

如果您的 Linux 系統未安裝 sudo,則需要安裝它才能解決該錯誤。為此,您需要登出您的使用者帳戶並以根使用者身分登入。

為此,只需鍵入以下命令:

現在,成為 root 使用者後,您可以使用預設套件管理器在 Linux 發行版中安裝 sudo 套件。

例如,您可以使用以下命令在基於 Ubuntu/Debian 的發行版中安裝 sudo apt

若要在 CentOS/Fedora 或基於 RHEL 的發行版中安裝 sudo,請執行以下命令:

使用以下命令在 Arch Linux 上安裝 sudo 軟體包:

將使用者新增至 Sudo 群組

安裝 sudo 後,將非 root 使用者新增至 sudo 群組以啟用超級使用者 root 存取權。例如,您可以使用以下命令將使用者新增至Ubuntu或Debian系統中的sudo群組:

在 Fedora/CentOS 或其他基於 RHEL 的發行版上,嘗試將使用者新增至wheel群組:

此外,您可以透過執行以下命令來驗證使用者是否已新增至群組:

檢查後,使用以下命令從 root 切換回非 root 用戶,su後跟您的用戶名:

就是這樣!現在,您可以使用 sudo 以超級使用者身分輕鬆執行所有命令。例如,您可以使用以下命令更新 Linux 系統的軟體套件來驗證 sudo 安裝:

使用 apt 套件管理器更新套件。

將 Sudo 的目錄加入 Path 變數

如果您的系統上安裝了 sudo,但仍然出現 sudo: command not found 錯誤,請檢查您的 PATH 變數並確保它包含安裝 sudo 的目錄。

首先,透過返回其可執行路徑來確定 sudo 命令的位置:

使用 which 指令檢查 sudo 的路徑。

接下來,使用 echo 指令檢查您的 PATH 變數是否包含此目錄(/usr/bin/):

Sudo 變數路徑

在這裡,您會看到由冒號分隔的許多目錄的清單。您需要在清單中尋找“/usr/bin”或“/bin”,因為它們是 sudo 最常見的位置。

如果您的 PATH 中沒有「/usr/bin」目錄,您可以使用以下命令包含它:

此外,將“/usr/bin”替換為包含 sudo 可執行檔的實際目錄。

執行此命令會​​暫時更新 PATH 變量,使您的系統能夠找到 sudo 目錄並解決 Linux 中的 bash 錯誤。但是,此修改是暫時的,當您結束終端會話時,該修改將會消失。

若要使此變更對所有使用者永久生效,您需要將 sudo 目錄新增至系統範圍的 PATH 變數。為此,我們首先成為 root 使用者:

開啟“/etc/profile”檔案:

搜尋變數路徑行並將“/usr/bin”目錄加入 PATH 變數中。

Ctrl最後,按+儲存檔案O並關閉編輯器。現在,您可以使用 sudo 命令而不會出現任何錯誤。

包起來

透過安裝 sudo、將使用者新增至 sudo 群組以及在 PATH 變數中包含 sudo 可執行檔案路徑,您已成功修復 sudo: command not find 錯誤。

此外,您還可以探索 sudo -s、su、sudo su 和 sudo -i 之間的差異。您可能還想嘗試 Run0,這是一個新的權限提升程序,可以作為 sudo 的絕佳替代品。

圖片來源:Haroon Javed

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *