这个问题是最近装Ubuntu Server 18.04 LTS时遇到的,之前用Ubuntu Server 16.04 LTS并没有发现这个问题.
症状:sudo速度非常慢,提交命令之后大概需要10秒左右才有输入sudo密码或者开始运行。su命令症状相同。
原因:Ubuntu Server被设计成一种类似于分布式的操作系统网结构,允许/etc/sudoers中的成员不在本机上。从而sudo时会先从网络上寻找可能的sudoer然后才是本地. 而这10s左右的时间就是整个DNS流程的最长时间.
解决方案:首先输入hostname,得到本机当前的互联网名称(大概跟windows下的计算机名称差不多)。然后使用su或sudo打开/etc/hosts,添加一行:
127.0.0.1 <TAB> hostname <TAB> hostname.localdomain
关闭并保存,sudo速度恢复正常