使用 sudo 的终端命令需要很长时间

使用 sudo 的终端命令需要很长时间

我注意到,最近当我执行需要密码的命令时,终端变得太慢了。显示 [sudo] 密码需要几秒钟...

我正在使用带有 Ubuntu 13.04 64 位的 Dell XPS 开发者版 (i7,8G RAM)。

答案1

你好,我在另一个问题上找到了这个答案 - 问题是您的主机名不在您的主机文件中。

基本上,在终端中输入“hostname”。这将告诉您您的主机名是什么。

接下来输入:

sudo nano /etc/hosts

并添加:

127.0.0.1 yourhostname

然后保存 - 你就完成了!Sudo 现在应该很快了!

答案2

当您在 Gnome 中更改系统名称时(终端中 @ 后面显示的部分;例如,tobias@laptoptobias@newlaptop可能需要更新您的/etc/hosts

127.0.1.1 laptop

需要更改为

127.0.1.1 newlaptop

如果操作正确,sudo保存此设置后应立即生效。

答案3

答案 1
对于那些想要更详细答案的人,已确认@Paul Preibisch 的答案

这个问题我已经困扰了很长时间了,我所做的就是运行

hostnamectl | grep -i "static hostname"

这将显示您的主机名,然后复制该值并编辑您的主机

sudo vim /etc/hosts

并补充127.0.0.1 yourHostName说,
在一些发行版中也127.0.1.1 yourHostName应该替换


答案 2
请注意,在许多情况下,这answer 1将解决您的问题,如果没有,您必须检查sudo基于 debian 的发行版中的日志,
/var/log/auth.log
以便您可以使用 tail 命令查看 sudo 日志,
sudo tail -f -n 100 /var/log/auth.log
然后打开另一个终端并运行 sudo 命令,如:
sudo ls /
返回您的第一个终端并阅读日志,在我的情况下,问题是由于pam_krb5身份验证失败,日志是:
sudo: pam_krb5(sudo:auth): authentication failure;
在我删除它之后,sudo 命令立即起作用......

感谢@gdm 提供线索...

答案4

对于懒人来说 - 只需将其复制粘贴到您的终端即可:)

echo -e '127.0.0.1\t' $(hostnamectl | grep -i "static hostname:" | cut -f2- -d:) | sudo tee -a /etc/hosts

运行此命令后 sudo 应该会很快

编辑-更详细地解释此命令:

  • 它首先抓取你的本地主机并剪切前面的标签字符串(hostnamectl | grep -i“static hostname:”| cut -f2- -d:)例如我的本地主机

  • 它将其与127.0.0.1前面(“\t” 表示制表符)

  • 它采用上面创建的完整字符串(127.0.0.1 我的本地主机)并将其添加到 /etc/hosts 的末尾(您需要 sudo 来编辑 hosts 文件)

相关内容