修復在 Ubuntu 上 「Unable to acquire dpkg frontend lock. Are You Root?」 的錯誤
我假設你對 Linux 很陌生。
你按照網上的一些教程,告訴你要安裝某個程序或運行某個命令。可能是與伺服器有關的東西。
但當你運行這個命令時,你遇到了這個錯誤:
E: Could not open lock file /var/lib/dpkg/lock-frontend – open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
或者類似的錯誤:
dpkg: error: required read/write access to the dpkg database directory /var/lib/dpkg
E: Sub-process dpkg –set-selections returned an error code (2)
E: Executing dpkg failed. Are you root?
這兩個錯誤都在問你同一個問題:你是 root 嗎?而這就是這個問題的答案。成為 root。
成為 root 以避免這個錯誤
你如何 在 Ubuntu 或 Debian 中成為 root?你使用 sudo
命令。
是的,就是這樣。無論你在運行什麼命令,只要在它前面加上 sudo
即可。
sudo your_command
它將要求你輸入你的用戶賬戶密碼。請記住,當你輸入密碼時,屏幕上不會顯示任何東西,這也沒關係。
你的系統沒有任何問題。在大多數 Linux 系統中,輸入密碼時不會顯示通常的星號或其他東西是一種「安全特性」。
只要輸入密碼,並在密碼後按下回車鍵即可。如果密碼輸入正確,你現在應該可以運行該命令了。
你甚至可以使用這個方便的 Linux 命令行技巧,用 sudo
運行以前的命令:
sudo !!
這很簡單,而且立即生效,除非你沒有 sudo 許可權。然後,你會看到一個不同的錯誤。
看到一個 「User is not in sudoer file」 的錯誤?
當你 安裝 Ubuntu 時,你必須創建一個用戶賬戶。這個用戶被自動授予 sudo
許可權,在需要時以 root 身份運行命令。
這發生在 Ubuntu 桌面上,而不是伺服器上。大多數伺服器發行版會有一個單獨的 root 賬戶。如果你單獨創建了一個普通賬戶,你就必須把這個用戶添加到 sudoer
中,以便這個普通用戶可以使用 sudo
。
在上面的截圖中,我已經創建了這個額外的用戶,但沒有將其添加到 sudo 組中。這意味著這裡的用戶 prakash
沒有使用 sudo
命令的許可權,因此系統抱怨 「prakash is not in sudoers file」。
該事件在哪裡報告?
錯誤的 sudo
嘗試會被添加到系統日誌中。它記錄了用戶名、虛擬終端號、運行命令的位置和運行的命令。
這些日誌的位置在不同的發行版中有所不同。
通常,在 Ubuntu 中你可以在 journalctl
日誌或 /var/log/auth.log
文件中找到它,在 Fedora 中可以在 /var/log/audit/audit.log
文件中找到它。
如果一個用戶不在 sudoer 列表中,你能做什麼?
當你不能用當前的用戶賬戶使用 sudo
時,你能做什麼?首先,驗證該用戶是否有 sudo 許可權。如果沒有,你可以有一些選擇:
- 以 root 身份登錄或切換 root 身份(如果你有 root 密碼)。
- 將該用戶加入 sudoer 列表 (如果你有其他用戶賬戶的管理或
sudo
許可權)。 - 如果你在多用戶的 Linux 系統中,自己沒有 root 或
sudo
許可權,請你的系統管理員授予你的用戶 sudo 許可權或安裝你想安裝的應用。
這有幫助嗎?
sudo
是一個非常全面的安全機制,它不僅僅是允許一個普通用戶成為 root。它有助於對系統進行審計,了解哪個用戶用 sudo
運行了哪個命令。它還可以被配置為只允許某個用戶用 sudo
運行某些命令。
你不會在桌面 Linux 上看到如此細化的 sudo
配置,在桌面 Linux 上,它被預先配置為允許 sudo
組中的任何用戶以 root
的身份運行任何命令。關於 sudo
的更多信息,請參見其他文章。
我希望在解決這個經典的初學者問題時,你能對 sudo
命令有一些初步的了解。如果你對這個主題有進一步的問題,請在評論區告訴我。
via: https://itsfoss.com/fixed-are-you-root-error/
作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive