Why does sudo command take long to execute?
Solution 1:
I asked this question over on SO and it got moved here. That said I no longer have the ability to edit the question as if I owned it, or even accept the correct answer, but this turned out to be the true reason why and how to solve it:
Found here User "rohandhruva" on there gives the right answer:
This happens if you change the hostname during the install process.
To solve the problem, edit the file /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 <ADD_YOURS_HERE> ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <ADD_YOURS_HERE>
Solution 2:
Check that your syslog daemon is working correctly; this caused the issue for me.
Run the following command
logger 'Hello world'
Does the command return within a reasonable amount of time?
Does 'Hello world' show up in
/var/log/syslog
?
If this is not the case, the syslog daemon has crashed. Restarting it should fix your problem.
Solution 3:
Is one of the files/directories it needs to read on a networked mount, or is it somehow triggering reading from a slow usb device? Try strace and see where it's slow; if it goes by too fast, do
sudo strace -r -o trace.log sudo echo hi
Each line will start with the time taken since entering the previous syscall.
(The initial sudo seems to be necessary; I don't know how much that will perturb the results.)