私が走るとき sudo
端末は数秒間停止し、エラーメッセージが出力されます。 私の端末は次のようになります:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
それを解決するために私は何ができますか?
私が走るとき sudo
端末は数秒間停止し、エラーメッセージが出力されます。 私の端末は次のようになります:
ubuntu@(none):~$ sudo truesudo: unable to resolve host (none)
それを解決するために私は何ができますか?
チェックする2つのこと(あなたのマシンが呼び出されていると仮定 my-machine
、必要に応じて変更できます):
それは /etc/hostname
ファイルには、マシンの名前だけが含まれています。
それは /etc/hosts
のエントリを持っています localhost
. それは次のようなものを持っているはずです:
127.0.0.1localhost。localdomain localhost127.0.1.1my-machine
これらのファイルのいずれかが正しくない場合(sudoできないため)、マシンをリカバリモードで再起動して変更を加え、通常の環境で再起動する必要があ
編集 /etc/hosts
新しいホスト名を127.0.0.1行に追加します(または、必要に応じて新しい行を作成します)。
私は次のように見えます:
127.0.0.1 localhost localhost.localdomain penguin# The following lines are desirable for IPv6 capable hosts::1 ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters
置換 penguin
上記の例では、次のように新しいホスト名で指定します。 /etc/hostname
ファイル。
にホスト名を追加します。 /etc/hosts
そうのように:
echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
注意してください、これはへの答えです この質問 これはこれとマージされています。
あなたのホスト名(dave00-G31M-ES2L
)で表されない /etc/hosts
. を追加します。 L
この行に:
127.0.1.1 dave00-G31M-ES2
だから、それはなります:
127.0.1.1 dave00-G31M-ES2L
これを行うには、コンソールを開きます(を押します Ctrl+Alt+T)とタイプ:
sudo gedit /etc/hosts
文字を追加する L
前述のように、保存して終了します。
VPSでubuntuを使用していたときにこの問題が発生しました。 /Etc/hostsファイルを編集して解決しました。
次のコマンドを実行します:
sudo nano /etc/hosts
そして、追加します:
127.0.0.1 localhost.localdomain localhost127.0.1.1 ubuntu
私はそれがあなたの問題を解決することを願っています:)
PS:お使いのコンピュータを再起動することを忘れないでください!
/Etc/hostnameファイルと/etc/hostsファイルのホスト名が一致していても、同じ問題が発生していました。
私のホスト名は"staging_1"でした。 ホスト名にアンダースコアを付けることができないことが判明したため、このエラーが発生していました。 アンダースコアをハイフンに変更すると、私の問題が修正されました。
AWSで、vpcに移動し、「DNSホスト名」をオンにします。
質問で与えられた症状は、このより具体的な問題と強く相関する可能性があります:
$ hostname --fqdnhostname: Temporary failure in name resolution
これを解決するにはさまざまな方法がありますが、その1つはホスト名をlocalhostとして追加することです /etc/hosts
(他のいくつかの回答に示されているように)。 これは一般的に正しいことかもしれませんが、可能な解決策はそれだけではありません。
"完全修飾ドメイン名"は、外部DNSサーバーまたは類似のもの(ネットワーク上で利用可能な場合)によって提供されることがあります。 この場合, sudo
で不足しているエントリにもかかわらず、文句を言うことはありません /etc/hosts
.
メモ: sudo
必ずしも必要ではないにもかかわらず、sudoersファイルのオプションの機能のために、ホスト名を逆参照しようとします。 参照 ホスト名を検索しようとしているsudoコマンド.
遅延が長すぎない限り、このエラーメッセージは通常無害です。
誰もが変更することをお勧めします /etc/hosts
. しかし、場合によっては、これが不可能な場合があります(たとえば、dockerコンテナ内)。 だから、私はより良い方法を見つけなければならなかったし、私はこれを思いついた:
echo "alias sudo='sudo -h 127.0.0.1'" >> ~/.bash_aliasessource ~/.bashrc
エイリアスはbashスクリプトでは機能しませんが、変数を使用できます: sudo='sudo -h 127.0.0.1'
私はこの同じエラーメッセージが発生しました。 私はAWS Developer Forumsでのこの議論のスレッドがより良い解決策だと思います:
"VPC管理コンソールに移動し、VPCを選択し、アクションをクリックし、DNSホスト名の編集を選択し、はいを選択します。"
私はこの質問をtoo localizedとして閉じることをお勧めします。 誤って、彼らは彼らの"ホスト"ファイルに一つの名前を入れたが、代わりに別の名前に入れたと思うかもしれない多くのユーザーがあります,多くのネットワー この質問(および回答)は、誰かがその問題を検索したときに表示され、正確なスペルミスが異なっていても、そのような不一致をチェックするように
hosts
とhostname
が同じであることを確認してください。 たとえば、ホスト名はubuntu-pcであり、ホストはubuntu-pc同じでなければなりません。
'/Etc/hostnameと'/etc/hosts
の内容を投稿してください。
この質問は保護されており、ここでは十分な評判がないため、回答を投稿することはできません。 私の場合、network-managerを再起動することで問題を解決しました:sudo/etc/init。d/network-managerの再起動'。 しかし、私はなぜ最初に
sudoがネットワーク関連のものを待つ時間を無駄にするのだろうかと思っています。 ネットワークが利用できないときに
sudo`は問題なく動作するべきではありませんか?
私は今日これに遭遇しました。 問題は、私がホスト名に持っていたものが/etc/hostsになかったことでした。 Gre hostname=>‘mybox’gre grep’mybox’/etc/hosts=>192.168.1.2mybox.example.com/etc/hosts=>192.168.1.2のドメイン名の後に’mybox’を追加する必要がありましたmybox.example.com マイボックス
Why does the question have <USER>"最後に? これは、質問の本文に表示されている実際の出力と矛盾します。'(none)'改善のための提案:削除
@arielfあなたはここで質問を改善することができます。 別のユーザーによって変更されました。 私も知らない