如何在我的自定义 Linux 发行版中安装 Debian 软件包管理器(dpk 和 apt)?

如何在我的自定义 Linux 发行版中安装 Debian 软件包管理器(dpk 和 apt)?

我已经使用内核制作了一个可启动的基于 Linux 的操作系统,仅使用 busybox,并且在 QEMU 模拟器中测试它是成功的。我需要的下一步是在我的自定义 Linux 上安装 dpkg 和 APT(Debian 软件包管理器)。

我怎样才能做到这一点?

只需安装 Debian 软件包管理器源代码并编译,然后移植到我系统的 rfs 即可?我不知道到底该怎么做。

(安装 Debian 包管理器是实现我目标的唯一方法,因为我的教授是这样指导的。所以其他方法对我来说没有用)

答案1

在继续之前,请允许我声明:

  1. 如果您的教授使用的是apt,那么她正在使用基于 Debian 的系统。我建议使用相同的发行版而不是您自己的“从头开始”系统。如果您因为想要自定义内核而使用从头开始的系统,那么您安装该内核基于 Debian 的系统。

  2. 如果您确实使用apt,您最终会从某个地方下载软件包。你希望它在哪里? Ubuntu 的存档? Debian 的存档?小学档案馆?您还需要知道要下载哪个版本的内容。 Debian与 Debian和 Ubuntustretch有很多不兼容之处。当您使用安装包时,如果您没有安装同一发行版的同一版本的所有软件,则会遇到依赖性问题。因此,如果您无论如何都要从发行版安装所有内容,只需从该发行版开始并替换内核(如果这是您想要做的事情)。busterbionicapt

  3. 在基于 debian 的系统上,一切都由 跟踪dpkg,包括dpkg其自身和非常低级的依赖项。大多数事情都取决于libc并且您可能已经安装了它。这将导致冲突,因为它是在没有安装的情况下安装的dpkgdpkg无法知道它是否存在于您的系统上,并且无法验证libc您拥有的版本是否与您尝试安装的软件包兼容。


我认为最简单的方法是下载适合您的架构的dpkg二进制包(dpkg_<version>_<arch>.deb)并手动解压缩。当然,在您尝试使用 之前,请先使其正常工作apt

如果您使用的是基于 debian 的主机,则可以apt download dpkg,否则,请从直接存档

您需要手动执行通常执行的dpkg*.deb操作dpkg(唯一的维护者脚本dpkg因此postrm不相关)。

  1. 下载dpkg_<version>_<arch>.deb
  2. 提取内容ar -x *.deb
  3. 提取control.tar.xztar -xf
    1. 检查control文件并检查是否安装了所有依赖项
  4. 解压data.tar.xz/

之后,假设您首先dpkg -i *.deb安装debdpkg.


一般建议是:如果您想使用dpkgapt,请使用它附带的发行版。如果不这样做,有太多事情可能会出错。

相关内容