GNU/Linux >> Linux の 問題 >  >> Linux

sudo コマンドの実行に時間がかかるのはなぜですか?

解決策 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:

    ネットワークマウントで読み取る必要があるファイル/ディレクトリの1つですか、それとも低速のUSBデバイスからの読み取りを何らかの方法でトリガーしていますか? strace を試して、どこが遅いかを確認してください。速すぎる場合は、実行してください

    sudo strace -r -o trace.log sudo echo hi
    

    各行は、前の syscall に入ってからかかった時間で始まります。

    (最初の sudo が必要なようです。結果がどれだけ乱れるかはわかりません。)

    解決策 4:

    最近、同じ問題があることがわかりました。 sudo の遅延はありませんでしたが、突然、約 10 ~ 20 秒の遅延が発生しました。以下を使用して特定の問題を特定しました:

     1. chmod u+s /usr/sbin/strace  (as the root user)
    

    自分として:

     1. sudo -K
     2. strace sudo /bin/tcsh
    

    次に、システム コールがハングしている場所を見つけます。

    私の場合、それが DNS 変換にかかっていることがわかりました。どうやら /etc/resolv.conf のリストにある DNSen の 1 つです。 非常に忙しかったか、悪くなりました。そこで、解決の順序を変更したところ、問題が再び迅速に機能しました。

    解決策 5:

    Fedoraについてはよくわかりませんが、sudoがどこからログインしているかを確認する他のシステムを使用しました.DNSが適切に設定されていない場合、タイムアウトに時間がかかる可能性があります.これは、マシンに SSH で接続するときにも見られます。プロンプトが表示されるまでに時間がかかります。


    Linux
    1. Javaでsudo権限でbashコマンドを実行するには?

    2. sudo:bundle コマンドが見つからないのはなぜですか?

    3. USB スティックの検出に時間がかかるのはなぜですか?

    1. パスワードなしでsshコマンドをsudoコマンドをリモートで実行する方法

    2. Linux コマンドラインの文字制限

    3. ユーザーが実行したすべてのコマンドをログに記録するにはどうすればよいですか?

    1. シェルコマンド置換が末尾の改行文字を飲み込むのはなぜですか?

    2. ルートユーザーがSudo権限を必要とするのはなぜですか?

    3. sudoがエイリアスを無視するのはなぜですか?