我最近发现,在运行软件更新程序 GUI 时,它会自动更新本地软件包列表(无需身份验证),但是在终端(apt-get update
或apt update
)中运行等效程序时,我得到:
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
那么,如何通过 GUI 方式执行与 apt-get update 等效的操作,并让它运行而无需您进行身份验证,而在终端中只需键入命令,就无法做到这一点?
是不是这两个过程实际上略有不同,而我误解了什么?还是什么?我如何在终端中模拟这种行为,以便我可以在不使用 GUI(或者在绝对必要时可以使用)和无需身份验证的情况下运行更新命令?
答案1
创建个人 sudoers 文件: sudo -E visudo -f /etc/sudoers.d/panda
——我假设“panda”是您的用户名。内容如下:
panda ALL = NOPASSWD: /usr/bin/apt-get, /usr/bin/apt
sudo apt-get install whatever
然后,您将无需输入密码即可执行操作。