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

관련 정보