你能从源代码构建 apt-get 吗?

你能从源代码构建 apt-get 吗?

我有一个内核映像和一个空文件系统,需要用程序填充它,例如桌面、一些基本实用程序和软件。

我可以安装apt-get某种方式来为我做到这一点吗?我不确定具体是如何apt-get工作的,所以可能会出现一些问题,因为我没有定义的发行版或其他东西。

如果可能的话,哪里可以得到构建它的源代码?

答案1

apt的源代码可在萨尔萨舞,但它并不是为了作为从源引导发行版的基础而设计的。要引导基于 Debian ( apt-based) 的发行版,您需要使用诸如debootstrap,它本身需要相当多的程序才能运行(尽管由于您的文件系统不是空的,而是包含基本的 Linux 工具,所以它可能已经拥有所需的一切)。通常,以这种方式引导系统涉及使用另一个 Debian 风格的系统或运行安装程序。

如果您想从源代码构建一个系统,通过自己的引导来提升自己,您应该看看从零开始的 Linux

答案2

您可以apt-get从源代码构建。 Debian 软件包的源代码始终可以从包装页(组件中的一些包除外non-free)。然而这对你没有帮助。

要在运行 Linux 内核的系统上安装 Debian 或 Ubuntu,请使用反引导程序。 Debootstrap 下载并安装基本系统。要在未运行 debootstrap 的系统上安装,请使用两阶段模式:首先debootstrap在Unix 系统(不一定是 Debian,您可以使用基本 Unix shell 实用程序--foreign和),然后将生成的文件复制到目标系统的根目录。来自 Debian 的二进制文件--archwgetbusyboxbusybox-静态可能会有所帮助,例如将文件打包到存档中busybox tar -xzf -

答案3

正如其他人提到的,debootstrap或者cdebootstrap是要走的路。

如果您想要复制它,它的作用是下载Essential: yes包列表中标记的所有包及其直接和间接依赖项,然后将其中包含的文件提取到目标文件系统中。这可以通过ar,tar和 来完成xz

尽管安装的文件尚未正确注册,但这对于可以运行包管理器的功能系统来说已经足够了dpkg。为此,您需要dpkg在目标文件系统内运行,并告诉它安装相同的软件包(以便有效地覆盖文件)。

相关内容