我有一个内核映像和一个空文件系统,需要用程序填充它,例如桌面、一些基本实用程序和软件。
我可以安装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 的二进制文件--arch
wget
busybox
busybox-静态可能会有所帮助,例如将文件打包到存档中busybox tar -xzf -
。
答案3
正如其他人提到的,debootstrap
或者cdebootstrap
是要走的路。
如果您想要复制它,它的作用是下载Essential: yes
包列表中标记的所有包及其直接和间接依赖项,然后将其中包含的文件提取到目标文件系统中。这可以通过ar
,tar
和 来完成xz
。
尽管安装的文件尚未正确注册,但这对于可以运行包管理器的功能系统来说已经足够了dpkg
。为此,您需要dpkg
在目标文件系统内运行,并告诉它安装相同的软件包(以便有效地覆盖文件)。