“dpkg:错误:请求的操作需要超级用户权限”。无法从已删除的软件包中删除所有配置信息,sudo 不起作用

“dpkg:错误:请求的操作需要超级用户权限”。无法从已删除的软件包中删除所有配置信息,sudo 不起作用

我想运行此命令(请参阅4此处的部分https://help.ubuntu.com/community/AptGet/Howto#Removal_commands):

dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

sudo我在开始时使用但无论如何我收到一个错误:

user@user-desktop:~$ sudo dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge
[sudo] password for user:
dpkg: error: requested operation requires superuser privilege

为什么sudo不起作用?我还应该输入什么?

答案1

sudo仅适用于单个命令,而不是整个管道。 在您的例子中,该命令以超级用户身份运行dpkg -l- 这是不必要的。

相反,管道中真正需要超级用户访问权限的命令是dpkg --purge,因此sudo直接将其添加到其前面。

dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg --purge

顺便说一下,awk可以使用正则表达式过滤行就像这样grep做一样,这样您可以保存一个命令:

dpkg -l | awk '/^rc/{print $2}' | xargs sudo dpkg --purge

答案2

尝试以 root 身份登录,以获得超级权限,您可以输入以下命令:

sudo -i

然后写 (复制/粘贴 :: Ctrl + C / Ctrl + Shift + V <-- 在终端中粘贴)在终端中输入命令,它应该可以工作

答案3

sudo -i dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

这可能会运行你的命令权限。Sudo 和 root 不同。参考

相关内容