Arch Linuxで.localホスト名を使用するには?

Arch Linuxで.localホスト名を使用するには?

UbuntuまたはLinux Mintを使用している場合(試してみた結果、両方のバージョンが実際に動作することを知っている)、次のコマンドを実行できます。

wayne@myhost$ ssh [email protected]

名前は自動的に自分のローカルネットワーク上の他のホストのIPとして解決されます。

私は別のディストリビューションに拡張し始め、私のラップトップでArchを実行することにしました。しかし、前のコマンドを使用しようとするとCould not resolve hostname otherhost.local: Name or service not known

この自動名前解決(?)を実装するには何が必要ですか?

答え1

ウェイン自身の答えは今とても古いです。それ以来、Archはinitスクリプトの代わりにsystemdを使用するように切り替えました。アーチウィキペディアあふれ次の手順を実行する理由の詳細でページが更新されました。つまり、Avahiは構成を必要としないツールです。つまり、LAN上のすべてのコンピュータにインストールすると設定なしで動作しますが、実際にAvahiに情報を要求するようにソフトウェアの残りの部分を設定する必要があります。

ルートとして実行するか、sudo端末で適切にプレフィックスを追加して、nano必要なエディタに置き換えます。

  1. pacman -S avahi nss-mdnsAvahiサービスデーモンとマルチキャストDNSリゾルバをインストールします。
  2. nano /etc/nsswitch.confこのファイルは、Cライブラリにネームサービス情報を取得する方法を教えてくれます。
  3. hosts: mymachines resolve [!UNAVAIL=return] files myhostname dnsをに変更してhosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns保存して終了します。サービスmdns_minimalは照会を処理し、.local前に追加する必要があります。resolvedns
  4. systemctl start avahi-daemonすでに起動しているので、Avahiサービスを手動で起動してください。エラーを見つける)
  5. systemctl enable avahi-daemon起動時にAvahiサービスを有効にします。

私はArchラップトップでこの手順を実行しましたが、他のサービスやWiFiインターフェイスを再起動せずに他のコンピュータでそのサービスを検索でき、ラップトップは数秒でそのサービスを検索できました。

まだgggの答えについて言及できないので、ここでは起動スクリプトでこれを行う必要がないことだけを指摘します。これが systemd でサービスを有効にする目的です。一度だけやって忘れてください。

答え2

ご指摘ありがとうございますアーチスウィキAvahiに関するUlrich Dangelの記事は次のとおりです。

  1. avahiとnss-mdnsのインストール$ sudo pacman -S avahi nss-mdns
  2. /etc/rc.d/avahi-daemon start最後に追加rc.local
  3. 実行中なので、dhcpcdその行を/etc/dhcpcd.confコメントアウトしましたnoipv4ll
  4. 私も逃げた$ sudo /usr/sbin/avahi-autopid -D wlan0。再起動するのが好きではないので、ステップ3が必要かどうかわかりません。
  5. /etc/nsswitch.conf読み込むように行を設定した後hosts: files mdns4_minimal dns mdns4
  6. その後、dbusを再起動するために走りました$ sudo /etc/rc.d/dbus restart

その後はちょうどやってください。ssh [email protected]

答え3

avahi-daemonを使用するために走る必要はないと思います.local。これが私の起動スクリプトの内容です。これはArch Wikiアプローチよりはるかに簡単です。

systemctl enable avahi-daemon
avahi-set-host-name $(hostname)
systemctl disable avahi-daemon

関連情報