rhel6軟件包的安裝與管理_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  RHEL6 軟件包的安裝與管理 </p><p><b>  學(xué)習(xí)目標(biāo):</b></p><p>  了解linux執(zhí)行文件的種類</p><p>  學(xué)習(xí)傳統(tǒng)方法安裝、管理軟件包</p><p>  學(xué)習(xí)通過rpm來安裝、管理軟件包</p><p>  學(xué)習(xí)yum服務(wù)器的配

2、置,安裝管理軟件包</p><p>  首先我們來介紹linux下的可執(zhí)行文件的種類</p><p>  在redhat enterprise linux中執(zhí)行命令,大部分室執(zhí)行文件。執(zhí)行文件可以分如下種類</p><p>  程序(program)</p><p>  程序一種存儲cpu指令的機器碼的特殊文件,由于存儲在程序文件中得極其指令

3、都是采用二進(jìn)制編碼,直接交給cpu執(zhí)行。所以我們習(xí)慣陳可執(zhí)行文件為二進(jìn)制文件。</p><p>  一般來說程序執(zhí)行的速度比較快,。但是最大缺點室程序文件無法在不同的cpu中執(zhí)行</p><p>  鏈接庫(library)</p><p>  鏈接庫與程序類似,也是一個存儲機器碼的二進(jìn)制文件;但鏈接庫與程序文件的不同之處在于,程序文件會存儲執(zhí)行進(jìn)入點。所以linu

4、x系統(tǒng)會知道從哪里開始執(zhí)行文件的內(nèi)容;而連接庫則沒有存儲執(zhí)行進(jìn)入點得信息,因而無法直接啟動redhat linux中得鏈接庫</p><p>  腳本(script)</p><p>  腳本就是以文本的格式存儲要cpu執(zhí)行的命令。支持腳本類型的程序語言都會提供一個編譯器(interpruter)程序。每次執(zhí)行一個腳本時,redhatlinux都會吧腳本中的命令交由編譯器,轉(zhuǎn)譯成cpu可以

5、執(zhí)行的機器碼,然后才讓cpu去執(zhí)行這些機器碼。</p><p>  通常情況下腳本的好處就是平臺無關(guān)性,只要你得機器提供適當(dāng)?shù)木幾g器,就可以直接執(zhí)行腳本,缺點就是執(zhí)行速度遠(yuǎn)遠(yuǎn),慢于程序文件。</p><p>  產(chǎn)生機機器命令的方法</p><p>  為了讓cpu可以順利的執(zhí)行高級語言開發(fā)出來的應(yīng)用軟件,必須把高級語言的轉(zhuǎn)譯成機器碼,這個動作成為編譯,而負(fù)責(zé)執(zhí)行編

6、譯工作的程序就成為complier(編譯器)</p><p><b>  編譯的幾個步驟:</b></p><p>  檢查成語代碼的正確性</p><p>  把程序代碼轉(zhuǎn)換成為機器碼</p><p>  程序代碼中如果使用其他鏈接庫的機器碼,則將其鏈接</p><p>  產(chǎn)生操作系統(tǒng)的相關(guān)信

7、息</p><p>  存儲為可執(zhí)行文件。其中不管理員較為密切的可能是連接程序庫的這個動作</p><p><b>  鏈接:</b></p><p>  鏈接室指把存儲在鏈接庫中得機器碼存儲在程序中,這樣開發(fā)人員就不用重復(fù)編寫相同的程序代碼以加快程序的開發(fā)速度。鏈接分為兩種:動態(tài)鏈接和靜態(tài)鏈接</p><p><

8、b>  靜態(tài)鏈接:</b></p><p>  在進(jìn)行鏈接時,把執(zhí)行程序執(zhí)行期間需要用到的機器碼復(fù)制到可執(zhí)行文件中,這種鏈接方法稱為金泰鏈接“static link”.靜態(tài)鏈接而成的程序有如下幾個特性:1、產(chǎn)生的執(zhí)行文件體積龐大:使用靜態(tài)鏈接產(chǎn)生的程序必須吧所有用到的機器碼復(fù)制一份出來,存儲在執(zhí)行文件中,這樣使程序文件的體積比較龐大。</p><p>  2、執(zhí)行時需

9、要較多的空間:在程序執(zhí)行時加載程序文件需要更多的空間。</p><p>  3、可以獨立使用:靜態(tài)鏈接的程序已經(jīng)存儲了程序執(zhí)行期間所需的機器碼,不會因為某些鏈接庫不存在或者版本不符合而無法執(zhí)行。</p><p><b>  動態(tài)鏈接:</b></p><p>  在進(jìn)行鏈接時,編譯器不會把鏈接庫的機器碼復(fù)制到程序文件中,而只是存儲執(zhí)行文件執(zhí)行時

10、需要的鏈接庫,該鏈接庫的版本,以及函數(shù)的符號等信息。當(dāng)執(zhí)行這個程序時,便可以根據(jù)執(zhí)行文件中所記錄的鏈接信息,加載所需要的鏈接庫以及機器碼。這樣的鏈接方式就稱為dynamic link 動態(tài)鏈接。</p><p><b>  動態(tài)鏈接的特性:</b></p><p>  體積?。菏褂脛討B(tài)鏈接產(chǎn)生的執(zhí)行文件,因為只需要存儲機器碼的信息,所以執(zhí)行文件的體積小。</p&

11、gt;<p>  需要內(nèi)存空間少:由于動態(tài)鏈接執(zhí)行文件小,所以執(zhí)行這個程序需要的內(nèi)存空間就少</p><p>  無法獨立使用:執(zhí)行動態(tài)鏈接而成的程序時,會依賴所需要的鏈接庫。如果兩臺機器上得鏈接庫信息不一致,就會使執(zhí)行文件無法在另外一臺機器上執(zhí)行</p><p>  查尋執(zhí)行文件的鏈接方法</p><p>  如果想知道某個程序的鏈接方式,我們可以使

12、用file來查看,file查詢到一個文件時,會顯示該程序的文件中得機器碼和鏈接方法等信息;如果是statically linked就是靜態(tài),如果顯示dynamic linked就是動態(tài)</p><p><b>  下面來看一個例子</b></p><p>  這個信息就是顯示的/bin/ls 采用elf格式,存儲者64位lsb標(biāo)準(zhǔn)執(zhí)行文件采用動態(tài)鏈接庫</p&g

13、t;<p>  并且已經(jīng)提出了(stripped)當(dāng)中的調(diào)試信息</p><p>  查詢鏈接庫ldd來完成</p><p>  Ldd的每條記錄的顯示格式library=>library_file(memory_address)</p><p>  注意ldd命令只能查詢采用動態(tài)鏈接而成的程序文件</p><p><

14、;b>  軟件的依賴性</b></p><p>  如果采用動態(tài)連接庫的方式制造出來的執(zhí)行文件,那么管理這些軟件時就要特別注意是否會有依賴性的問題。所謂依賴性,就是指軟件執(zhí)行時需要用到其他的組件,這個時候該軟件就與其他的組件有了依賴性了。</p><p>  我們還是以ldd /bin/grep為例</p><p>  這個程序需要linux-vd

15、so.so.1 libpcre.so.0 動態(tài)鏈接庫。如果刪除動態(tài)庫就無法使用不管刪除多少</p><p>  下面這個例子我講Libc.so.6重命名了,結(jié)果很多程序會出問題了</p><p>  傳統(tǒng)管理軟件的方法:</p><p>  在unix世界,不同的unix系統(tǒng)的system call可能不一樣,即使是相同的呼叫系統(tǒng),不同的unix之間的提供的鏈接庫可

16、能不一樣,甚至鏈接庫一樣,不同平臺的機器碼不一樣。這樣就造成了應(yīng)用軟件的困擾。因為在不同的平臺,不同的鏈接庫的unix系統(tǒng),提供數(shù)百份版本的軟件。為了解決這個問題,傳統(tǒng)的unix軟件提供者,多半選擇將軟件源代碼提供給用戶。用戶取得源代碼后只需要在自己的機器上重新編譯一次,即可產(chǎn)生在該系統(tǒng)上得可執(zhí)行程序。這就解決了unix軟件提供者的麻煩。</p><p>  Redhat linux既然是兼容unix同,那么也具

17、備這種特性。</p><p>  不同的軟件的在安裝過城中步驟根據(jù)編寫者的愛好,可能不相同,但是通常的步驟如下:</p><p><b>  獲取軟件</b></p><p><b>  編譯前的工作準(zhǔn)備</b></p><p><b>  開始編譯</b></p>

18、<p><b>  安裝和部署</b></p><p>  假如我們有一份原代碼我們以ntfs-3g源代碼為例</p><p><b>  編譯前的準(zhǔn)備工作</b></p><p><b>  詳細(xì)閱讀文件</b></p><p>  準(zhǔn)備編譯所需要的組件<

19、/p><p><b>  設(shè)置編譯參數(shù)</b></p><p>  詳細(xì)閱讀README</p><p>  README 通常情況下提供軟件的基本信息。包括作者,軟件實現(xiàn)的功能,遇到問題向隨報告等</p><p><b>  INSTALL</b></p><p>  這個文件

20、就是交你如何安裝這個軟件</p><p>  Change log Changes</p><p>  這個文件一般都是軟件版本的修改記錄。比如增加了那些功能,何時修正等等信息</p><p>  準(zhǔn)備編譯所需要的組件</p><p>  某些軟件在編譯期間或者執(zhí)行期間可能會依賴其他的軟件或者鏈接庫,如果有這樣的情況,那么你就得在開始前確認(rèn)系

21、統(tǒng)上是否存在這些軟件。</p><p>  大部分的install和readme都會提供說明</p><p><b>  設(shè)置編譯參數(shù):</b></p><p>  軟件編譯前也必須設(shè)置好編譯的參數(shù),以配置軟件的編譯環(huán)境,啟用那些功能。</p><p>  現(xiàn)在大部分軟件都提供由autoconf /automake 產(chǎn)生

22、的configure ,通過configure 這個shell腳本來可以很方便的獲得編譯參數(shù)</p><p>  執(zhí)行configure 時,可能需要提供額外的參數(shù),不同的軟件提供的configure需要的配置可能不一樣。如果想要知道這個軟件configure 參數(shù)的話,可以執(zhí)行./configure –help</p><p><b>  來查看</b></p

23、><p>  下面我們以ntfs-3g為例首先用我們學(xué)過的解壓縮命令tar 來完成解壓</p><p>  我們可以看到這個源代碼包里面有很多文件</p><p>  下面我們通過./configure –help來獲取參數(shù)</p><p>  上面我只截取去了一部分參數(shù)。</p><p><b>  常見的參數(shù)

24、含義</b></p><p>  --prefix=指要安裝到那個目錄,不使用這個參數(shù)的戶就自動默認(rèn)將可執(zhí)行文件和庫都分別放到/usr/local/bin 和usr/local/lib 或者/usr/lib 或者/lib。頭文件就放到/usr/local/include或者/usr/include 等目錄。如果指定了目錄這些文件都會安裝到你得而當(dāng)前目錄下。</p><p>  

25、如果是64位的,庫都會放到lib64這個文件夾</p><p>  這些參數(shù)都可以自行指定,也可以使用默認(rèn)的或者直接指定一個—prefix=directory</p><p>  下面我們開始配置參數(shù)通過configure的默認(rèn)值來完成,</p><p>  上面的錯誤是由于我沒有安裝c編譯器造成的</p><p>  安裝好編譯器后我們來做

26、如下操作</p><p><b>  完成參數(shù)的配置后</b></p><p>  下面我們開始編譯程序</p><p>  Configure 產(chǎn)生的Makefile文件,常見的target</p><p>  all 編譯所有的程序和鏈接庫,產(chǎn)生Info,man等,all通常是configur

27、e 產(chǎn)生的Makefile中得一個target,也可以說是默認(rèn)值</p><p>  clean 就是清除上次編譯的記錄</p><p>  distclean 清除所有東西。包括Makefile 。執(zhí)行distclean后你得重新設(shè)置編譯參數(shù),再進(jìn)行編譯</p><p>  install 安裝所有的程序,鏈接

28、庫,執(zhí)行文件引入文件等</p><p>  uninstall 卸載文件</p><p>  makefile文件的格式</p><p>  TARGET:DEPENDENCE_TARGET</p><p><b>  ACTION…</b></p><p>  下面我們開始編譯n

29、tfs-3g</p><p>  如果想看它的編譯信息和錯誤信息可以將其重導(dǎo)向到指定的文件以方便檢查</p><p>  直接執(zhí)行make 就行</p><p><b>  成功完成編譯</b></p><p><b>  下面我們看是安裝</b></p><p>  在這個

30、安裝中剛開始我制定了—prefix=/usr/local/ntfs-3g在安裝時報錯,后來我講./configure直接運行,沒有指定prefix。是由于我制定了安裝過程中會覆蓋源文件導(dǎo)致的報錯。</p><p>  上面要是沒有出現(xiàn)錯誤信息就表明你已經(jīng)成功安裝了這個ntfs-3g</p><p>  安裝完成后就可以關(guān)在ntfs分區(qū)了</p><p>  #mou

31、nt –t ntfs-3g /dev/sdb1 /mnt/sdb1</p><p><b>  這樣就完成了</b></p><p><b>  下面我們卸載掉程序</b></p><p>  這樣就卸載了一個程序了</p><p>  要使用make unstall 必須源代碼存在才行否者不行。&

32、lt;/p><p>  上面我們簡單的完成了一個叫ntfs-3g的源代碼包得安裝。</p><p>  這只是一個簡單的范例,不是通用范例,每個程序都有自己的安裝方式,還是得看作者的</p><p>  喜好和使用習(xí)慣。不過大致的過程都是這樣</p><p>  安裝按成后我們?nèi)绻€有幫組文檔我就需要將幫組的路勁寫入到/etc/man.confi

33、g,如果值使用默認(rèn)的參數(shù),幫組文檔就會放到指定的目錄下如下</p><p>  如果是自定義安裝的話</p><p>  就需要講范例幫助加入到/etc/man.config 中格式如上面圖像顯示的格式</p><p>  在linux中我們?nèi)绾蝸砉芾韼爝B接了</p><p>  應(yīng)用軟件一般都會提供一些庫連接,以便給其他開發(fā)人員開發(fā)應(yīng)用軟件

34、使用或者作為軟件</p><p><b>  動態(tài)模塊加載</b></p><p>  靜態(tài)鏈接庫static-link library 是提供給i軟件編譯時靜態(tài)鏈接使用的。一般說來靜態(tài)鏈接庫</p><p>  的文件命名為libNAME.A</p><p>  動態(tài)鏈接庫則是程序在執(zhí)行期間,動態(tài)加載鏈接庫提供的功能,

35、習(xí)慣的命名凡是libNAME.so.VERSION</p><p>  REDHAT ENTERPRISE 通常鏈接庫存放的位置lib目錄如果是64位的話,則為lib和lib64一個</p><p>  是lib是支持32,lib64支持64位。</p><p>  通過file 查看鏈接庫的示范</p><p><b>  管理動

36、態(tài)連接器</b></p><p>  動態(tài)鏈接器主要是將動態(tài)鏈接庫加載到內(nèi)核當(dāng)中,提供給采用動態(tài)鏈接方式產(chǎn)生的執(zhí)行文件</p><p>  的呼叫使用。/etc/ld.so.conf是動態(tài)連接器的配置文件</p><p>  這個文件會指定了一個ld.so.conf.d的目錄用來存放自己自定義的內(nèi)容</p><p>  我們會看到

37、上面的這些內(nèi)容</p><p>  下面我們可以查看一下其中一個的內(nèi)容,我們以mytsql這個為例</p><p>  在配置文件當(dāng)中使用如何配置ld.so.conf,如下配置如果是自己自定義的話</p><p>  下面我們還是以ntfs-3g為例,我后來講ntfs-3g指定到了/usr/local/ntfs</p><p>  #./co

38、nfigrue –prefix=/usr/local/ntfs</p><p><b>  #make</b></p><p>  #make && make install</p><p>  現(xiàn)在我向正常調(diào)用某些庫時我必須指定他的路徑</p><p>  然后使其生效通過指定的ldconfig來完成。

39、</p><p>  或者我在ld.so.conf.d目錄下建立一個ntfs.conf</p><p>  然后執(zhí)行l(wèi)dconfig</p><p>  如果要刪除指定的動態(tài)鏈接庫的話就直接在指定的目錄刪除指定的文件就可以了然后執(zhí)行l(wèi)dconfig就完成了。</p><p>  下面我們介紹rpm管理軟件包</p><p&

40、gt;  傳統(tǒng)的unix系統(tǒng)管理軟件到方法很復(fù)雜,那怪有人說,要成為unix系統(tǒng)的管理者,就得具有開發(fā)軟件的能力才行。</p><p>  如果redhat 的系統(tǒng)管理者要管理系統(tǒng)上所有的軟件的話,并且通過傳統(tǒng)方法的話,那么使用紅帽的人就瘋了,對于初學(xué)者來說基本上就放棄了linux的學(xué)習(xí)了。為了減輕管理者在管理軟件上得不變,紅帽開發(fā)了rpm軟件包管理器。通過rpm 可以很方便的管理系統(tǒng)上得軟件。</p>

41、;<p><b>  Rpm的介紹</b></p><p>  首先rpm包得組成部分</p><p><b>  RPM 軟件包文件</b></p><p>  Rpm是一種特殊的文件,里面封裝了軟件的程序,配置文件,說明文件,看鏈接庫以及源代碼</p><p><b> 

42、 RPM 管理工具</b></p><p>  紅帽提供了一個叫做rpm 的管理工具以及其他的程序共工具。利用這些工具可以查詢,安裝,升級,刪除和更新軟件包</p><p><b>  網(wǎng)絡(luò)資源</b></p><p>  因特網(wǎng)上有很多提供rpm軟件包的服務(wù)器,我們可以通過這些服務(wù)器取得rpm包,也有部分網(wǎng)站提供搜索rpm軟件包得

43、功能,你可以利用這些網(wǎng)站搜索你需要的軟件包,紅帽的官方RHN站,讓管理者可以更新和遠(yuǎn)程管理REDHAT LINUX</p><p><b>  RPM數(shù)據(jù)庫</b></p><p>  Rpm數(shù)據(jù)庫會記錄安裝過的軟件信息。這些信息會保存在/var/lib/rpm目錄</p><p>  如果rpm 的資料庫不見了,那么我們也就查不到相關(guān)的rpm

44、包得信息了。所以注意保存</p><p>  Rpm包可以分為源代碼包和二進(jìn)制包兩種</p><p>  二進(jìn)制rpm包封裝著可以直接執(zhí)行的執(zhí)行文件,以及執(zhí)行程序相關(guān)的文件等。不過二進(jìn)制rpm的提供是與cpu有關(guān)的程序文件,只能安裝在你得計算機可以可以使用的版本</p><p><b>  源代碼rpm包</b></p><

45、p>  這種rpm封裝者的應(yīng)用軟件的源代碼,所以稱作源代碼軟件包。原代碼軟件包rpm主要是用來制作build其他種類的rpm軟件包文件,安裝源代碼rpm包文件后,軟件會安裝在/usr/src/RedHat/SOURCE中。除非你要自己編譯二進(jìn)制軟件包</p><p><b>  Rpm包得命名規(guī)則</b></p><p>  PACKAGE-VERSION-RE

46、LEASE.TYPE.rpm</p><p>  PACKAGE 這是軟件的名稱</p><p>  VERSION:軟件的版本</p><p>  RELEASE 軟件包釋放的號碼</p><p>  TYPE 這個字段標(biāo)示這個rpm軟件包得文件類型:常見的類型如下</p><p>  I386,i486,i586,

47、i686 這些都是針對interl80*86兼容cpu所編譯的binaryrpm包</p><p>  Ia32 ,ia64 這是針對interl ia32與ia64架構(gòu)編譯的binary rpm包</p><p>  Alpha 這是針對dec alpha 平臺編譯的</p><p>  Sparc 這是針對sunsparc的</p><p&g

48、t;  Src 就是源碼rpm包</p><p>  Noarch 標(biāo)示獨立的rpm軟件包</p><p>  下面我們來介紹一下rpm工具</p><p>  首我們來介紹一下相關(guān)rpm的選項說明</p><p><b>  1、安裝語法:</b></p><p>  #rpm –i [選項]

49、file.rpm file2.rpm</p><p>  -h 安裝時輸出hash記號(“#”),顯示安裝進(jìn)度</p><p>  --test 指對安裝進(jìn)行測試,不安裝</p><p>  --percent 以百分比的形式來輸出安裝得進(jìn)度</p><p>  --excludedocs 不安裝軟件包中得文件文件</p>&l

50、t;p>  --includedocs 安裝文檔</p><p>  --replacepkgs 強制重新安裝的軟件包</p><p>  --replacefiles 替換屬于其他軟件包的文件</p><p>  --force 忽略軟件包以及文件沖突強制安裝</p><p>  --noscript 不運行安裝和后腳本安裝</

51、p><p>  --ignorearch 不校驗軟件包的結(jié)構(gòu)</p><p>  --ignoreos 不檢查阮家寶運行的操作系統(tǒng)</p><p>  --nodeps 不檢查依賴性</p><p>  --ftpproxy <host> 用host作為代理</p><p>  --ftport <por

52、t> 指定ftp端口</p><p><b>  -v 顯示附加信息</b></p><p><b>  -vv顯示調(diào)試信息</b></p><p>  --root <path> 讓rpm包執(zhí)行路徑作為根目錄,這樣原裝和后安裝程序都會安裝在這個目錄下。</p><p>  --d

53、bpath <path>設(shè)定rpm資料庫的所在路徑</p><p><b>  2、刪除</b></p><p>  #rpm –e [選項] pkg1 pkg2</p><p>  --test 只執(zhí)行刪除的測試</p><p>  --noscript 不運行預(yù)安裝和后安裝腳本程序</p>

54、<p>  --nodeps 不檢查依賴性</p><p>  -vv 顯示調(diào)試信息</p><p><b>  3|升級</b></p><p>  #rpm –U or(--upgrade) [選項] file.rpm file2.rpm</p><p><b>  -h輸出hash號</b

55、></p><p>  --oldpackage 允許升級到一個老版本</p><p>  --test 只進(jìn)行升級測試</p><p>  -F 更新軟件包,如果軟件包新就更新到新版本,如果一樣就不安裝</p><p><b>  -v顯示附加信息</b></p><p><b>

56、;  查詢</b></p><p>  #rpm –q or(query) </p><p>  -p查詢軟件包的文件</p><p>  -f 查詢某個文件所屬的軟件包</p><p>  -a 查詢所有安裝的軟件包</p><p>  -g 查詢屬于組的軟件包</p><p> 

57、 --whatrequires查詢所有需要x功能的軟件包</p><p><b>  -i顯示概要信息</b></p><p>  -l 顯示軟件包中得文件列表</p><p>  -c顯示配置文件的列表</p><p><b>  -d顯示文檔列表</b></p><p>

58、<b>  -v顯示附加參數(shù)</b></p><p><b>  校驗已安裝軟件包</b></p><p>  #rpm –V or(query)</p><p>  -p 查詢驗證指定的軟件包</p><p>  -f 校驗file所屬的軟件包</p><p>  -a 校

59、驗所有軟件包</p><p>  -g校驗所屬組的軟件包</p><p><b>  -v顯示附加信息</b></p><p><b>  校驗軟件包的文件</b></p><p>  #rpm –K or(--checksig )[選項] file.rpm file2.rpm</p>

60、<p>  CHECKSIG 檢查簽名認(rèn)證是否正確</p><p>  --nopgp不校驗pgp簽名</p><p><b>  其他的rpm選項</b></p><p>  --rebuild重建rpm資料庫</p><p>  --initdb 創(chuàng)建一個新的rpm資料庫</p><

61、p>  --quiet盡量減少輸出</p><p>  --version 顯示當(dāng)前rpm的版本</p><p><b>  下面就是范例:</b></p><p>  1、我們這些安裝都是以來安裝zsh這個包</p><p>  2、測試不安裝軟件包</p><p>  3、強制重新安裝軟

62、件包</p><p>  在此執(zhí)行就提示軟件包已經(jīng)安裝</p><p>  4、強制安裝軟件包忽略文件的沖突</p><p><b>  指定路徑安裝軟件包</b></p><p>  由于指定路徑就直接報錯找不到庫文件,所以最好默認(rèn)安裝軟件包</p><p>  如果存在依賴該如何安裝了<

63、/p><p>  依賴于python-deltarm,下面我們來安裝python-deltarm</p><p><b>  查詢已安裝的軟件包</b></p><p><b>  直接帶q參數(shù)查詢</b></p><p>  查詢所有的軟件包找出zsh</p><p>  查

64、詢某個文件所屬的軟件包</p><p>  查詢zsh軟件包包含那些文件</p><p>  查看軟件包的配置文件</p><p><b>  顯示軟件的文檔表</b></p><p><b>  7、查看概要信息</b></p><p>  查詢軟件所需要的文件</p

65、><p><b>  查詢軟件的修改記錄</b></p><p>  查看某個軟件包的信息,沒安裝的軟件包信息</p><p>  更新軟件如果版本比較低就升級安裝</p><p>  如果升級版本相同將提示已經(jīng)安裝,可以使用強制升級安裝</p><p>  刷新軟件包,只要版本相同就不更新,即使強制

66、也不更新</p><p><b>  校驗軟件包</b></p><p>  校驗軟件包,如果沒變化不顯示任何信息</p><p>  2、如果我們直接touch一下zsh,修改其時間</p><p><b>  卸載軟件包</b></p><p><b>  直接

67、卸載軟件包</b></p><p>  如果我們卸載軟件包由依賴性該如何完成了。以卸載deltarpm為例</p><p>  有依賴來那個軟件包就先卸載那個軟件包</p><p>  src.rpm包得安裝</p><p>  方法一:直接安裝軟件包,以ksh.src.rpm為例</p><p>  在過

68、去RHEL5以及之前的版本會在/usr/src/redhat下SOURCE 和SPECS這兩個目錄</p><p>  現(xiàn)在rhel6是找不到這個目錄的</p><p>  默認(rèn)情況下會在/root/下生成一個rpmbuild的目錄這個下面就有SOURCE 和SPECS著兩個目錄</p><p>  安裝軟件包后就會到這兩個目錄中去</p><p

69、>  [root@rhelserver opt]# rpm -ivh bind-9.7.0-1.el6.src.rpm warning: bind-9.7.0-1.el6.src.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY1:bind ########################################### [100%]</p>

70、;<p>  安裝完成后到指定的目錄</p><p>  [root@rhelserver src]# cd /root/rpmbuild/[root@rhelserver rpmbuild]# lsSOURCES SPECS[root@rhelserver rpmbuild]# cd SOURCES/[root@rhelserver SOURCES]# lsbind-9.3.1rc1-s

71、db_tools-Makefile.in bind-96-libtool2.patchbind-9.3.2b1-fix_sdb_ldap.patch bind-96-old-api.patchbind-9.3.2b2-sdbsrc.patch bind-9.7.0.tar.gz</p><p>  看到這個目錄下的文件了吧下面的安裝就和之前的一樣了</p><p>  下面就將其打包成

72、為rpm包,前提你首先要安裝rpm-build工具</p><p><b>  #cd SPECS</b></p><p>  #rpmbuild -bb bind.spec</p><p>  warning: Could not canonicalize hostname: rhelserver.example.comWrote: /ro

73、ot/rpmbuild/RPMS/x86_64/bind-9.7.0-1.el6.x86_64.rpmWrote: /root/rpmbuild/RPMS/x86_64/bind-sdb-9.7.0-1.el6.x86_64.rpmWrote: /root/rpmbuild/RPMS/x86_64/bind-libs-9.7.0-1.el6.x86_64.rpmWrote: /root/rpmbuild/RPMS/x86_64/b

74、ind-utils-9.7.0-1.el6.x86_64.rpmWrote: /root/rpmbuild/RPMS/x86_64/bind-devel-9.7.0-1.el6.x86_64.rpmWrote: /root/rpmbuild/RPMS/x86_64/bind-chroot-9.7.0-1.el6.x86_64.rpmExecuting(%clean): /bin/sh -e /var/</p><

75、;p>  完成后會在RPMS下生成需要的指定的rpm包了</p><p>  [root@rhelserver RPMS]# cd x86_64/[root@rhelserver x86_64]# lsbind-9.7.0-1.el6.x86_64.rpm bind-libs-9.7.0-1.el6.x86_64.rpmbind-chroot-9.7.0-1.el6.x86_64.rpm bind-s

76、db-9.7.0-1.el6.x86_64.rpmbind-devel-9.7.0-1.el6.x86_64.rpm bind-utils-9.7.0-1.el6.x86_64.rpm[root@rhelserver x86_64]# </p><p>  成功完了編譯了,后面的安裝就自行解決</p><p>  下面介紹yum的安裝</p><p>  如果你

77、沒由登陸rhn那么你就不能使用yum源,那么你只有自己建立一個yum源,可以使本地或者網(wǎng)絡(luò)源</p><p><b>  yum的特點</b></p><p>  1、自動解決包的依賴性,能夠方便安裝,刪除,更新軟件包</p><p>  2、便于管理大量系統(tǒng)的更新問題</p><p>  3、可以同時配置多個yum源&

78、lt;/p><p><b>  4、簡潔的配置文件</b></p><p>  5、保持與rpm數(shù)據(jù)的一直性</p><p>  6、有一個比較詳細(xì)的log</p><p><b>  7、使用方便</b></p><p>  8、yum是rhel/centos/fedora系統(tǒng)

79、自帶的</p><p>  建立yum源的步驟如下:</p><p>  將所有的rpm文件放到同一個目錄下</p><p>  在該目錄建立yum下載數(shù)據(jù)源</p><p>  通過ftp或者h(yuǎn)ttp分享出去就行了</p><p>  這樣就建立好了一個yum源了</p><p>  下面我們

80、首先來建立一個本地院適合于本地安裝</p><p>  在做源之前安裝createrepo 這個軟件包,它依賴于deltram 和python-deltram兩個軟件包的安裝</p><p>  首先將源文件放到指定目錄下我們以/var/ftp/pub/localsource</p><p>  將cd 包得所有內(nèi)容拷貝到/var/ftp/pub/localsour

81、ce</p><p>  [root@rhelserver pub]# cp -ar /mnt/cdrom/Packages /var/ftp/pub/localsource/</p><p><b>  創(chuàng)建下載數(shù)據(jù)源</b></p><p><b>  完成創(chuàng)建</b></p><p>  建立

82、一yum下載源的文件</p><p>  #vim local.repo</p><p>  [Packages]</p><p>  name=Packages</p><p>  baseurl=file:///var/ftp/pub/localsource/</p><p><b>  enabled=

83、1</b></p><p>  gpgchecked=0</p><p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  清楚緩存中的頭和文件</p><p><b>  FTPyum安裝源</b></p>

84、<p>  首先安裝vsftpd軟件</p><p>  將文件拷貝到/var/ftp/pub/ftpsource下</p><p><b>  2、下載數(shù)據(jù)源</b></p><p><b>  3、創(chuàng)建分組信息</b></p><p>  建立yum下載源定義文件</p>

85、;<p>  [rhel-Packages]</p><p>  name=Packages</p><p>  baseurl= ftp://192.168.72.30/pub/ftpsource /Packages</p><p><b>  enabled=1</b></p><p>  gpgche

86、ck=0</p><p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  [rhel-Server]</p><p>  name=Server</p><p>  baseurl= ftp://192.168.72.30/pub/ftpsource

87、/Server</p><p><b>  enabled=1</b></p><p>  gpgcheck=0</p><p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  [rhel-LoadBalancer]</p&

88、gt;<p>  name=LoadBalancer</p><p>  baseurl= ftp://192.168.72.30/pub/ftpsource /LoadBalancer</p><p><b>  enabled=1</b></p><p>  gpgcheck=0</p><p>  g

89、pgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  [rhel-HighAvailability]</p><p>  name=HighAvailability</p><p>  baseurl=ftp://192.168.72.30/pub/ftpsource /HighAvai

90、lability</p><p><b>  enabled=1</b></p><p>  gpgcheck=0</p><p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  [rhel-ResilientStorage]&l

91、t;/p><p>  name=ResilientStorage</p><p>  baseurl=ftp://192.168.72.30/pub/ftpsource /ResilientStorage</p><p><b>  enabled=1</b></p><p>  gpgcheck=0</p>

92、<p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  [rhel-ScalableFileSystem]</p><p>  name=ScalableFileSystem</p><p>  baseurl=ftp://192.168.72.30/pub/ftp

93、source /ScalableFileSystem</p><p><b>  enabled=1</b></p><p>  gpgcheck=0</p><p>  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release</p><p>  啟動vsftp

94、d服務(wù)</p><p>  #yum clean all</p><p><b>  #yum list</b></p><p>  配置文件yum.conf的設(shè)置內(nèi)容</p><p>  [root@station20 pub]# vim /etc/yum.conf </p><p><b

95、>  [main]</b></p><p>  cachedir=/var/cache/yum/$basearch/$releasever</p><p>  keepcache=0 指定緩存目錄默認(rèn)為/var/cache/yum</p><p>  debuglevel=2 指定日志等級</p><p>  log

96、file=/var/log/yum.log 指定日志文件路徑</p><p>  exactarch=1 是否升級與已安裝的軟件包cpu體系結(jié)構(gòu)一致的包,默認(rèn)為1表示可以不升級</p><p>  obsoletes=1 是否升級過時的軟件包,默認(rèn)1表示可以升級。0表示不升級</p><p>  gpgcheck=1 為所有軟件倉庫的軟件包是否啟用或者

97、禁用,GPG簽名,默認(rèn)時簽名認(rèn)證1,0表示不認(rèn)證</p><p>  plugins=1 是否啟用插件</p><p>  installonly_limit=3 安裝內(nèi)核型軟件包的數(shù)量,默認(rèn)3</p><p>  為RHEL6配置EPELrepo</p><p>  為了獲得更高質(zhì)量的,高性能,高可靠性,有需要方便易用的軟件包的新功

98、能。那么Fedora project退出的EPEL正好合適,這是有FEDORA社區(qū)打造,為RHEL的衍生發(fā)行般centos,linux等提供高質(zhì)量的軟件包項目,安裝非常簡單</p><p>  [root@redhatlinux ~]# rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm&

99、lt;/p><p>  Retrieving http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm</p><p>  Preparing... ########################################### [100%]</p&

100、gt;<p>  package epel-release-6-5.noarch is already installed</p><p>  [root@redhatlinux ~]#</p><p>  [root@redhatlinux ~]# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/ep

101、el-release-6-5.noarch.rpm</p><p>  Retrieving http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm</p><p>  Preparing... ###############################

102、############ [100%]</p><p>  package epel-release-6-5.noarch is already installed</p><p>  [root@redhatlinux ~]#</p><p>  下面就是來學(xué)習(xí)yum的用法:</p><p>  #yum options command

103、args</p><p>  #yum常見的共享參數(shù)</p><p>  -y 表示yum需回答問題,一律為yes</p><p>  -c config_file 以config_file 取代默認(rèn)的/etc/yum.conf 作為配置文件</p><p>  -d debug_level 指定錯誤等級 必須是0-

104、10之間的整數(shù),值越大,產(chǎn)生的日志信息愈多</p><p>  --installroot=ROOT 指定安裝的根目錄</p><p>  --enablerepo=REPO 暫時啟動REPO這個下載源</p><p>  --disablerepo=REPO 暫時停用repo這個下載源</p><p>  --exclude=pa

105、ckages 排除Packages 軟件</p><p>  --noplugins 暫時停用所有插件</p><p><b>  yum常用指令</b></p><p>  #yum check-update 檢查可更新的所有軟件包</p><p>  #yum update 下載更新系統(tǒng)已安裝的所有軟件包&

106、lt;/p><p>  #yum upgrade 大規(guī)模的版本升級,與yum update 不同的是,連舊的淘汰軟件包也升級</p><p>  #yum install packages 安裝指定的軟件包</p><p>  #yum update packages 更新指定的軟件包</p><p>  #yum remove packages

107、 卸載指定的軟件包</p><p>  #yum groupinstall groupname 安裝指定的軟件包組</p><p>  #yum groupupdate groupname 更新指定的軟件包組</p><p>  #yum grouplist 查看系統(tǒng)中已安裝的和可用地包組</p><p>  #yum list 列出資源庫

108、所有可以安裝的或者更新的及已安裝更新的軟件包</p><p>  #yum list <regex> 列出資源庫與正則表達(dá)式匹配的可以安裝或者可更新以及安裝的rpm包</p><p>  #yum list available 列出資源庫中所有可以安裝的軟件包</p><p>  #yum list <regex> 列出資源庫中與正則表達(dá)式的

109、所有安裝或者更新的rpm包</p><p>  #yum list updates 列出資源庫中的所有可以更新的軟件包</p><p>  #yum list installed 列出已經(jīng)安裝資源庫中的軟件</p><p>  #yum list extras 列出已經(jīng)安裝的但是不包含在資源庫中的rpm包</p><p>  #yum lis

110、t recent 列出最近添加到資源庫的軟件包</p><p>  #yum search regex 搜索所有可用的軟件包的名稱等信息</p><p>  #yum provides reges 檢查軟件包中包含的文件及軟件提供的功能,查找與正則表達(dá)式符合的內(nèi)容</p><p>  #yum clean all 清除緩存中的rpm 包頭文件和包文件</p&g

111、t;<p>  #yum clean header 清除緩存中的rpm包頭文件</p><p>  #yum clean packages 清除緩存中的rpm包文件</p><p>  #yun deplist packages 顯示軟件包的依賴信息</p><p><b>  1、升級系統(tǒng)</b></p><

112、p><b>  2、安裝指定的軟件</b></p><p>  #yum install w3m </p><p>  3、升級指定的軟件包</p><p><b>  4、卸載指定的軟件</b></p><p>  5、檢查系統(tǒng)中已經(jīng)安裝的和可用的軟件的軟件組</p><

113、;p><b>  6、安裝指定的包組</b></p><p>  7、更新指定軟件包組中的軟件</p><p><b>  8、卸載指定的包組</b></p><p>  9、清除緩存中的rpm頭文件和軟件包</p><p>  10、搜索指定的軟件包</p><p>

114、  11、顯示指定軟件包的信息</p><p><b>  網(wǎng)速太慢造成的</b></p><p>  12、列出已安裝但不包含在資源庫中的軟件</p><p><b>  # </b></p><p>  這個是由于網(wǎng)速造成的</p><p><b>  總結(jié):&

115、lt;/b></p><p>  學(xué)習(xí)了軟件的管理的方法</p><p>  了解傳統(tǒng)軟件包的安裝方法</p><p>  了解動態(tài)和靜態(tài)鏈接的以及鏈接庫的使用</p><p>  學(xué)習(xí)了rpm管理軟件包的方法</p><p>  學(xué)習(xí)了yum軟件包的管理方法,以及yum源的制作</p><p

溫馨提示

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

評論

0/150

提交評論