学好排除问题的方法,有助于提高生产力。

- [1] 问题现象
 
在 Ubuntu Server 18.04 LTS 下遇到了 sudo 速度非常慢的问题,具体表现是在提交命令之后大概需要 10s 左右才有输入 sudo 密码或者开始运行,su 命令同样也非常慢。这在升级前使用Ubuntu16.04 并没有,显然可能是 Ubuntu18.04 版本的问题。
- [2] 问题原因
 
Ubuntu Server 被设计成一种类似于分布式的操作系统网结构,允许 /etc/sudoers 中的成员不在本机上。从而 sudo 时会先从网络上寻找可能的 sudoer 然后才是本地,而这 10s 左右的时间就是整个 DNS 流程的最长时间。
- [3] 解决办法
 
首先输入 hostname 命令,得到本机当前的互联网名称。然后使用 su 或 sudo 打开 /etc/hosts 文件,添加如下一行即可。关闭并保存。这样处理后 sudo 速度恢复正常。
# /etc/hosts
127.0.0.1      escape  escape.localdomain