我在 CF 卡上有一个 ext2 分区,用于外部设备。我已将此卡插入 PC 并将其安装为 /mnt/linux。我已将 Linux 发行版安装(提取)到此分区。我想向此分区添加一些 .deb 软件包。我该怎么做?可以吗?
我使用的替代方法:我将 .deb 包复制到 /mnt/linux/tmp 目录中,然后将 CF 卡插入外部设备,并cd /tmp; dpkg -i XXX.deb
从该设备安装。
答案1
正如 vonbrand 所建议的,假设您的 CF 卡上安装了可运行的 Debian,您应该能够chroot
对其进行正常安装:
sudo chroot /mnt/linux
sudo dpkg -i XXX.deb
答案2
您可以使用 dpkg 的 --root 选项指定目标根文件系统的挂载目录。
就你的情况而言:
sudo dpkg --install --root=/mnt/linux XXX.deb
我发现这个调用可能会产生以下错误(不确定这是 dpkg 错误还是与我正在使用的文件系统相关的错误):
dpkg: error: unable to access dpkg status area: No such file or directory
解决方法是使用 --admindir 选项指定 var/lib/dpkg。对于您的情况:
sudo dpkg --install --root=/mnt/linux --admindir=/mnt/linux/var/lib/dpkg XXX.deb
如果您正在构建文件系统,但由于目标文件系统不完整而无法执行 chroot,则此解决方案会有所帮助。