루트가 지정된 ArchLinux ARM에서 이름 확인이 작동하지 않습니다.

루트가 지정된 ArchLinux ARM에서 이름 확인이 작동하지 않습니다.

내가 뭘 한거지

ArchLinux X86_64에 qemu, qemu-arch-extra, qemu-user-static(AUR)을 설치합니다. systemd는 binfmt, 슬레이브 확인을 담당합니다 /proc/sys/fs/binfmt_misc/. 웹사이트에서 ArchLinux ARM 타르볼을 다운로드하세요. 직접 링크는 이것입니다 http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz. 명령을 사용하여 폴더에 추출합니다 sudo bsdtar -xpf. 파일을 /usr/bin/qemu-aarch64-static이 폴더에 복사하세요. .arch-chroot

명령줄에서:

sudo pacman -S qemu qemu-arch-extra
sudo yay -S qemu-user-static
sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C folder
ls /proc/sys/fs/binfmt_misc/
sudo cp /usr/bin/qemu-aarch64-static folder/usr/bin
sudo arch-chroot folder

결과

chroot 환경에서는 모든 IP 주소에 대해 ping을 수행할 수 있지만 원격 호스트(예: example.com)에는 ping을 수행할 수 없습니다. 즉, 이름 확인이 작동하지 않습니다. /etc/resolv.conf파일이 채워졌습니다. ipNIC의 올바른 구성을 표시합니다. 그렇다면 루트가 지정된 ArchLinux ARM에서 이름 확인을 활성화하는 방법은 무엇입니까? Ubuntu X86_64에서 동일한 프로세스를 시도하고 Ubuntu AARCH64로 루트를 변경했습니다. 효과가있다.

답변1

  • qemu-aarch64-static첫째, 다음 위치에 복사할 필요가 없습니다.folder

  • 둘째, 당신의 /proc/sys/fs/binfmt_misc/것이 비어있는 것 같습니다. 필수 바이너리로 채워져야 합니다.

    binfmt-qemu-static이 문제를 해결하려면 AUR의 패키지를 사용하여 문제를 해결할 수 있습니다 .

    마지막으로, 당신은 필요합니다재시작또는 다시 시작systemd-binfmt

이 설정을 사용하면 완벽하게 작동하며 chroot에서 이름 확인을 얻기 위해 아무 것도 할 필요가 없습니다.

바꾸다아치형 루트, 다음을 사용할 수도 있습니다.

systemd-nspawn --bind-ro=/etc/resolv.conf -D folder -M myFancyMachineName

여기서 중요한 점은 스위치를 사용하는 것이 아니라 --resolv-conf(둘 중 어느 것도 나에게 적합하지 않음) 특정 바인딩 옵션을 사용하는 것입니다.

관련 정보