CN101840337A - 一种适用于捕包应用的裁减***定制方法 - Google Patents
一种适用于捕包应用的裁减***定制方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 238000009434 installation Methods 0.000 claims abstract description 8
- 238000013515 script Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 12
- 241000512668 Eunectes Species 0.000 claims description 5
- 238000011161 development Methods 0.000 claims description 4
- 238000011900 installation process Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 230000035484 reaction time Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 3
- 101100226366 Arabidopsis thaliana EXT3 gene Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 208000034420 multiple type III exostoses Diseases 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
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镜像文件。
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)
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)
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操作***的内核调试方法 |
-
2010
- 2010-05-06 CN CN 201010164137 patent/CN101840337B/zh active Active
Patent Citations (4)
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)
Title |
---|
张文江,吴庆波: "Linux日志文件***研究", 《计算机工程与应用》 * |
杨伟帆,何方白: "主动防御中的网络捕包在Linux下的简单实现", 《***工程与电子技术》 * |
焦利宝,赵光星: "浅谈XFS文件***", 《电子商务》 * |
Cited By (4)
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 |