解決 sudo 速度反應緩慢

這都不知道是這個禮拜寫的第幾篇跟 Ubuntu 相關的問題…,一切都是OS系統的升級錯啦!雖說問題都不大,但遇到了還是很阿雜…

因為上次升完級後,發現當我提交 sudo 命令,大概得過 10 秒才會跳出輸入密碼的提示…。

原因

想了想原因,可能是因為我在升級時順手將 hostname 由 ubuntu18 改成了 ubuntu20

而至於更確切的原因?我在網路上找到了 Kiritow 的解說:

Ubuntu Server 被設計成一種類似於分布式的操作系統網路結構,允許 /etc/sudoers 中的成員不在本機上。因此 sudo 時會先從網路上尋找可能的 sudoer 然後才是本地。 而這 10 秒左右的時間就是整個 DNS 流程的最長時間。

解決方案

其實還滿簡單的,修改 /etc/hosts 就好了:

1
$ sudo nano /etc/hosts

然後把新的 hostname,也就是 ubuntu20, 加到檔案中:

1
2
- 127.0.0.1 localhost
+ 127.0.0.1 localhost ubuntu20

設完後,sudo 速度恢復正常。


如果沒有恢復正常,可以試試 Kiritow 的方法,他除了加上 hostname 外,他還額外加了 localdomain 變成了:

1
2
- 127.0.0.1 localhost
+ 127.0.0.1 localhost ubuntu20 ubuntu20.localdomain


如果你不知道你的 hostname,可以用指令先查查:

1
2
$ hostname
ubuntu20

疑問

雖然解決了,但我這邊有一個疑問,之前也出現過疑似換了 hostname,而產生了錯誤,但我那時看到的錯誤訊息是:

1
sudo: unable to resolve host ubuntu16-x64

且解決方式是一模一樣,都是修改 /etc/hosts 。所以到底為啥相同的原因,會得到不同的錯誤訊息?

參考資料

  1. Kiritow (2018-06-14)。Ubuntu下sudo速度很慢原因及解决办法。Kiritow的学园|CSDN博客 (2021-09-08)。
  2. hongXkeX (2017-08-11)。ubuntu - sudo 命令执行速度很慢的解决办法。檢自 简书 (2021-09-08)。

更新紀錄

最後更新日期:2021-09-16
  • 2021-09-16 發布
  • 2021-09-08 完稿
  • 2021-09-08 起稿