📄 99.html
字号:
<input type=radio checked value=title name=type>标题
<input type=radio value=content name=type>内容
<input type=image src="images/button_go.gif" tppabs="http://www.linuxhero.com/docs/images/button_go.gif" border=0 name=image2>
</font></div>
</td>
</tr>
<tr>
<td noWrap>
<div align="center">
<input maxlength=100 size=30 name=keyword2>
</div>
</td>
</tr></tbody>
</table>
</form>
</TD>
<TD rowSpan=2><IMG src="images/header_r1_c7.gif" tppabs="http://www.linuxhero.com/docs/images/header_r1_c7.gif" width=26 border=0 name=header_r1_c7></TD>
<TD><IMG height=83 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1 border=0></TD></TR>
<TR>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22
src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0
name=header_r2_c1></TD>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
<DIV align=right><FONT class=normalfont>当前位置:
<A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
<font color="#FF6699">>></font>
<A href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</A> | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
</TD>
<TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>Linux的发行版制作简要过程</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>1.项目整体分析<br>
<br>
制作Linux发布的目的是为了在系统中能够快速,正确地建立Linux系统环境。制作Linux发布的主要工作是决定各种软件的去留,因为有了 RPM(RedHat Package Manager)包对其提供优良的管理能力,所以以目前比较成熟的RedHat Linux发布程序作为蓝本,以RPM包作为基本的制定单元,以需求为原则对其进行取舍,得到适合实际需要的Linux系统。<br>
<br>
由此,项目自然而然的以分析RedHat Linux的光盘安装系统为起点,在掌握了其结构和行为的基础上,在包一级(结构部分)和代码一级(行为部分)进行修改,同时建立相应的测试环境,以便对修改进行及时的规范。<br>
<br>
2.项目分步骤实施细节<br>
<br>
2.1对Linux光盘安装系统的分析<br>
<br>
A 结构部分<br>
<br>
在安装光盘中,主要的目录结构和文件大致如下:<br>
<br>
images/ 此目录下包含了制作启动盘的映像文件(文件后缀img),<br>
<br>
其中boot.img是当安装介质为CD-ROM时负责引导系统的映像文件<br>
<br>
bootnet.img是当安装介质为FTP,NFS等时负责引导系统的映像文件<br>
<br>
driver.img是由一些特殊设备驱动程序模块组成的映像文件,在当前内核不支持这些设备的情况下,提供了对它们进行访问的一种方法<br>
<br>
其中,boot.img映像文件中主要包含以下文件:<br>
<br>
<br>
boot.img<br>
|----vmlinuz Linux内核<br>
|----ldlinux.sys 引导Linux的系统文件<br>
|----syslinux.cfg Linux内核引导参数配置文件<br>
|----initrd.img 内存虚拟文件系统映像文件<br>
|----*.msg文件 引导时的各种提示信息文件<br>
<br>
<br>
<br>
其中,initrd.img为Linux ext2文件系统,构成如下:<br>
<br>
<br>
initrd.img<br>
|----/bin<br>
|----/dev<br>
|----/etc<br>
|----/module<br>
|----/sbin ------ loader<br>
安装程序装载器<br>
|----/tmp<br>
|----/var<br>
<br>
<br>
<br>
可执行文件/sbin/loader的任务是判断安装介质的有效性,并从中执行安装程序。<br>
<br>
其实正是boot.img,在系统启动时被执行,经解析之后在内存建立起了Linux内核,并根据配置文件syslinux.cfg装载虚拟文件系统,形成了完整的Linux System,为后续的工作提供了必要的操作系统环境。Boot.img映像的文件系统类型为msdos,而其中的initrd.img映像的文件系统类型必为Linux系统自己的ext2,所以对于它们的解析操作是不同的,具体请参考附录A 。<br>
<br>
RedHat/ 此目录是RedHat Linux发布的核心目录,主要的目录结构都在这里,其中<br>
<br>
RPMS/ 包含了RedHat Linux发布的主要部分,即以RPM包的形式将Linux系统中的二进制可执行文件,配置文件,文档等等组织在一起,形成能完成一定功能的比较独立的软件包(文件后缀rpm)。这个目录就是把这些软件包都集合在一起,形成了RedHat Linux发布。<br>
<br>
base/ 包含了在安装过程中要用到的描述组织结构和安装行为的所有文件,其中comps,hdlist和hdlist2是描述RPM包组织结构的文件。<br>
<br>
comps 此文件把各个RPM包按一定的原则组织成若干组,即components,这样在安装过程中就不必对每一个包做出取舍,而以组为单位。comps文件为简单文本格式,它的结构如下所示:<br>
<br>
<br>
4 表示RPM包的版本号,当前为4<br>
1 base { }<br>
base是此component名,{…}中是此component中所包含的RPM包<br>
的名称列表,1表示在安装中默认为选中,即默认安装。<br>
<br>
0 –hide IDS sensor{<br>
snort<br>
libpcap<br>
}<br>
表示IDS sensor组中包含有snort和lipcap这两个RPM包。0表示<br>
这个组在安装中默认为不选中即默认不安装,并且由—hide指出<br>
不在用户界面上显示此组。<br>
<br>
<br>
<br>
hdlist和hdlist2 这两个文件维护从RPM包名到真实包文件名的映射过程,例如从snort这个RPM包名到真实包文件名snort-1.8.1- 1.1.2.i386.rpm的映射。这两个文件是用特殊的程序生成的,无法用简单的方法察看其中的内容和结构。具体的生成方法请参考附录D。<br>
<br>
stage2.img , hdstg1.img , hdstg2.img , netstg1.img 和netstg2.img 是描述安装行为的映像文件,其中<br>
<br>
stage2.img 是当安装介质为CD-ROM时的安装程序映像文件<br>
<br>
hdstg1.img 是当安装介质为HardDisk时的安装程序映像文件<br>
<br>
hdstg2.img 是当安装介质为HardDisk时的安装程序映像文件<br>
<br>
netstg1.img 是当安装介质为FTP,NFS时的安装程序映像文件<br>
<br>
netstg2.img 是当安装介质为FTP,NFS时的安装程序映像文件<br>
<br>
这里主要讨论stage2.img的内容<br>
<br>
<br>
stage2.img<br>
|----/etc<br>
|----/modules<br>
|----/proc<br>
|----/usr----/bin----anaconda<br>
安装程序主执行文件<br>
|<br>
|------/lib-----/anaconda<br>
安装程序脚本文件目录<br>
| |----/installclasses<br>
| |----/iw<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -