前提・実現したいこと
Linuxのホスト名を変更したい
発生している問題・エラーメッセージ
- 同じネットワーク内に2台のLinuxがあり、お互いにpingがホスト名で通っていました。
- 1台のLinuxのホスト名を
/etc/hosts
及び/etc/hostname
の2つの中身を変更し、ホスト名を変えました。 - 再起動後のターミナル上のコンピュータ名などは反映されていましたが、もう1台のLinuxから変更後のホスト名でpingが通りません。
- 変更前のホスト名およびIPアドレスではpingが通ります。
[追記]
- 別のWindowsからは、旧ホスト名、新ホスト名およびIPアドレスでpingが通る状態です
そのもう一台のLinuxでの名前解決の順番の設定 (/etc/nsswitch.conf) はどうなっているんですか?
もし /etc/passwd 頼りならそのLinuxの /etc/passwd の変更がされていないのではないですか?
`/etc/nsswitch.conf`はこのようになっています
```
passwd: files systemd
group: files [SUCCESS=merge] systemd
shadow: files
publickey: files
hosts: files mymachines myhostname mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns
networks: files
protocols: files
services: files
ethers: files
rpc: files
netgroup: files
```
hosts: files mymachines myhostname mdns_minimal [NOTFOUND=return] resolve
これは左から順番にその方法で名前解決を試す設定です。
最初の files は /etc/hosts を参照するということで、最後の dns はDNSに問い合わせるということです。
この中で実際にホスト名を変えたほうのPCの名前解決に携わっていたのはどれか?ということになりますが、/etc/hostsじゃなければDNSですかね?でも本当に/etc/hostsではないですか?「もう1台のPC」の/etc/hosts に、ホスト名を変えたほうのPCの(以前の)ホスト名が書かれていたりしませんか?
この場合の名前解決にはmdns_minimalを使っているはずです。前もホスト名で名前解決できずに困っていましたが、以下のページを参考にしてmDNSを行えるように設定したところ、できるようになったからです。
もう一台の/etc/hostsにも昔の情報等ありませんでした。
https://wiki.archlinux.jp/index.php/Avahi
mDNSによって *.local の名前でアクセスできるはずが、できないということですかね?
おっしゃる通りです。旧ホスト名の情報がどこかに残っているようです
うーん、各PCを再起動してみました?
それでもダメなら、私にはちょっとわからないです。
再起動もダメでした、、
いえいえ、考えてくださりありがとうございました
回答2件
あなたの回答
tips
プレビュー