루트가 지정된 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

결과

루트가 지정된 환경에서는 모든 IP 주소를 ping할 수 있지만 원격 호스트(예: example.com)는 ping할 수 없습니다. 즉, 이름 확인이 작동하지 않습니다. /etc/resolv.conf파일이 채워졌습니다. ipNIC의 올바른 구성을 보여줍니다. 그렇다면 루트가 지정된 ArchLinux ARM에서 이름 확인을 어떻게 활성화할 수 있습니까? 나는 Ubuntu AARCH64로 chroot된 Ubuntu X86_64에서 동일한 절차를 시도했습니다. 효과가있다.

답변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(둘 다 나에게 도움이 되지 않음) 특정 바인드 옵션을 사용하는 것입니다.

관련 정보