В течение последних нескольких месяцев я изучал Linux (Fedora 10, затем 11) (и получал от этого огромное удовольствие — это как будто заново открывать для себя компьютеры, так многому нужно научиться).
Я добавил своего пользователя в последнюю строку файла /etc/sudoers
, как показано ниже, чтобы при выполнении команды не запрашивался пароль sudo
:
MyUserName ALL=(ALL) NOPASSWD:ALL
Теперь каждый раз, когда я выполняю команду с помощью sudo
, она делает заметную паузу перед фактическим выполнением задачи (~10 секунд). Почему это может быть и как это исправить? Я использую Sudo версии 1.7.1 на Fedora 11 x86 64.
решение1
Я задал этот вопрос на SO, и он был перемещен сюда. Это значит, что у меня больше нет возможности редактировать вопрос, как будто я им владею, или даже принять правильный ответ, но это оказалось истинной причиной и способом решения:
Найдено здесь Пользователь «rohandhruva» дает правильный ответ:
Это происходит, если вы меняете имя хоста во время процесса установки.
Для решения проблемы отредактируйте файл /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>
решение2
Проверьте, правильно ли работает ваш демон syslog; у меня это вызвало проблему.
Выполните следующую команду
logger 'Hello world'
Возвращается ли команда в течение разумного периода времени?
Появляется ли фраза «Hello world» в
/var/log/syslog
?
Если это не так, то демон syslog вышел из строя. Перезапуск должен решить вашу проблему.
решение3
Это один из файлов/каталогов, которые он должен прочитать на сетевом монтировании, или он каким-то образом запускает чтение с медленного usb-устройства? Попробуйте strace и посмотрите, где он медленный; если он идет слишком быстро, сделайте
sudo strace -r -o trace.log sudo echo hi
Каждая строка будет начинаться с времени, прошедшего с момента входа в предыдущий системный вызов.
(Кажется, начальный sudo необходим; не знаю, насколько это повлияет на результаты.)
решение4
У меня была та же проблема, я проверил /var/log/auth.log и syslog на наличие ошибок. Оказалось, что мой сервер LDAP не был доступен, и это все замедляло.
Я больше не использую аутентификацию на основе LDAP, поэтому удалил все ссылки «ldap» из /etc/nsswitch.conf
С тех пор все снова работает как часы.