我正在定制一个嵌入式系统,用于systemd-nspawn
在环境中执行一些命令。它运行正常,但未创建一些符号链接。
这是我的脚本的一部分:
systemd-nspawn -q --bind /usr/bin/qemu-arm-static -D $MOUNTPATH /bin/bash << EOF
mkdir -p /home/pi/etc/network
cd /home/pi/etc/network
mv /etc/wpa_supplicant/wpa_supplicant.conf .
mv /etc/dhcp/dhcpd.conf .
mv /etc/default/isc-dhcp-server .
mv /etc/network/interfaces .
mv /etc/default/hostapd .
mv /etc/resolv.conf .
ln -s /home/pi/etc/network/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf
ln -s /home/pi/etc/network/interfaces /etc/network/interfaces
ln -s /home/pi/etc/network/dhcpd.conf /etc/dhcp/dhcpd.conf
ln -s /home/pi/etc/network/isc-dhcp-server /etc/default/isc-dhcp-server
ln -s /home/pi/etc/network/hostapd.conf /etc/hostapd/hostapd.conf
ln -s /home/pi/etc/network/hostapd /etc/default/hostapd
ln -s /home/pi/etc/network/resolv.conf /etc/resolv.conf
chown -R pi:pi /home/pi/
EOF
move
我在和命令上都遇到了几个类似的错误ln
:
不支持的 ioctl:cmd=0x40049409
这种行为相当奇怪。引发该错误的文件实际上被复制了,但并未移动。我猜想链接未创建是因为文件存在(尽管这不会出现在控制台中,只有上面的消息)。
但是,打开 shellsystemd-nspawn
并手动启动这些命令(从上面的脚本复制并粘贴)可以正常工作。所有文件都已移动并创建了链接。
我应该寻找什么差异?