CN101840337A - 一种适用于捕包应用的裁减***定制方法 - Google Patents

一种适用于捕包应用的裁减***定制方法 Download PDF

Info

Publication number
CN101840337A
CN101840337A CN201010164137A CN201010164137A CN101840337A CN 101840337 A CN101840337 A CN 101840337A CN 201010164137 A CN201010164137 A CN 201010164137A CN 201010164137 A CN201010164137 A CN 201010164137A CN 101840337 A CN101840337 A CN 101840337A
Authority
CN
China
Prior art keywords
bag
kernel
file
xfs
file system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201010164137A
Other languages
English (en)
Other versions
CN101840337B (zh
Inventor
李开君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Langchao Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Langchao Electronic Information Industry Co Ltd filed Critical Langchao Electronic Information Industry Co Ltd
Priority to CN 201010164137 priority Critical patent/CN101840337B/zh
Publication of CN101840337A publication Critical patent/CN101840337A/zh
Application granted granted Critical
Publication of CN101840337B publication Critical patent/CN101840337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种适用于捕包应用的裁减***定制方法,内容包括:1)采用linux企业发行版为平台,裁减***服务和进程,使得***能够以尽可能小的资源运行;裁减无关应用程序;重新编译功能包;修改启动脚本;整合内容,集成到整个安装中;2)编写应用包的SPEC,重新编译应用源码文件,将重新编译的应用包集成到裁减***中;补包应用的主要功能包是pf_ring和对应的补丁,需要单独编译增加到***,并能正常的运行;3)修改内核模块,编译内核,使XFS文件***能在新内核中生效,XFS文件***替代ext3文件***,使裁减***在XFS文件***下运行,实现XFS文件***在小文件方面的读写性能优越性;整个功能包都采用最新的源码包,修改内核配置文件,增加内核模块,重新编译内核;使裁减***在启动的时候运行在XFS文件***上,增加捕包应用功能,裁减大量的无关包,减少***资源的利用率。

Description

一种适用于捕包应用的裁减***定制方法
技术领域
本发明涉及一种计算机应用技术,具体地说是一种计算机网络应用的***定制,具体涉及***的裁减,应用功能包的集成,内核的更新和文件***的使用。
背景技术
随着网络的迅速发展,应用丰富而复杂,为了能让网络能健康发展,对网络监管也成为急待解决的问题。而目前的网络上的包流量非常大,图片信息,视频信息,P2P流量,广告连接等各种应用充斥着整个互联网,有效的监管一些不健康和违法的包成为监管部门的主要工作。对这些应用进行分析必须要求***有非常快的处理能力,而捕获这些包成为完成这项任务的首要工作。应用包的大小相差也很大,一个2Gb网卡的***,当IP包最大MTU 1.5K时,处理的包的数量是16万,而包最小时是64B,那么就会约400万个包。大量的读写包信息会导致服务器因为负载太大甚至会瘫痪。因此,为捕包应用提供一套可行的解决方案成为相关部门需要关心的问题。
现行运行的linux***一般都是通用的***,不仅***庞大,功能多,而且运行消耗的硬件资源特多。在一些负载很大的应用方面,不能满足应用的需求,有必要对***进行优化,使***能够满足应用需求。
本文在现有硬件的基础上,从裁减***,编译内核,使用合适文件***,集成捕包程序方面实现快速捕包。
发明内容
本发明的目的是提供一种适用于捕包应用的裁减***定制方法。
本发明的目的是按以下方式实现的,本发明的运行***区别于以往的以EXT3文件为核心的***,整个功能包都采用最新的源码包,修改内核配置文件,增加内核模块,重新编译内核;使裁减***在启动的时候运行在XFS文件***上,增加捕包应用功能,裁减大量的无关包,减少***资源的利用率。
在开发平台上完成步骤如下:
1)comps.xml文件列出***盘中所有包,根据功能和模块对包进行分类,称为group,包括核心类,基本功能类、桌面类、***工具类、开发工具类、语言类等。通过它能解决包的依赖关系,确认包的重要等级。根据功能需求,确定包是否安装到***。它是安装过程中需要解决的重要问题。
2)XFS文件***在查询与分配存储空间非常快。XFS文件***能连续提供快速的反应时间。对特大文件及小尺寸文件的支持都表现出众,这样能为捕包应用提供更好的运行后台。
3)所有的功能包都用最新源码重新编译,根据要求,对部分源文件修改描述文件,编译文件包,源码文件只有编译成一定格式的包,才能被集成到***盘中,在安装的时候被识别安装。
4)编译内核源码。需要对***用到的内核、功能包,进行必要的编译。主要有:
(1)修改内核配置文件,使得应用到的XFS文件***能够生效;为了能支持XFS文件***,需要增加的XFS包和相关补丁;
(2)将XFS编译为内核模块形式,能在启动的时候挂载XFS文件***。
5)修改裁减***的启动脚本和引导文件,主要涉及到stage2.img、anaconda等文件,解压挂载stage2.img之后,修改相关文件,定制安装过程。
6)编译应用包,补包程序用到的主要是PFring包,下载源码包和针对内核的补丁。
7)将选定编译包,comps.xml配置文件,stage2.img等文件放在工作目录下,集成生成ISO镜像文件。
本发明的优异效果是:本发明的运行***区别于以往的以EXT3文件为核心的***,整个功能包都采用最新的源码包,修改内核配置文件,增加内核模块,重新编译内核;使裁减***在启动的时候运行在XFS文件***上,增加捕包应用功能,裁减大量的无关包,减少***资源的利用率。
附图说明
附图1裁减应用***的流程图
具体实施方式
参照说明书附图对本发明的作以下详细地说明。
下面参照附图1,对本发明的内容以一个具体实例来描述实现这一体系结构裁减过程。
1.comps.xml文件记录了所有的包信息,分类信息。针对应用需求,将文件中不需要的章节去掉,如其中的多语言支持,JAVA等开发套件,娱乐游戏,***工具等。Comps.xml文件以组为单位进行分类。同一组里面,也有些功能是用不到的,也需要删除。组的一般格式如下:
<group>
    <id>admin-tools</id>       //组的id,将不同组归类时用到
    <name>Administration Tools</name>
        <name xml:lang=″zh_CN″>管理工具</name>
        <description>该组软件包作用的描述</description>
<description xml:lang=″zh_CN″>这组软件包包括一个***图形化管理工具的集
合,譬如:管理用户帐号和配置***硬件。</description>
<default>true</default>    //定制安装时,表示该组RPM包是否默认安
装<uservisible>true</uservisible>            //表示该组RPM包用户是否
可见
        <packagelist>该组的所有RPM包列表,
            <packagereq type=″default″>authconfig-gtk</packagereq>
            <packagereq type=″default″>pirut</packagereq>
               …………………
其中type参数包括default(缺省),optional(可选),conditional(有条件的),mandatory(强制),如果type参数是conditional,则还需要加上参数requires,指明所依赖的RPM包。
2.启动文件主要由stage2.img文件完成,该文件是***的安装映像文件,是一个压缩文件,文件中的主要部分是安装程序anaconda。该文件在RHEL5中是squashfs格式压缩的,为了能支持squashfs文件格式,需要额外安装xfsprogs相关包。通过下面命令解析
mount-t squashfs-o loop stage2.img  /mnt/x
解压、挂载之后它也是一个树型结构,其中anaconda程序在/usr/bin目录下。修改的有安装图片logo、版本信息,anaconda启动信息等。一系列工作完成之后,将stage2文件目录重新压缩并替换原来的stage2.img文件。
mksquashfs stage2 stage2.img-all-root-no-fragments
        chmod  644 stage2.img
        cp$WORKDIR/disk/disk1/image/stage2.img  $WORKDIR/backup
        rm-rf $WORKDIR/disk/disk1/image/stage2.img
cp$WORKDIR/develop/stage2.img$WORKDIR/disk/disk1/image修改完成之后,可以放到工作目录下以便集成到裁减***中。
3.编译各类包。大部分功能包和内核都可以通过RHEL下载到源码。在完整的开发平台上,用RPM解压它,它会自动将解压文件分类到/usr/src/linux下的SOURCES和SPECS文件目录中。正式编译之前,需要修改***的配置文件:/usr/lib/rpm/macros下的Vendor,同时去掉#%vendor的#符号。
由于需要编译的包有上千个,因此用程序完成,对一般的包采用脚步来执行。
部分代码如下:
for i in`cat list1`
    do
       echo rpmbuild-ba-target=i386|ia64|x86_64$i  //确定编译的平台
rm-rf/usr/src/linux/BUILD/*             //生成rpm包后,直接删除build
   //下的这个文件,节省空间!
   done
编译完成生成的包自动存放在/usr/src/linux/SRPMS目录下,包的一般形式是gcc-objc-4.1.1-52.el5.x86_64.rpm。它包含包的功能名称,版本信息,分支信息,运行平台等。编译报错时,根据实际情况修改对应的spec文件。
4.需要将XFS编译到内核,在SOURCES目录下需要完成的工作有:
tar zxvf linux-2.6.18.tar.gz              //解压tar包
cd linux-2.6.18;vim*./config;          //修改隐藏配置文件
对配置文件中XFS的部分设置为模块形式,具体包含如下的文件:
        config-olpc-generic
        config-rhel-x86-generic
        kernel-2.6.18-i586.config
        kernel-2.6.18-i686.config
kernel-2.6.18-ia64.config
kernel-2.6.18-x86_64.config
下载针对内核的XFS包和补丁。对核心进行修补如下:
cd/usr/src/linux
#patch-p1<xfs-all.patch
修改完之后,对当前文件目录重新打tar.gz包,然后按照编译一般包的方式重新编译内核和XFS包。
5.应用关键是PRring捕包程序。从网上下载源码,为了能在安装的时使用,必须编译为RPM格式,编写功能包的SPEC文件,主要注意:
Name:
Source:*-%{PACKAGE_VERSION}.tar.bz2    //源码包
BuildPreReq:            //编译依赖的信息
Includearch:             //支持的***架构平台信息;
BuildRoot:%{_tmppath}/*-%{PACKAGE_VERSION}    //编译的workload目录
%build        //build涉及到的patch、setup等信息
%files        //安装包时,文件写到***的绝对路径的信息写好SPEC描述文件之后,然后按照一般包的编译过程编译。
6.从comps.xml文中提取关于包的列表信息pack_list,根据这个列表从/usr/src/linux/SRPM下用脚步程序获取定制***所需的包。
拷贝stages.img,isolinux等文件到工作目录。
制作ISO镜像之前,需要进行包的依赖关系检查,确保在安装的时候***能正常安装。
mkdir-p my_dirs
rpm--initdb--dbpath $PWD/my_dirs
rpm--test--dbpath $PWD/my_dirs-Uvh $WORKLOAD/BASE/*.rpm
根据检测情况调整pack_list信息,并处理对应的包。
用yum install*虚拟安装包,也可以解决包的依赖性。
创建光盘镜像
cd $WORKLOAD
mkisofs-R-J-T-no-emul-boot-boot-load-size 4-boot-info-table-bisolinux/isolinux.bin-c isolinux/boot.cat-V″INSPUR LINUX SYSTEM″-ocd.iso iso
在安装***的时候,在文件***选择列表中可以看到XFS已经存在,注意/boot目录不能挂载xfs文件***,在分区时,必须划分100M左右的空间,选择ext3文件***并作为/boot的挂载点。根目录挂载采用XFS文件***。

Claims (1)

1.一种适用于捕包应用的裁减***定制方法,其特征在于,内容包括:
1)采用linux企业发行版为平台,裁减***服务和进程,使得***能够以尽可能小的资源运行;裁减无关应用程序;重新编译功能包;修改启动脚本;整合内容,集成到整个安装中;
2)编写应用包的SPEC,重新编译应用源码文件,将重新编译的应用包集成到裁减***中;补包应用的主要功能包是pf_ring和对应的补丁,需要单独编译增加到***,并能正常的运行;
3)修改内核模块,编译内核,使XFS文件***能在新内核中生效,XFS文件***替代ext3文件***,使裁减***在XFS文件***下运行,实现XFS文件***在小文件方面的读写性能优越性;
整个功能包都采用最新的源码包,修改内核配置文件,增加内核模块,重新编译内核;使裁减***在启动的时候运行在XFS文件***上,增加捕包应用功能,裁减大量的无关包,减少***资源的利用率,在开发平台上完成具体步骤如下:
1)comps.xml文件列出***盘中所有包,根据功能和模块对包进行分类,称为group,包括核心类,基本功能类、桌面类、***工具类、开发工具类、语言类,通过它解决包的依赖关系,确认包的重要等级,根据功能需求,确定包是否安装到***;
2)XFS文件***在查询与分配存储空间非常快,XFS文件***能连续提供快速的反应时间,对特大文件及小尺寸文件的支持都表现出众,这样能为捕包应用提供更好的运行后台;
3)所有的功能包都用最新源码重新编译,根据要求,对部分源文件修改描述文件,编译文件包,源码文件只有编译成一定格式的包,才能被集成到***盘中,在安装的时候被识别安装;
4)编译内核源码,需要对***用到的内核、功能包,进行必要的编译,主要有:(1)修改内核配置文件,使得应用到的XFS文件***能够生效;为了能支持XFS文件***,需要增加的XFS包和相关补丁;(2)将XFS编译为内核模块形式,能在启动的时候挂载XFS文件***;
5)修改裁减***的启动脚本和引导文件,主要涉及到stage2.img、anaconda等文件,解压挂载stage2.img之后,修改相关文件,定制安装过程;
6)编译应用包,补包程序用到的主要是PFring包,下载源码包和针对内核的补丁;
7)将选定编译包,comps.xml配置文件,stage2.img等文件放在工作目录下,集成生成ISO镜像文件。
CN 201010164137 2010-05-06 2010-05-06 一种适用于捕包应用的裁减***定制方法 Active CN101840337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010164137 CN101840337B (zh) 2010-05-06 2010-05-06 一种适用于捕包应用的裁减***定制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010164137 CN101840337B (zh) 2010-05-06 2010-05-06 一种适用于捕包应用的裁减***定制方法

Publications (2)

Publication Number Publication Date
CN101840337A true CN101840337A (zh) 2010-09-22
CN101840337B CN101840337B (zh) 2013-01-23

Family

ID=42743724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010164137 Active CN101840337B (zh) 2010-05-06 2010-05-06 一种适用于捕包应用的裁减***定制方法

Country Status (1)

Country Link
CN (1) CN101840337B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129381A (zh) * 2011-03-14 2011-07-20 兰雨晴 一种定制linux操作***的方法
CN102355596A (zh) * 2011-10-11 2012-02-15 浪潮电子信息产业股份有限公司 一种适用于视频服务的缓存服务器部署方法
WO2015039413A1 (zh) * 2013-09-18 2015-03-26 国云科技股份有限公司 大型Linux软件包的发布方法
TWI834472B (zh) * 2022-11-18 2024-03-01 新加坡商鴻運科股份有限公司 驅動內核模組封裝方法、電子設備與存儲介質

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425071B1 (en) * 1999-05-03 2002-07-23 3Com Corporation Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
CN101086533A (zh) * 2007-07-06 2007-12-12 福州华虹智能科技开发有限公司 基于嵌入式Linux的浅层地震勘探仪器软件体系结构的装置
CN101131715A (zh) * 2007-10-15 2008-02-27 北京航空航天大学 一种导航***的微型处理器ip核设计方法
CN101281488A (zh) * 2007-04-06 2008-10-08 上海宇梦通信科技有限公司 Linux操作***的内核调试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6425071B1 (en) * 1999-05-03 2002-07-23 3Com Corporation Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
CN101281488A (zh) * 2007-04-06 2008-10-08 上海宇梦通信科技有限公司 Linux操作***的内核调试方法
CN101086533A (zh) * 2007-07-06 2007-12-12 福州华虹智能科技开发有限公司 基于嵌入式Linux的浅层地震勘探仪器软件体系结构的装置
CN101131715A (zh) * 2007-10-15 2008-02-27 北京航空航天大学 一种导航***的微型处理器ip核设计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张文江,吴庆波: "Linux日志文件***研究", 《计算机工程与应用》 *
杨伟帆,何方白: "主动防御中的网络捕包在Linux下的简单实现", 《***工程与电子技术》 *
焦利宝,赵光星: "浅谈XFS文件***", 《电子商务》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129381A (zh) * 2011-03-14 2011-07-20 兰雨晴 一种定制linux操作***的方法
CN102355596A (zh) * 2011-10-11 2012-02-15 浪潮电子信息产业股份有限公司 一种适用于视频服务的缓存服务器部署方法
WO2015039413A1 (zh) * 2013-09-18 2015-03-26 国云科技股份有限公司 大型Linux软件包的发布方法
TWI834472B (zh) * 2022-11-18 2024-03-01 新加坡商鴻運科股份有限公司 驅動內核模組封裝方法、電子設備與存儲介質

Also Published As

Publication number Publication date
CN101840337B (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
US9779111B2 (en) Method and system for configuration of virtualized software applications
US9864600B2 (en) Method and system for virtualization of software applications
US7516442B2 (en) Resource manifest
US8209288B2 (en) System and method for inspecting a virtual appliance runtime environment
US8365164B1 (en) Portable software applications
US8464245B2 (en) Method and system for software virtualization directly from an installation package
US20040230967A1 (en) Cross version customization of design environment
CN111399865A (zh) 一种基于容器技术自动构建目标文件的方法
US7900202B2 (en) Identification of software execution data
CN104360871A (zh) 一种***安装快速启动方法
US7305376B2 (en) Multiple language-dependent resources compacted into a single resource file
US20070169018A1 (en) Method and an apparatus for translating programming language code
WO2005020089A1 (en) Servicing a component-base software product
US20070169017A1 (en) Method and apparatus for translating an application programming interface (API) call
US20030208748A1 (en) Blocking access to selected APIs
US8887122B2 (en) Find and track information of interface usage of software libraries by other software
CN112099880B (zh) 场景驱动的应用程序约减方法和***
CN101840337B (zh) 一种适用于捕包应用的裁减***定制方法
CN111273960A (zh) 一种实现云原生的mips架构容器云的方法
CN115421765A (zh) 一种应用于国产化操作***的大数据管理部署方法
Courbot et al. Efficient off-board deployment and customization of virtual machine-based embedded systems
CN108228266A (zh) 一种Android插件框架下不同插件间启动Fragment组件的方法和装置
Barnes Pro Windows Subsystem for Linux (WSL)
US8190587B1 (en) In-place image promotion
Artho et al. Sources of inter-package conflicts in debian

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant