📄 99.html
字号:
<br>
17.X-Window配置<br>
<br>
18.安装前确认<br>
<br>
19.安装过程<br>
<br>
20.制作启动盘<br>
<br>
21.安装完毕确认<br>
<br>
在这些安装步骤中很多都是在确定了RPM包组及调试完成后不必要存在的,所以去掉第1,2,3,4,7,8,10,11,14,16,17和第20项安装步骤,所有去掉步骤的相关设置都采取默认的设置值,如第7步采取分区全部格式化的方案,第8步,采取Lilo放置在MBR上,default boot 为Linux的设置等等,并修改第5步,去掉升级类型和安装类型中的所有4种既定类型,添加IDS sensor类型。修改完成以后的安装步骤如下所示:<br>
<br>
1.安装类型选择(现有的为IDS sensor一种)<br>
<br>
2.选择分区方式(自动分区,手动分区,专业分区)<br>
<br>
3.网卡及网络配置<br>
<br>
4.时区配置<br>
<br>
5.账户配置<br>
<br>
6.包组及单RPM包选择<br>
<br>
7.安装过程<br>
<br>
8.安装完毕确认<br>
<br>
为此,需要修改Python脚本语言<br>
<br>
... 在安装程序运行之初,需要先禁止掉安装语言选择,键盘配置,鼠标配置和欢迎信息,在anaconda中在判断语言是否有效之前即Line491 if lang:之前加上以下四句:<br>
<br>
[aidcode] instClass.addToSkipList("language"); instClass.addToSkipList("keyboard"); instClass.addToSkipList("mouse"); instClass.addToSkipList("welcome"); [/aidcode]<br>
并在gui.py中的类class InstallInterface的run函数中注释掉Line371至Line371,即在commonSteps结构中除保留( InstallPathWindow, "installtype" )外,注释掉( LanguageWindow, "language" ),( KeyboardWindow, "keyboard" ),( MouseWindow, "mouse" )和( WelcomeWindow, "welcome" )<br>
<br>
...对安装类型进行精简。在installclasses目录下去掉upgrateonly.py , workstation.py , server.py , laptop.py和custom.py即去掉升级类型和安装类型中的所有4种既定类型, 添加IDS sensor类型,即在目录中添加sensor.py文件,文件的具体内容请参考附录E。<br>
<br>
除此之外,还要修改iw/installpath_gui.py脚本文件,以便在图形界面上不显示Install和Upgrate图标和选项,只显示IDS Sensor项目。具体的,注释掉Line223,Line 227,Line 233和Line 234代码,即在类class InstallPathWindow中的getScreen函数的最后部分不执行显示。<br>
<br>
... 去掉其他多余步骤,主要修改iw/installpath_gui.py脚本文件。注释掉类class InstallPathWindow初始化函数__init__里结构self.installSteps中的( FormatWindow, "format" ) , ( FirewallWindow, "firewall" ) , ( LanguageSupportWindow, "languagesupport" ) , ( AuthWindow, "authentication" ) , ( UnresolvedDependenciesWindow, "dependencies" ) , ( XConfigWindow, "xconfig" ) , ( BootdiskWindow, "bootdisk" ),即对应着去掉的第7,10,11,14,16,17和第20步骤。<br>
<br>
当这三步完成后,进行make和make install,重新编译程序,使修改生效,并把这些文件Copy至stage2.img中的相关位置,替换掉旧文件。这样就完成了对安装步骤的简化。<br>
<br>
2.4对RPM 包的剪裁<br>
<br>
对RPM包的裁剪依这次的需求进行。项目整体分析时已做出说明,制作目的是为了在系统前端Sensor 中能够快速,正确地建立运行Snort的Linux系统环境。所以只需保留Linux基本系统和运行snort所需的环境即可。<br>
<br>
Linux基本系统的RPM包组成在comps文件中的base部分中有详细的描述,所以就以它为蓝本,去掉除base以外的所有component,并去掉base中以下不必要的RPM包:<br>
<br>
[aidcode] apmd ash autoconfig dhcpcd dosfstools ed eject gdm gettext gpm gruff ksymoops lokkit mailcap mailx man mktemp mouseconfig ncurses openldap popt procmail pump raidtool readline redhat-logos redhat-release rootfiles sendmail syslinux utemper words [/aidcode]<br>
在comps文件中增加IDS Sensor component并在此组中添加必要的RPM包,如snort-1.8.1就需要snort , libpcap , mysql , openssl , openssl-clients , perl等RPM包,除此之外,为了方便调试,也保留了一些用于操作和诊断的RPM包,如tcpdump , iputils , zip等,完成的comps请参考附录C。<br>
<br>
同时,在/RPM目录中依照上面所有确认保留的RPM包名称,删除不予保留的各RPM文件(文件后缀.rpm)。此时在/base中的 comps文件和在/RPM中的各rpm文件都已剪裁完成,可以利用genhdlist生成hdlist和hdlist2文件了,genhdlist 在anaconda-7.1的源代码中的utils目录里。具体生成方法见附录D。<br>
<br>
3. 存在的问题及今后目标<br>
<br>
此次对NetCop Linux发布的制作是以RPM包作为裁剪单元进行的,所以必然存在很大缺陷,即对RPM包的内部毫无办法,无法去掉RPM包内部对需求无用的大量文件并且无法对内核,脚本文件等做出制定修改。所以,下一步所要做的工作,是逐一打开每一个候选的RPM包,依需求对包内的每一个文件做出修改或丢弃,这样才能做出真正适合sensor的Linux发布,无疑,工作量是巨大的。<br>
<br>
4. 原始资料及参考文献<br>
<br>
[aidcode] Bootdisk-HOWTO CDROM-HOWTO CD-Writing-HOWTO Distribution-HOWTO HP-HOWTO KickStart-HOWTO Linux-From-Scratch-HOWTO RedHat-CD-HOWTO RPM-HOWTO http://mail.y-min.or.jp/~nob/ml/linuxppc-jp-dev/199902/msg00150.html [/aidcode]<br>
<br>
附录<br>
<br>
附录A boot.img和initrd.img的解析过程<br>
<br>
1.首先建立两个映像文件解析后的装载点(mount point):<br>
<br>
[aidcode] mkdir /mnt/boot /mnt/initrd [/aidcode]<br>
2.写shell脚本进行解析和还原:<br>
<br>
解析脚本命名为up<br>
<br>
[aidcode] #!/bin/sh mount -o loop -t msdos boot.img /mnt/boot gzip -cd /mnt/boot/initrd.img > /tmp/initrd.ext2 mount -o loop –t ext2 /tmp/initrd.ext2 /mnt/initrd [/aidcode]<br>
还原脚本命名为down<br>
<br>
[aidcode] #!/bin/sh umount /mnt/initrd gzip -c9 /tmp/initrd.ext2 > /mnt/boot/initrd.img umount /mnt/boot [/aidcode]<br>
附录B stage2.img解析过程<br>
<br>
1.首先建立映像文件解析后的装载点(mount point):<br>
<br>
[aidcode] mkdir /mnt/stage2 [/aidcode]<br>
2.写shell脚本进行解析和还原:<br>
<br>
解析脚本命名为up2<br>
<br>
[aidcode] #!/bin/sh mount -o loop stage2.img /mnt/stage2 [/aidcode]<br>
还原脚本命名为down2<br>
<br>
[aidcode] #!/bin/sh umount /mnt/stage2 [/aidcode]<br>
附录C comps文件清单<br>
<br>
[aidcode] 4 1 Base { MAKEDEV SysVinit anacron at basesystem bash bdflush bzip2 chkconfig console-tools cpio cracklib cracklib-dicts crontabs cyrus-sasl openssl db1 db2 db3 dev devfsd diffutils e2fsprogs file filesystem fileutils findutils gawk glib glibc glibc-common grep gzip hdparm hotplug lilo info initscripts kbdconfig kernel krb5-libs kudzu less libstdc++ libtermcap logrotate losetup mingetty mkbootdisk mkinitrd modutils mount net-tools newt ntsysv pam passwd pciutils popt procps psmisc pwdb quota rpm sed setserial setup setuptool sh-utils shadow-utils slang slocate sysklogd tar termcap textutils time timeconfig tmpwatch util-linux vim-common vim-minimal vixie-cron which zlib } 1 --hide IDS Sensor { iptables iputils libpcap mysql openssh openssh-clients openssl perl rdate snort tcpdump traceroute unzip zip } [/aidcode]<br>
附录D hdlist和hdlist2生成方<br>
<br>
假设在/tmp/cdimage/RedHat/RPMS目录下收录着RPM包的话,则通过使用 [aidcode] genhdlist /tmp/cdimage/ [/aidcode]<br>
<br>
生成hdlist和hdlist2文件,文件的生成位置在目录/tmp/cdimage/RedHat/base/下<br>
<br>
附录E sensor.py文件清单<br>
<br>
[aidcode] from installclass import BaseInstallClass from translate import * from installclass import FSEDIT_CLEAR_ALL import os import iutil class InstallClass(BaseInstallClass): name = N_("IDS Sensor") pixmap = "sensor.png" sortPriority = 10 def __init__(self, expert): BaseInstallClass.__init__(self) self.setGroups(["IDS Sensor"]) self.addToSkipList("lilo") self.addNewPartition('/boot', (48, -1, 0), (None, -1, 0), (0,0)) self.addNewPartition('/', (256, -1, 0), (None, -1, 0), (0,0)) self.addNewPartition('/usr', (512, -1, 1), (None, -1, 0), (0,0)) self.addNewPartition('/var', (256, -1, 0), (None, -1, 0), (0,0)) self.addNewPartition('/home',(512, -1, 1), (None, -1, 0), (0,0)) self.setClearParts(FSEDIT_CLEAR_ALL, warningText = N_("Automatic partitioning will erase ALL DATA on your hard " "drive to make room for your Linux installation.")) # self.addNewPartition('swap', (64, 256, 1), (None, -1, 0), (0,0)) # 2.4 kernel requires more swap, so base amount we try to get # on amount of memory (minswap, maxswap) = iutil.swapSuggestion() self.addNewPartition('swap', (minswap, maxswap, 1), (None, -1, 0), (0,0)) [/aidcode]<br>
附录F syslinux.cfg文件清单<br>
<br>
[aidcode] label linux kernel vmlinuz append initrd=initrd.img lang=us devfs=nomount vga=788 [/aidcode]<br>
附录G boot.img制作启动盘方法<br>
<br>
[aidcode] cat boot.img > /dev/fd0 [/aidcode]<br>
或<br>
<br>
[aidcode] dd if=boot.img of=/dev/fd0 bs=1440 [/aidcode]<br>
附录H Linux光盘映像制作方法<br>
<br>
在Linux下光盘映像的制作用mkisofs命令,具体的,假设在/tmp/cdimage/目录下收录着将要被制作的光盘内容,则执行<br>
<br>
[aidcode] mkisofs –v –r –T –J –V “NetCop Linux” –b images/boot.img -o /tmp/NetCopLinux.iso [/aidcode]<br>
即可在/tmp目录下做出一命名为NetCopLinux.iso的光盘映像文件,它以/tmp/cdimage/images/boot.img 作为光盘启动文件。
</FONT><br>
</TD>
</TR>
<TR>
<TD colSpan=2><FONT
class=middlefont></FONT><BR>
<FONT
class=normalfont>全文结束</FONT> </TD>
</TR>
<TR>
<TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2
height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
<TD vAlign=top width="20%"
background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2>
<DIV align=center>
<table class=tableoutline cellspacing=1 cellpadding=4
width="100%" align=center border=0>
<tr class=firstalt>
<td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
<font class=normalfont><b>所有分类</b></font></td>
</tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td> </tr> </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td> </tr> </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%> <table width=100% border=0> <tr> <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td> </tr> </table></td></tr> </table>
</DIV></TD></TR>
<TR vAlign=top>
<TD width="80%">
<DIV align=center><BR>
</DIV>
</TD></TR></TBODY></TABLE></TD></TR>
</TABLE></TD></TR>
</TABLE>
<TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee
border=0><TBODY>
<TR>
<TD width="50%">
<P><FONT class=middlefont>版权所有 © 2004 <A
href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
违者必究. </FONT></P>
</TD>
<TD width="50%">
<DIV align=right><FONT class=middlefont>Powered by: <A
href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
</TD></TR></TBODY></TABLE>
<CENTER></CENTER></TD></TR>
</TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -