Spr*_*dzy 10 centos system-installation installer-anaconda
我试图了解 Linux 发行版的 ISO 映像文件的内容以及安装过程是如何进行的。在这里,我专门谈论CentOS 6.4 的最小版本。
所以ISOLINUX被触发,我得到菜单显示。然后我点击安装。
它加载内核和 initrd 文件系统。
我的问题是:
Anaconda 是如何被调用的?
images/install.img 文件的作用是什么?(谁调用/安装它?)
Anaconda 是否安装 Packages/*.rpm?如果我想在那里添加一个,我可以吗?会安装吗?
wwo*_*ods 16
我是 Anaconda 的作者/维护者之一。我可以详细介绍安装程序如何启动,但我会尽量简短。
(请注意,这仅适用于 RHEL/CentOS 6.x 或 Fedora 14 及更早版本;安装程序在 Fedora 15、16 和 17 之间几乎完全重写,因此现在情况大不相同。)
- Anaconda 是如何被调用的?
- images/install.img 文件的作用是什么?(谁调用/安装它?)
在initrd.img
上安装介质就是我们所说的stage1的图像。它包含一个名为 的程序loader
,其唯一的工作是查找和加载images/install.img
.
install.img
是stage2图像。这就是 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
。
当您启动安装 CD 时,它会加载内核和 initrd,就像您提到的那样。这基本上会将一个最小的 Linux 系统加载到您的计算机内存中。Anaconda 在启动时作为服务运行并且程序启动。然后 Anaconda 找到您的 HD 并将其安装为 /mnt/sysimage。Anaconda 确实从安装 CD 安装 Packages/*.rpm,您可以将 RPM 添加到 Packages 目录,然后重新刻录 iso,但 Anaconda 仍然不知道需要安装它。至于破解 Anaconda 让程序寻找 RPM,我没有答案。