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
必要なエディタに置き換えます。
pacman -S avahi nss-mdns
AvahiサービスデーモンとマルチキャストDNSリゾルバをインストールします。nano /etc/nsswitch.conf
このファイルは、Cライブラリにネームサービス情報を取得する方法を教えてくれます。- 行
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
をに変更してhosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
保存して終了します。サービスmdns_minimal
は照会を処理し、.local
前に追加する必要があります。resolve
dns
systemctl start avahi-daemon
すでに起動しているので、Avahiサービスを手動で起動してください。エラーを見つける)systemctl enable avahi-daemon
起動時にAvahiサービスを有効にします。
私はArchラップトップでこの手順を実行しましたが、他のサービスやWiFiインターフェイスを再起動せずに他のコンピュータでそのサービスを検索でき、ラップトップは数秒でそのサービスを検索できました。
まだgggの答えについて言及できないので、ここでは起動スクリプトでこれを行う必要がないことだけを指摘します。これが systemd でサービスを有効にする目的です。一度だけやって忘れてください。