我已经使用内核( busybox )制作了一个基于Linux的可引导操作系统,并且在QEMU模拟器中进行测试是成功的。下一步,我需要在我的自定义Linux上安装dpkg和APT (Debian包管理器)。
我怎么能这么做?
只需安装Debian软件包管理器源代码并编译,然后移植到我的系统的rfs?我不知道该怎么做。
(安装Debian软件包管理器是实现我的目标的唯一方法,因为我的教授这样做。所以其他的方法对我没有用)
发布于 2020-10-15 08:45:20
在我继续之前,请允许我否认:
apt,那么她使用的是基于debian的系统。我建议使用相同的发行版,而不是您自己的“从头开始”系统。如果因为需要自定义内核而使用从头开始的系统,那么可以安装基于debian的系统。apt,您将最终从某个地方下载包。你想让它在哪?Ubuntu的档案?Debian的档案?小学档案?您还需要知道要下载的东西的版本。Debian stretch与Debian buster和Ubuntu bionic有许多不兼容之处。当您使用apt安装软件包时,如果没有从相同版本的同一发行版安装所有软件,则会遇到依赖问题。因此,如果您正在安装发行版中的所有内容,那么就从发行版开始,如果这是您要做的事情,就替换内核。dpkg跟踪,包括dpkg本身和非常低级别的依赖关系。大多数事情都依赖于libc,而且您可能已经安装了它。这将导致冲突,因为它是在没有dpkg的情况下安装的,dpkg无法知道它是否存在于您的系统中,并且无法验证您所拥有的libc版本是否与您试图安装的包兼容。我认为最简单的方法是下载体系结构的dpkg二进制包(dpkg__.deb)并手动解压缩。当然,在尝试使用apt之前,一定要做到这一点。
如果您使用的是基于debian的主机,则可以使用apt download dpkg,否则,可以从直接存档中获取二进制文件。
您需要在dpkg*.deb上手动执行dpkg通常所做的事情( dpkg的唯一维护脚本是postrm,所以这与此无关)。
dpkg__.debar -x *.deb提取物tar -xf 提取D38G139control文件并检查是否安装了所有依赖项data.tar.xz提取到/在此之后,假设您首先安装了与dpkg -i *.deb一起安装的依赖项,那么您应该能够在安装的任何deb包上安装dpkg。
一般的建议是:如果您想使用dpkg或apt,请使用随附的发行版。如果你不做的话,有太多的事情会出错。
https://unix.stackexchange.com/questions/614613
复制相似问题