CentOS 安装如何从内部进行?

Spr*_*dzy 10 centos system-installation installer-anaconda

我试图了解 Linux 发行版的 ISO 映像文件的内容以及安装过程是如何进行的。在这里,我专门谈论CentOS 6.4 的最小版本。

所以ISOLINUX被触发,我得到菜单显示。然后我点击安装。

它加载内核和 initrd 文件系统。

我的问题是:

  1. Anaconda 是如何被调用的?

  2. images/install.img 文件的作用是什么?(谁调用/安装它?)

  3. Anaconda 是否安装 Packages/*.rpm?如果我想在那里添加一个,我可以吗?会安装吗?

wwo*_*ods 16

我是 Anaconda 的作者/维护者之一。我可以详细介绍安装程序如何启动,但我会尽量简短。

(请注意,这仅适用于 RHEL/CentOS 6.x 或 Fedora 14 及更早版本;安装程序在 Fedora 15、16 和 17 之间几乎完全重写,因此现在情况大不相同。)

  1. Anaconda 是如何被调用的?
  2. images/install.img 文件的作用是什么?(谁调用/安装它?)

initrd.img上安装介质就是我们所说的stage1的图像。它包含一个名为 的程序loader,其唯一的工作是查找和加载images/install.img.

install.imgstage2图像。这就是 Anaconda实际存在的地方——它是一个包含安装程序根文件系统的 squashfs 映像。

这里有 很多不同的方式为加载程序能够找到install.img,但是当你从DVD启动它的简单:装载机注意到安装DVD,坐骑吧,和坐骑images/install.img作为它的根文件系统。

一旦 stage2 镜像被挂载,loader 就会启动 Anaconda,然后启动 Xorg 并放置一个 shelltty2和所有这些不错的东西,然后安装程序就真正开始了。

3. Anaconda 是否安装 Packages/*.rpm?如果我想在那里添加一个,我可以并且会安装吗?

不,它不只是在那里安装所有东西。它使用comps.xml文件 (in repodata/) 来决定哪些包组可用(以及这些组中有哪些包)——这就是包选择 UI 的填充方式。

如果向Packages/目录中添加任何内容(例如,如果您尝试创建自定义 DVD 映像)并且希望它可安装,则需要使用createrepo来重新生成repodata/目录。这将让您至少通过 kickstart 安装您的软件包。

如果您需要它们显示在 UI 中,您还需要进行编辑comps.xml


Jei*_*ght 0

当您启动安装 CD 时,它会加载内核和 initrd,就像您提到的那样。这基本上会将一个最小的 Linux 系统加载到您的计算机内存中。Anaconda 在启动时作为服务运行并且程序启动。然后 Anaconda 找到您的 HD 并将其安装为 /mnt/sysimage。Anaconda 确实从安装 CD 安装 Packages/*.rpm,您可以将 RPM 添加到 Packages 目录,然后重新刻录 iso,但 Anaconda 仍然不知道需要安装它。至于破解 Anaconda 让程序寻找 RPM,我没有答案。