将 .deb 软件包安装到已挂载的文件系统中

将 .deb 软件包安装到已挂载的文件系统中

我在 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,则此解决方案会有所帮助。

相关内容