LINUX第四章內(nèi)核編譯與軟件管理_第1頁(yè)
LINUX第四章內(nèi)核編譯與軟件管理_第2頁(yè)
LINUX第四章內(nèi)核編譯與軟件管理_第3頁(yè)
LINUX第四章內(nèi)核編譯與軟件管理_第4頁(yè)
LINUX第四章內(nèi)核編譯與軟件管理_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章內(nèi)核編譯與軟件管理

6

主要內(nèi)容

?內(nèi)核編譯

?:?軟件包管理

2

4.1內(nèi)核編譯

?:?內(nèi)核是什么?

?:?編譯內(nèi)核步驟

LINUX內(nèi)核

?:?技術(shù)上說(shuō)Linux是--個(gè)內(nèi)核?!皟?nèi)核”指的是^

個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任

務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的

操祚系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)

叫作Linux操作系統(tǒng),或是GNU/Linux。

?:?Linux是一個(gè)宏內(nèi)核(monolithickernel)系

統(tǒng)。設(shè)備驅(qū)動(dòng)程序可以完全訪問(wèn)硬件。Linux內(nèi)

的設(shè)備驅(qū)動(dòng)程序可以方便地以模塊化(

modularize)的形式設(shè)置,并這系統(tǒng)運(yùn)行期間可

直接裝載或卸載。

4

編譯LINUX內(nèi)核步驟

?:T、安裝編譯內(nèi)核所需要的軟件包

apt-getupdate

apt-getinstallkernal-packagelibncurses5-dev

fakerootwgetbzip2

因?yàn)橐陨厦钚枰芾韱T權(quán)限,普通用戶在執(zhí)行

命令時(shí)可以命令前加上命令sudo,如:

sudoapt-getupdate

5

?:*2、下載源代碼

可以從官方網(wǎng)站上下載,內(nèi)核

源代碼以壓縮包形式提供,有兩種壓縮形式:bzip2

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

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

)z分別為源代碼的版本號(hào)。

在linux下可以通過(guò)wget命令下載源代碼:

cd/tmp

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

x.y.z.tar.bzl

?:*3、解壓縮

在解壓縮前,需要考慮將壓縮包解壓到何處,

即要在哪個(gè)目錄下進(jìn)行l(wèi)inux內(nèi)核源代碼編譯。

但注意,不要將內(nèi)核源代碼解壓到

/usr/src/linux目錄中。用戶可以在/usr/src中創(chuàng)

建一個(gè)新目錄,方便內(nèi)核管理。

解壓命令如下:

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

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

?:*4、給內(nèi)核打補(bǔ)?。墒÷裕?/p>

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

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

。5、配置內(nèi)核

~選擇需要的配置項(xiàng))告訴編譯程序linux內(nèi)核需要哪

些功能。常見(jiàn)的配置方法如卡:

(1)makecon仔g(shù)(需人工逐項(xiàng)確認(rèn))

(2)makemenucon^g(需ncurses庫(kù)支持,在Ubuntu中

默認(rèn)不支持,須先安裝

apt-getinstalllibncurses5-dev,是一個(gè)文本圖形對(duì)話框

(3)makexconEg(它基于X1L使用qt庫(kù),在Ubuntu

中就先安裝qt庫(kù):

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

統(tǒng)中沒(méi)宥gcc,應(yīng)會(huì)出錯(cuò),故績(jī)安裝g++

etinstallbuild-essentiaL為GUI對(duì)話框,使用方

?:*6、編譯內(nèi)核

make

makemodules(對(duì)內(nèi)核模塊進(jìn)行編譯)

在編譯過(guò)程中會(huì)出現(xiàn)許多編譯信息,如果用戶不

想看到這些信息,可用重定向忽略編譯信息。

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、安裝內(nèi)核

編譯成功后?需要將新內(nèi)核模塊和內(nèi)核安裝到系統(tǒng)中:

makemodulesinstall/*安裝內(nèi)核模塊*/

makeinstall/*安裝內(nèi)核*/

makemodules_instan會(huì)將相應(yīng)的內(nèi)核模塊安裝到/lib/目錄

下,makeinstall則號(hào)內(nèi)核映像復(fù)制到/boot/目錄下。用

戶還需要為內(nèi)核創(chuàng)建一個(gè)initrd.img文件,該文件用來(lái)存

儲(chǔ)掛載根文件系統(tǒng)所需的模塊。

cd/boot

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

最后一步是對(duì)用戶的grub配置文件進(jìn)行修改,以

便在啟動(dòng)時(shí)能夠選擇新內(nèi)核:

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軟件增冊(cè))工具

?:?軟件包的自動(dòng)更新

軟件管理概述

1、軟件包

在UbuntuLinux系統(tǒng)中,所有的軟件與文檔都是以軟

件包檔案文件的形式提供的。軟件包可以分為二進(jìn)制

軟件包和源代碼軟件包。

按照封裝格式,常見(jiàn)的linux系統(tǒng)軟件包可以分為下

列3種類型。

?Debian格式(文件擴(kuò)展名為“?deb”),Ubuntu常用這

種格式。

?RedHat格式(文件擴(kuò)展名為“?rpm”)。

?TarbaH格式(是一種由大量文件,包括目錄結(jié)構(gòu)組

裝成單個(gè)檔案文件的大型文件集合。故需先解壓。

15

2、軟件倉(cāng)庫(kù)

指的是一個(gè)網(wǎng)站或存儲(chǔ)目錄,其中提供按一定組織形

式存儲(chǔ)的軟件包與索引文件。利用軟件倉(cāng)庫(kù),軟件維

護(hù)工具能夠檢索與獲取正確的軟件包,完成軟件包的

安裝,以&lirnix系統(tǒng)的更新與升級(jí)。

軟件倉(cāng)庫(kù)主要分為以下4種類型。

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

包)能構(gòu)成'一個(gè)完整的系統(tǒng)。

?Restricted—Ubuntu支持的)但沒(méi)有自由軟件版權(quán)的

通用軟件。

?Universe—由Ubuntu社區(qū)維護(hù),不提供官方支持。

?Multiverse—“非自由軟件”。

3、軟件包的相互依賴關(guān)系

一個(gè)軟件包是一個(gè)相對(duì)獨(dú)立的基本功能單元,

但大多數(shù)軟件包通常都需要一定的底層支持,

如函數(shù)庫(kù)或底層協(xié)議支持等。當(dāng)一'個(gè)軟件包需

要某個(gè)特定的函數(shù)庫(kù)或底層協(xié)議支持時(shí),包含

函數(shù)庫(kù)或協(xié)議支持的軟件包就是當(dāng)前軟件包依

賴的軟件包。

17

利用apt?get管理軟件包

?APT(AdvancedPackageTool)是個(gè)通用的

綜合軟件管理與維護(hù)工具,功能完整,易于使

用。

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

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

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

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

表12?1叩3M命令支持的部分功能選項(xiàng)

功能逸里簡(jiǎn)地說(shuō)明

安我.用I安裝舊定的一個(gè)或多個(gè)軟件包,4指定荻什頓相乂潘給出前?的名字,不必寫出軟件包的完

,名字,制如,對(duì)于*舛包Iibc61.9.6-2deb-指宏Iibo6印可.問(wèn)時(shí).胡察還會(huì)賣裝推手軟件包依收的

所有底層支持軟件包.以謫足軾件包的供糧關(guān)系,匕口叩皿皿31血文件用I加定朋用的就件海?如果農(nóng)

有梢時(shí)舊配的軟件包工國(guó)定擔(dān)定的發(fā)仲包名7髭個(gè)模式?則-get的會(huì)安藜匹配指定模大的任何秋竹包.

5果軟竹包名字后面附加一個(gè)M弓.」(中間段有空格)后敏,且軟件色跑安翼i取?酬將殳IWM8

定的軟內(nèi)包.類似地.M娛物件包名字后由附布?個(gè)加號(hào)“?■后緞,表示空族指定的零件包.要透擇安

miLdlpkgx余個(gè)特定版本的軟件包.口由軟件粒名字后曲附加Y""刀她"后身,to'QptrtudcmstiJInprOJ.r.

同濟(jì)婆從一個(gè)特定的發(fā)行中必抨一個(gè)軟件包,可在收件包名字后面出加個(gè)“他威丁所加,”

£?,如?皿虹.icting或啞血曲等.敦件包的名字也可以右作個(gè)表達(dá)式.如里&行敦件包能催他配

冷定的衣達(dá)l”表達(dá)式中包含句點(diǎn)?)、問(wèn)號(hào)或尾號(hào)w?tnz-電京味昔這是一個(gè)

正則表達(dá)式.因而可用之今軟竹倉(cāng)庫(kù)中的所句歌H也逃行比牧,M后安敕(啦刪除)與之匹配的任用氯母

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

除了比3個(gè)忖殊字的.詼可以4il酬農(nóng)達(dá)式申使用h*l…或美元轎號(hào)“$”?

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

索引.傭S,當(dāng)使用dch格式的V件包檔*文件時(shí).apt?匹I命令格會(huì)檢索Pahgcgz文件,從小膚取呼

用的MM件包或更新秋竹包的伯生因此,在利用upgmfc或也見(jiàn)upgrade動(dòng)能選所開(kāi)燃檢今系統(tǒng)之機(jī),

件先向匕利用upd加功儉浩麗,更新可用軟件包的索引

升雄.從小曲叩t&wrcnlM文件布定的軟件源中,卜我昨支我比當(dāng)訪系纜已發(fā)裝的版本但橋的所有就件包,

印gm&M不會(huì)都除胤t巾已安裝的軟件他也不會(huì)下我與安裝素痍中附束安裝的軟件包.在枚行系也升耀之時(shí),

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

19

m.從系統(tǒng)中第除(Wft)指定的收f(shuō)l也,同町刪除依依于指定軟件包的K他軟件包,除了?照收件也

remove0電,ICT16**等同于inrtill功勘1琮?例仙,如果而定的款件包名之后附加個(gè)加。r.(中網(wǎng)段有空格)?

得會(huì)找笠而小帖崩除指定的玳件包

auionsnov?白動(dòng)前蹄.用于刪除力滿足儂級(jí)關(guān)系而白動(dòng)安裝的,艮當(dāng)前不再需要的軟件包

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

check咨廉?用以更防軟件包爆存1L檢91軟件包的依賴美京心否存在何例

湎除.川卜清除僅存A基地H錄中的“件包H件#,除r付于,V時(shí)3仰UMchwcj和

NM'cachMawarchivWpftrtial口隸中的封情女fl,dean功世透頂材會(huì)清除軟件包的任何文H?'1以南加。

clean

方法運(yùn)行APT軟件包件照工艮時(shí),褥會(huì)口動(dòng)地執(zhí)行清除功能,在不臬用&deu方法倦護(hù)戰(zhàn)件包時(shí),應(yīng)注

tHWtetlHipt-goiclean"

類儀于clean.Modon也用于消除娥存在本地日址中的軟件包文件等.H益別在FRU僅刖像不再罐熔

nutockan「我H從木上不再方建使用的歌ft包工件,這18防止8#空間由于陽(yáng)W泣寺清中時(shí)W密的靖長(zhǎng)失控.11?

耙配置給鼬-.W::Clcanlitihllcd"設(shè)胃力ML常會(huì)防止冊(cè)盤d經(jīng)安經(jīng)的軟4包

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

chock診新.用干更新冬件包及沖區(qū),檢IH曼州的出件包依前關(guān)系

除riMlupgrade的勸使之扎disvupadc還能幢曾能K處理由新版軟件包野兔的儂級(jí)關(guān)系變化.叩1時(shí)

disbupgnuk只有一個(gè)‘由健的”沖突M跳機(jī)禮如果需要,它將會(huì)合艮代先升8最重要的發(fā)件包"出叩向mrcdlM

配置文件包,系列軟件》的定義.使叩1d?睨I取叫里的裁件包

20

?12-2apt-get命令支持的其他選項(xiàng)

GNU選項(xiàng)回?說(shuō)明

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

指定叩(廿。命令使用的.除》(“配置文件之外的其他配置文忤,W中包含軟件性庫(kù)陸hnp、

YJi/rrun向一filefik

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

咐于福蒙同口通認(rèn)是田?>e^no)的斷門消束.0足使州yen作為1”1容.這?珠著雙用1T

_y—rwume'c%

-y久眠式的方式自動(dòng)運(yùn)行ap”ct的。.相應(yīng)的API配置參數(shù)為“APT::52As3umeY3”

餡止卜餞軟林包?匿好與-ignorcmiMing-一網(wǎng)使用,以便強(qiáng)制APT完全使用乜卜較

-ao-download的.爆存的.deb收件包.執(zhí)行軟件包的安裝與更新.相應(yīng)的配置參數(shù)為

**APT:GetDownload"

僅下故軟件包,既不就壓,也不安裝收件包.相應(yīng)的APT配箕叁數(shù)為

-d-dcywnluad-unly

-APT:GetDownk?d-Onl)"

住■!除軟件心時(shí).可以使用…郡普代EKM/C動(dòng)睡邊頊.可于內(nèi)蕃清除的軟件包.

-puqjr

稗會(huì)A軟料包后腳附加一個(gè)星寸”'”標(biāo)記.相位的APT倒置春效力"AJ?TGct:Purgc*

對(duì)1號(hào)前己洋安裝的軟件包.重新安裝耳斯帽本的軟件包.相向的APT,置鬢數(shù)為

rrinUaH

“APT::Gflt::RcLn5ta}r

無(wú)需考能軟件包黑傳S認(rèn)研?即使軟件笆不認(rèn)證,也不輸出什何建示信息.相附的配置

-alk?w-imauthenticat£d

參數(shù)為*'APT::GcC:AllowUnaulhcnticawdw

-urbow.upgrvdcd通示已經(jīng)升級(jí)的所的軟件包列表.乩相印的AP「配寅需數(shù)為"API::Gctiihnw-llptradcdw

加里寄普家除fl間軟件包.apl-R希會(huì)立即停止岳行.而且不會(huì)綸出fi間提示信星.相應(yīng)

-no-frm<ivr

的配置參薊為-APT:Xjct:Remove*

勾蹙api-£Ct命令的勸牌選汰及msudl喊remove.這個(gè)通網(wǎng)的作用打當(dāng)王執(zhí)打nutorcmove

outorcmovc功能送項(xiàng),即X除未用的,力帝牧什色依幢的做件包.相應(yīng)的AFFf黃參般為

**APT::Oel:.AuUrtiialicReitMivr”

禁止升級(jí)軟fl色.與皿Udi功能此項(xiàng)一起使用時(shí),如果命4?行中指定的軟件包已經(jīng)安裝.

no-upgrade

這個(gè)選項(xiàng)將會(huì)警止開(kāi)板指定的軟件包.帽鹵的APT歸置參散為“APT:Get::U麗*.

r-quiet安酢模式

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論