Arch-Linux
名稱解析在 chrooted 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
到該文件夾中。Chroot 與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
結果
在 chrooted 環境中,我可以 ping 任何 IP 地址但不能 ping 任何遠端主機(例如
example.com
),即名稱解析不起作用。/etc/resolv.conf
文件已填充。ip
顯示正確的 NIC 配置。那麼,如何在 chrooted ArchLinux ARM 中啟用名稱解析?我已經在 Ubuntu X86_64 中嘗試了相同的過程,並將其 chroot 到 Ubuntu AARCH64。有用。
- 首先,你不需要復製
qemu-aarch64-static
到folder
- 其次,你的似乎
/proc/sys/fs/binfmt_misc/
是空的。它需要填充所需的二進製文件。為了解決這個問題,你可以使用
binfmt-qemu-static
AUR 的包來為你解決這個問題。最後,您需要重新啟動或重新啟動systemd-binfmt
有了這個設置,這對我來說效果很好,而且我不需要做任何事情來在 chroot 中進行名稱解析。
除了arch-chroot,還可以使用:
systemd-nspawn --bind-ro=/etc/resolv.conf -D folder -M myFancyMachineName
這裡的訣竅是不使用
--resolv-conf
switch (它們都不適合我),而是使用特定的綁定選項。