LINUX第四章内核编译与软件管理_第1页
LINUX第四章内核编译与软件管理_第2页
LINUX第四章内核编译与软件管理_第3页
LINUX第四章内核编译与软件管理_第4页
LINUX第四章内核编译与软件管理_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章内核编译与软件管理

6

主要内容

♦内核编译

♦:♦软件包管理

2

4.1内核编译

♦:♦内核是什么?

♦:♦编译内核步骤

LINUX内核

♦:♦技术上说Linux是--个内核。“内核”指的是^

个提供硬件抽象层、磁盘及文件系统控制、多任

务等功能的系统软件。一个内核不是一套完整的

操祚系统。一套基于Linux内核的完整操作系统

叫作Linux操作系统,或是GNU/Linux。

♦:♦Linux是一个宏内核(monolithickernel)系

统。设备驱动程序可以完全访问硬件。Linux内

的设备驱动程序可以方便地以模块化(

modularize)的形式设置,并这系统运行期间可

直接装载或卸载。

4

编译LINUX内核步骤

♦:T、安装编译内核所需要的软件包

apt-getupdate

apt-getinstallkernal-packagelibncurses5-dev

fakerootwgetbzip2

因为以上命令需要管理员权限,普通用户在执行

命令时可以命令前加上命令sudo,如:

sudoapt-getupdate

5

♦:*2、下载源代码

可以从官方网站上下载,内核

源代码以压缩包形式提供,有两种压缩形式:bzip2

和gzip(GUNzip)oLinux源代码包的文件名形式分

另U为linux-x.y.z.tar.bz2^1inux-x.y.x.tar.gz,其中x,y

)z分别为源代码的版本号。

在linux下可以通过wget命令下载源代码:

cd/tmp

wgethttp://www.kerneLorg/pub/linux/kernel/v2.6/linux"

x.y.z.tar.bzl

♦:*3、解压缩

在解压缩前,需要考虑将压缩包解压到何处,

即要在哪个目录下进行linux内核源代码编译。

但注意,不要将内核源代码解压到

/usr/src/linux目录中。用户可以在/usr/src中创

建一个新目录,方便内核管理。

解压命令如下:

tar-xjvflinux-x.y.z.tar.bz2-C/usr/src

tar-xzvflinux-x.y.z.tar.gz一C/usr/src

♦:*4、给内核打补丁(可省略)

bzip2-de/usr/src/patch.bz2|patch-pl-dry-run

bzip2-de/usr/src/patch.bz2|patch-pl

。5、配置内核

~选择需要的配置项)告诉编译程序linux内核需要哪

些功能。常见的配置方法如卡:

(1)makecon仔g(需人工逐项确认)

(2)makemenucon^g(需ncurses库支持,在Ubuntu中

默认不支持,须先安装

apt-getinstalllibncurses5-dev,是一个文本图形对话框

(3)makexconEg(它基于X1L使用qt库,在Ubuntu

中就先安装qt库:

apt-getinstalllibqt3-headerslibqt3-mt-dev,另夕卜如果系

统中没宥gcc,应会出错,故绩安装g++

etinstallbuild-essentiaL为GUI对话框,使用方

♦:*6、编译内核

make

makemodules(对内核模块进行编译)

在编译过程中会出现许多编译信息,如果用户不

想看到这些信息,可用重定向忽略编译信息。

make>/dev/null

drivers/media/common/saa7146fops.o

drivers/media/comnion/saa7146video.o

drivers/media/common/saa7146hlp.o

drivers/media/common/saa7146vbi.o

drivers/media/common/saa7146.o

drivers/media/common/saa7146vv.o

drivers/media/dvb/b2c2/built-in.o

drivers/media/dvb/b2c2/flexcop-pci.o

drivers/media/dvb/b2c2/flexcop-usb.o

drivers/media/dvb/b2c2/flexcop.0

drivers/media/dvb/b2c2/flexcop-fe-tuner.o

drivers/media/dvb/b2c2/flexcop-i2c.0

drivers/media/dvb/b2c2/flexcop-sram.o

drivers/media/dvb/b2c2/flexcop-eeprom.o

drivers/media/dvb/b2c2/flexcop-misc,o

drivers/media/dvb/b2c2/flexcop-hw-fliter.0

drivers/media/dvb/b2c2/flexcop-dma.o

drivers/media/dvb/b2c2/b2c2-flexcop.o

drivers/media/dvb/b2c2/b2c2-flexcop-pci.o

drivers/media/dvb/b2c2/b2c2-flexcop-usb.o

drivers/media/dvb/bt8xx/built-in,o

drivers/media/dvb/bt8xx/bt878.o

drivers/media/dvb/bt8xx/dvb-bt8xx.o

11

♦7、安装内核

编译成功后?需要将新内核模块和内核安装到系统中:

makemodulesinstall/*安装内核模块*/

makeinstall/*安装内核*/

makemodules_instan会将相应的内核模块安装到/lib/目录

下,makeinstall则号内核映像复制到/boot/目录下。用

户还需要为内核创建一个initrd.img文件,该文件用来存

储挂载根文件系统所需的模块。

cd/boot

mkinitrd-oinitrd.img-x.y.zx.y.x

最后一步是对用户的grub配置文件进行修改,以

便在启动时能够选择新内核:

vi/boot/grub/menu.lst

tileDebianGNU/linux,kernel

root(hdO^O)

kernel/boot/vmlinuzroot=/dev/hdblro

initrd/boot/initrd.img-x.y.z

savedefault

boot

13

4.2软件管理

♦:♦概述

♦:♦利用apt-get^理软件包

♦利用aptitude管理软件包

♦synaptic图形界面软件管理工具

♦:.GNOME软件增册)工具

♦:♦软件包的自动更新

软件管理概述

1、软件包

在UbuntuLinux系统中,所有的软件与文档都是以软

件包档案文件的形式提供的。软件包可以分为二进制

软件包和源代码软件包。

按照封装格式,常见的linux系统软件包可以分为下

列3种类型。

❖Debian格式(文件扩展名为“・deb”),Ubuntu常用这

种格式。

❖RedHat格式(文件扩展名为“・rpm”)。

❖TarbaH格式(是一种由大量文件,包括目录结构组

装成单个档案文件的大型文件集合。故需先解压。

15

2、软件仓库

指的是一个网站或存储目录,其中提供按一定组织形

式存储的软件包与索引文件。利用软件仓库,软件维

护工具能够检索与获取正确的软件包,完成软件包的

安装,以&lirnix系统的更新与升级。

软件仓库主要分为以下4种类型。

Main—Ubuntu官方完成支持的软件,是其基本软件

包)能构成'一个完整的系统。

❖Restricted—Ubuntu支持的)但没有自由软件版权的

通用软件。

❖Universe—由Ubuntu社区维护,不提供官方支持。

❖Multiverse—“非自由软件”。

3、软件包的相互依赖关系

一个软件包是一个相对独立的基本功能单元,

但大多数软件包通常都需要一定的底层支持,

如函数库或底层协议支持等。当一'个软件包需

要某个特定的函数库或底层协议支持时,包含

函数库或协议支持的软件包就是当前软件包依

赖的软件包。

17

利用apt・get管理软件包

❖APT(AdvancedPackageTool)是个通用的

综合软件管理与维护工具,功能完整,易于使

用。

❖apt-get[-hvs][-o-configstring][-c=file]{

[update]|[upgrade]|[dselect-upgrade]|

[installpkgs]|[removepkgs]|[purgepkgs]|

[check]|[clean]|[autoclean]|[autoremove]

表12・1叩3M命令支持的部分功能选项

功能逸里简地说明

安我.用I安装旧定的一个或多个软件包,4指定荻什顿相乂潘给出前®的名字,不必写出软件包的完

,名字,制如,对于*舛包Iibc61.9.6-2deb-指宏Iibo6印可.问时.胡察还会卖装推手软件包依收的

所有底层支持软件包.以谪足轼件包的供粮关系,匕口叩皿皿31血文件用I加定朋用的就件海・如果农

有梢时旧配的软件包工国定担定的发仲包名7髭个模式।则-get的会安藜匹配指定模大的任何秋竹包.

5果软竹包名字后面附加一个M弓.」(中间段有空格)后敏,且软件色跑安翼i取・酬将殳IWM8

定的软内包.类似地.M娱物件包名字后由附布•个加号“♦■后缎,表示空族指定的零件包.要透择安

miLdlpkgx余个特定版本的软件包.口由软件粒名字后曲附加Y""刀她"后身,to'QptrtudcmstiJInprOJ.r.

同济婆从一个特定的发行中必抨一个软件包,可在收件包名字后面出加个“他威丁所加,”

£«,如।皿虹.icting或哑血曲等.敦件包的名字也可以右作个表达式.如里&行敦件包能催他配

冷定的衣达l”表达式中包含句点•)、问号或尾号w»tnz-电京味昔这是一个

正则表达式.因而可用之今软竹仓库中的所句歌H也逃行比牧,M后安敕(啦删除)与之匹配的任用氯母

包.他或所谓仄祀指的越了用A义上的匹配,N此,W能幡入配"ho«b'和*g”.此外•

除了比3个忖殊字的.诙可以4il酬农达式申使用h*l…或美元轿号“$”•

更新.用于向中软N源的收件包索引文杵.We51PgMg.H虱文件中指定的软件源中佚取可用收件包的

索引.佣S,当使用dch格式的V件包档*文件时.apt•匹I命令格会检索Pahgcgz文件,从小肤取呼

用的MM件包或更新秋竹包的伯生因此,在利用upgmfc或也见upgrade动能选所开燃检今系统之机,

件先向匕利用upd加功俭浩丽,更新可用软件包的索引

升雄.从小曲叩t&wrcnlM文件布定的软件源中,卜我昨支我比当访系缆已发装的版本但桥的所有就件包,

印gm&M不会都除胤t巾已安装的软件他也不会下我与安装素痍中附束安装的软件包.在枚行系也升耀之时,

苜先必知执行口加⑶更新做II包索引.以便型噂&隹生知道足否存在可用的新版效件包

19

m.从系统中第除(Wft)指定的收fl也,同町删除依依于指定软件包的K他软件包,除了♦照收件也

remove0电,ICT16**等同于inrtill功勘1琮・例仙,如果而定的款件包名之后附加个加。r.(中网段有空格)・

得会找笠而小帖崩除指定的玳件包

auionsnov«白动前蹄.用于删除力满足侬级关系而白动安装的,艮当前不再需要的软件包

purge/,侬泊*除「期底消除改竹包提供的配置*件件之外,其功能等同于1€皿。加北段选融

check咨廉・用以更防软件包爆存1L检91软件包的依赖美京心否存在何例

湎除.川卜清除仅存A基地H录中的“件包H件#,除r付于,V时3仰UMchwcj和

NM'cachMawarchivWpftrtial口隶中的封情女fl,dean功世透顶材会清除软件包的任何文H•'1以南加。

clean

方法运行APT软件包件照工艮时,褥会口动地执行清除功能,在不臬用&deu方法倦护战件包时,应注

tHWtetlHipt-goiclean"

类仪于clean.Modon也用于消除娥存在本地日址中的软件包文件等.H益别在FRU仅刖像不再罐熔

nutockan「我H从木上不再方建使用的歌ft包工件,这18防止8#空间由于阳W泣寺清中时W密的靖长失控.11«

耙配置给鼬-.W::Clcanlitihllcd"设胃力ML常会防止册盘d经安经的软4包

)---♦------------------------------------------------------------1UU-------------------LI_■..................■_!!U

chock诊新.用干更新冬件包及冲区,检IH曼州的出件包依前关系

除riMlupgrade的劝使之扎disvupadc还能幢曾能K处理由新版软件包野兔的侬级关系变化.叩1时

disbupgnuk只有一个‘由健的”冲突M跳机礼如果需要,它将会合艮代先升8最重要的发件包"出叩向mrcdlM

配置文件包,系列软件》的定义.使叩1d•睨I取叫里的裁件包

20

«12-2apt-get命令支持的其他选项

GNU选项回•说明

-Il-help翻不摘明的M助信息.然后退出aptget

指定叩(廿。命令使用的.除》(“配置文件之外的其他配置文忤,W中包含软件性库陆hnp、

YJi/rrun向一filefik

即、cdrnm及本地文件的地讲城器椅

咐于福蒙同口通认是田«>e^no)的断门消束.0足使州yen作为1”1容.这®珠着双用1T

_y—rwume'c%

-y久眠式的方式自动运行ap”ct的。.相应的API配置参数为“APT::52As3umeY3”

馅止卜饯软林包・匿好与-ignorcmiMing-一网使用,以便强制APT完全使用乜卜较

-ao-download的.爆存的.deb收件包.执行软件包的安装与更新.相应的配置参数为

**APT:GetDownload"

仅下故软件包,既不就压,也不安装收件包.相应的APT配箕叁数为

-d-dcywnluad-unly

-APT:GetDownk»d-Onl)"

住■!除软件心时.可以使用…郡普代EKM/C动睡边顼.可于内蕃清除的软件包.

-puqjr

稗会A软料包后脚附加一个星寸”'”标记.相位的APT倒置春效力"AJ»TGct:Purgc*

对1号前己洋安装的软件包.重新安装耳斯帽本的软件包.相向的APT,置鬓数为

rrinUaH

“APT::Gflt::RcLn5ta}r

无需考能软件包黑传S认研・即使软件笆不认证,也不输出什何建示信息.相附的配置

-alk»w-imauthenticat£d

参数为*'APT::GcC:AllowUnaulhcnticawdw

-urbow.upgrvdcd通示已经升级的所的软件包列表.乩相印的AP「配寅需数为"API::Gctiihnw-llptradcdw

加里寄普家除fl间软件包.apl-R希会立即停止岳行.而且不会纶出fi间提示信星.相应

-no-frm<ivr

的配置参蓟为-APT:Xjct:Remove*

勾蹙api-£Ct命令的劝牌选汰及msudl喊remove.这个通网的作用打当王执打nutorcmove

outorcmovc功能送项,即X除未用的,力帝牧什色依幢的做件包.相应的AFFf黄参般为

**APT::Oel:.AuUrtiialicReitMivr”

禁止升级软fl色.与皿Udi功能此项一起使用时,如果命4•行中指定的软件包已经安装.

no-upgrade

这个选项将会警止开板指定的软件包.帽卤的APT归置参散为“APT:Get::U丽*.

r-quiet安酢模式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论