免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1024 | 回复: 0
打印 上一主题 下一主题

Linux发行版制作指南[2] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-05 20:52 |只看该作者 |倒序浏览

摘要
  此文档着重介绍了Linux发行版制作过程中的各个步骤。(2002-10-08 13:20:09)
  2.3对安装步骤的简化
  在对RPM 包的剪裁进行之前,还要对原有的安装步骤做出简化,去掉一些与系统需求大致无关的项目,使安装者可以集中精力地配置Sensor的主要参数,忽略诸如对键盘,鼠标,和多国语言的配置。具体的如下所示:
  原有的安装步骤有:
  1.安装语言选择
  2.键盘配置
  3.鼠标配置
  4.欢迎信息
  5.安装类型选择(包括安装或升级,安装部分又包括workstation,server,laptop,custom四种类型)
  6.选择分区方式(自动分区,手动分区,专业分区)
  7.选择以上部分或全部分区格式化
  8.Lilo操作系统引导器配置
  9.网卡及网络配置
  10.防火墙配置
  11.语言配置
  12.时区配置
  13.账户配置
  14.认证配置
  15.包组及单RPM包选择
  16.包独立性检查
  17.X-Window配置
  18.安装前确认
  19.安装过程
  20.制作启动盘
  21.安装完毕确认
  在这些安装步骤中很多都是在确定了RPM包组及调试完成后不必要存在的,所以去掉第1,2,3,4,7,8,10,11,14,16,17和第 20项安装步骤,所有去掉步骤的相关设置都采取默认的设置值,如第7步采取分区全部格式化的方案,第8步,采取Lilo放置在MBR上,default boot 为Linux的设置等等,并修改第5步,去掉升级类型和安装类型中的所有4种既定类型,添加IDS sensor类型。修改完成以后的安装步骤如下所示:
  1.安装类型选择(现有的为IDS sensor一种)
  2.选择分区方式(自动分区,手动分区,专业分区)
  3.网卡及网络配置
  4.时区配置
  5.账户配置
  6.包组及单RPM包选择
  7.安装过程
  8.安装完毕确认
  为此,需要修改Python脚本语言
  ● 在安装程序运行之初,需要先禁止掉安装语言选择,键盘配置,鼠标配置和欢迎信息,在anaconda中在判断语言是否有效之前即Line491 if lang:之前加上以下四句:
  instClass.addToSkipList("language");
  instClass.addToSkipList("keyboard");
  instClass.addToSkipList("mouse");
  instClass.addToSkipList("welcome");
  并在gui.py中的类class InstallInterface的run函数中注释掉Line371至Line371,即在commonSteps结构中除保留( InstallPathWindow, "installtype" )外,注释掉( LanguageWindow, "language" ),( KeyboardWindow, "keyboard" ),( MouseWindow, "mouse" )和( WelcomeWindow, "welcome" )
  ●对安装类型进行精简。在installclasses目录下去掉upgrateonly.py , workstation.py , server.py , laptop.py和custom.py即去掉升级类型和安装类型中的所有4种既定类型, 添加IDS sensor类型,即在目录中添加sensor.py文件,文件的具体内容请参考附录E。
  除此之外,还要修改iw/installpath_gui.py脚本文件,以便在图形界面上不显示Install和Upgrate图标和选项,只显示IDS Sensor项目。具体的,注释掉Line223,Line 227,Line 233和Line 234代码,即在类class InstallPathWindow中的getScreen函数的最后部分不执行显示。
  ● 去掉其他多余步骤,主要修改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步骤。
  当这三步完成后,进行make和make install,重新编译程序,使修改生效,并把这些文件Copy至stage2.img中的相关位置,替换掉旧文件。这样就完成了对安装步骤的简化。
  2.4对RPM 包的剪裁
  对RPM包的裁剪依这次的需求进行。项目整体分析时已做出说明,制作目的是为了在系统前端Sensor 中能够快速,正确地建立运行Snort的Linux系统环境。所以只需保留Linux基本系统和运行snort所需的环境即可。
  Linux基本系统的RPM包组成在comps文件中的base部分中有详细的描述,所以就以它为蓝本,去掉除base以外的所有component,并去掉base中以下不必要的RPM包:
  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  
  在comps文件中增加IDS Sensor component并在此组中添加必要的RPM包,如snort-1.8.1就需要snort , libpcap , mysql , openssl , openssl-clients , perl等RPM包,除此之外,为了方便调试,也保留了一些用于操作和诊断的RPM包,如tcpdump , iputils , zip等,完成的comps请参考附录C。
  同时,在/RPM目录中依照上面所有确认保留的RPM包名称,删除不予保留的各RPM文件(文件后缀.rpm)。此时在/base中的 comps文件和在/RPM中的各rpm文件都已剪裁完成,可以利用genhdlist生成hdlist和hdlist2文件了,genhdlist 在anaconda-7.1的源代码中的utils目录里。具体生成方法见附录D。
3. 存在的问题及今后目标
  此次对NetCop Linux发布的制作是以RPM包作为裁剪单元进行的,所以必然存在很大缺陷,即对RPM包的内部毫无办法,无法去掉RPM包内部对需求无用的大量文件并且无法对内核,脚本文件等做出制定修改。所以,下一步所要做的工作,是逐一打开每一个候选的RPM包,依需求对包内的每一个文件做出修改或丢弃,这样才能做出真正适合sensor的Linux发布,无疑,工作量是巨大的。
4. 原始资料及参考文献
  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


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/44942/showart_354236.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP