




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、文檔模板01文檔副標題文檔標題文檔模板01Version 1.02015-03-01DEV-07-0018Copyright2015 ZTEsoft Integration Runtime Environment日期編寫/修改人版本記錄2015-03-01IREVer 1.0創(chuàng)建日期審閱人版本密級狀態(tài)意見2015-03-05IREVer 1.0內(nèi)部公開發(fā)布無審閱文檔控制頁面編寫/修改 RHEL6 軟件包的安裝與管理 飛翔學(xué)習(xí)目標:x了解linux執(zhí)行文件的種類學(xué)習(xí)傳統(tǒng)方法安裝、管理軟件包學(xué)習(xí)通過rpm來安裝、管理軟件包學(xué)習(xí)yum服務(wù)器的配置,安裝管理軟件包一、 首先我們來介紹linux下的可執(zhí)
2、行文件的種類在redhat enterprise linux中執(zhí)行命令,大部分室執(zhí)行文件。執(zhí)行文件可以分如下種類1、 程序(program)程序一種存儲cpu指令的機器碼的特殊文件,由于存儲在程序文件中得極其指令都是采用二進制編碼,直接交給cpu執(zhí)行。所以我們習(xí)慣陳可執(zhí)行文件為二進制文件。一般來說程序執(zhí)行的速度比較快,。但是最大缺點室程序文件無法在不同的cpu中執(zhí)行2、 鏈接庫(library)鏈接庫與程序類似,也是一個存儲機器碼的二進制文件;但鏈接庫與程序文件的不同之處在于,程序文件會存儲執(zhí)行進入點。所以linux系統(tǒng)會知道從哪里開始執(zhí)行文件的內(nèi)容;而連接庫則沒有存儲執(zhí)行進入點得信息,因而無
3、法直接啟動redhat linux中得鏈接庫3、 腳本(script)腳本就是以文本的格式存儲要cpu執(zhí)行的命令。支持腳本類型的程序語言都會提供一個編譯器(interpruter)程序。每次執(zhí)行一個腳本時,redhatlinux都會吧腳本中的命令交由編譯器,轉(zhuǎn)譯成cpu可以執(zhí)行的機器碼,然后才讓cpu去執(zhí)行這些機器碼。通常情況下腳本的好處就是平臺無關(guān)性,只要你得機器提供適當(dāng)?shù)木幾g器,就可以直接執(zhí)行腳本,缺點就是執(zhí)行速度遠遠,慢于程序文件。產(chǎn)生機機器命令的方法為了讓cpu可以順利的執(zhí)行高級語言開發(fā)出來的應(yīng)用軟件,必須把高級語言的轉(zhuǎn)譯成機器碼,這個動作成為編譯,而負責(zé)執(zhí)行編譯工作的程序就成為com
4、plier(編譯器)編譯的幾個步驟:1、 檢查成語代碼的正確性2、 把程序代碼轉(zhuǎn)換成為機器碼3、 程序代碼中如果使用其他鏈接庫的機器碼,則將其鏈接4、 產(chǎn)生操作系統(tǒng)的相關(guān)信息5、 存儲為可執(zhí)行文件。其中不管理員較為密切的可能是連接程序庫的這個動作鏈接:鏈接室指把存儲在鏈接庫中得機器碼存儲在程序中,這樣開發(fā)人員就不用重復(fù)編寫相同的程序代碼以加快程序的開發(fā)速度。鏈接分為兩種:動態(tài)鏈接和靜態(tài)鏈接靜態(tài)鏈接:在進行鏈接時,把執(zhí)行程序執(zhí)行期間需要用到的機器碼復(fù)制到可執(zhí)行文件中,這種鏈接方法稱為靜態(tài)鏈接“static link”.靜態(tài)鏈接而成的程序有如下幾個特性:1、產(chǎn)生的執(zhí)行文件體積龐大:使用靜態(tài)鏈接產(chǎn)生
5、的程序必須吧所有用到的機器碼復(fù)制一份出來,存儲在執(zhí)行文件中,這樣使程序文件的體積比較龐大。2、執(zhí)行時需要較多的空間:在程序執(zhí)行時加載程序文件需要更多的空間。3、可以獨立使用:靜態(tài)鏈接的程序已經(jīng)存儲了程序執(zhí)行期間所需的機器碼,不會因為某些鏈接庫不存在或者版本不符合而無法執(zhí)行。動態(tài)鏈接:在進行鏈接時,編譯器不會把鏈接庫的機器碼復(fù)制到程序文件中,而只是存儲執(zhí)行文件執(zhí)行時需要的鏈接庫,該鏈接庫的版本,以及函數(shù)的符號等信息。當(dāng)執(zhí)行這個程序時,便可以根據(jù)執(zhí)行文件中所記錄的鏈接信息,加載所需要的鏈接庫以及機器碼。這樣的鏈接方式就稱為dynamic link 動態(tài)鏈接。動態(tài)鏈接的特性:體積?。菏褂脛討B(tài)鏈接產(chǎn)生
6、的執(zhí)行文件,因為只需要存儲機器碼的信息,所以執(zhí)行文件的體積小。需要內(nèi)存空間少:由于動態(tài)鏈接執(zhí)行文件小,所以執(zhí)行這個程序需要的內(nèi)存空間就少無法獨立使用:執(zhí)行動態(tài)鏈接而成的程序時,會依賴所需要的鏈接庫。如果兩臺機器上得鏈接庫信息不一致,就會使執(zhí)行文件無法在另外一臺機器上執(zhí)行查尋執(zhí)行文件的鏈接方法如果想知道某個程序的鏈接方式,我們可以使用file來查看,file查詢到一個文件時,會顯示該程序的文件中得機器碼和鏈接方法等信息;如果是statically linked就是靜態(tài),如果顯示dynamic linked就是動態(tài)下面來看一個例子這個信息就是顯示的/bin/ls 采用elf格式,存儲者64位lsb
7、標準執(zhí)行文件采用動態(tài)鏈接庫并且已經(jīng)提出了(stripped)當(dāng)中的調(diào)試信息查詢鏈接庫ldd來完成Ldd的每條記錄的顯示格式library=>library_file(memory_address)注意ldd命令只能查詢采用動態(tài)鏈接而成的程序文件軟件的依賴性如果采用動態(tài)連接庫的方式制造出來的執(zhí)行文件,那么管理這些軟件時就要特別注意是否會有依賴性的問題。所謂依賴性,就是指軟件執(zhí)行時需要用到其他的組件,這個時候該軟件就與其他的組件有了依賴性了。我們還是以ldd /bin/grep為例這個程序需要linux-vdso.so.1 libpcre.so.0 動態(tài)鏈接庫。如果刪除動態(tài)庫就無法使用不管刪
8、除多少下面這個例子我講Libc.so.6重命名了,結(jié)果很多程序會出問題了傳統(tǒng)管理軟件的方法:在unix世界,不同的unix系統(tǒng)的system call可能不一樣,即使是相同的呼叫系統(tǒng),不同的unix之間的提供的鏈接庫可能不一樣,甚至鏈接庫一樣,不同平臺的機器碼不一樣。這樣就造成了應(yīng)用軟件的困擾。因為在不同的平臺,不同的鏈接庫的unix系統(tǒng),提供數(shù)百份版本的軟件。為了解決這個問題,傳統(tǒng)的unix軟件提供者,多半選擇將軟件源代碼提供給用戶。用戶取得源代碼后只需要在自己的機器上重新編譯一次,即可產(chǎn)生在該系統(tǒng)上得可執(zhí)行程序。這就解決了unix軟件提供者的麻煩。Redhat linux既然是兼容unix
9、同,那么也具備這種特性。不同的軟件的在安裝過城中步驟根據(jù)編寫者的愛好,可能不相同,但是通常的步驟如下:1、 獲取軟件2、 編譯前的工作準備3、 開始編譯4、 安裝和部署假如我們有一份原代碼我們以ntfs-3g源代碼為例編譯前的準備工作1、 詳細閱讀文件2、 準備編譯所需要的組件3、 設(shè)置編譯參數(shù)詳細閱讀READMEREADME 通常情況下提供軟件的基本信息。包括作者,軟件實現(xiàn)的功能,遇到問題向隨報告等INSTALL這個文件就是交你如何安裝這個軟件Change log Changes這個文件一般都是軟件版本的修改記錄。比如增加了那些功能,何時修正等等信息準備編譯所需要的組件某些軟件在編譯期間或者
10、執(zhí)行期間可能會依賴其他的軟件或者鏈接庫,如果有這樣的情況,那么你就得在開始前確認系統(tǒng)上是否存在這些軟件。大部分的install和readme都會提供說明設(shè)置編譯參數(shù):軟件編譯前也必須設(shè)置好編譯的參數(shù),以配置軟件的編譯環(huán)境,啟用那些功能?,F(xiàn)在大部分軟件都提供由autoconf /automake 產(chǎn)生的configure ,通過configure 這個shell腳本來可以很方便的獲得編譯參數(shù)執(zhí)行configure 時,可能需要提供額外的參數(shù),不同的軟件提供的configure需要的配置可能不一樣。如果想要知道這個軟件configure 參數(shù)的話,可以執(zhí)行./configure help來查看 下
11、面我們以ntfs-3g為例首先用我們學(xué)過的解壓縮命令tar 來完成解壓我們可以看到這個源代碼包里面有很多文件下面我們通過./configure help來獲取參數(shù)上面我只截取去了一部分參數(shù)。常見的參數(shù)含義-prefix=指要安裝到那個目錄,不使用這個參數(shù)的戶就自動默認將可執(zhí)行文件和庫都分別放到/usr/local/bin 和usr/local/lib 或者/usr/lib 或者/lib。頭文件就放到/usr/local/include或者/usr/include 等目錄。如果指定了目錄這些文件都會安裝到你得而當(dāng)前目錄下。如果是64位的,庫都會放到lib64這個文件夾這些參數(shù)都可以自行指定,也可
12、以使用默認的或者直接指定一個prefix=directory下面我們開始配置參數(shù)通過configure的默認值來完成,上面的錯誤是由于我沒有安裝c編譯器造成的安裝好編譯器后我們來做如下操作完成參數(shù)的配置后下面我們開始編譯程序Configure 產(chǎn)生的Makefile文件,常見的targetall 編譯所有的程序和鏈接庫,產(chǎn)生Info,man等,all通常是configure 產(chǎn)生的Makefile中得一個target,也可以說是默認值clean 就是清除上次編譯的記錄distclean 清除所有東西。包括Makefile 。執(zhí)行distclean后你得重新設(shè)置編譯參數(shù),再進行編譯install
13、 安裝所有的程序,鏈接庫,執(zhí)行文件引入文件等uninstall 卸載文件makefile文件的格式TARGET:DEPENDENCE_TARGETACTION下面我們開始編譯ntfs-3g如果想看它的編譯信息和錯誤信息可以將其重導(dǎo)向到指定的文件以方便檢查直接執(zhí)行make 就行成功完成編譯下面我們看是安裝在這個安裝中剛開始我制定了prefix=/usr/local/ntfs-3g在安裝時報錯,后來我講./configure直接運行,沒有指定prefix。是由于我制定了安裝過程中會覆蓋源文件導(dǎo)致的報錯。上面要是沒有出現(xiàn)錯誤信息就表明你已經(jīng)成功安裝了這個ntfs-3g安裝完成后就可以關(guān)在ntfs分區(qū)
14、了#mount t ntfs-3g /dev/sdb1 /mnt/sdb1這樣就完成了下面我們卸載掉程序這樣就卸載了一個程序了要使用make unstall 必須源代碼存在才行否者不行。上面我們簡單的完成了一個叫ntfs-3g的源代碼包得安裝。這只是一個簡單的范例,不是通用范例,每個程序都有自己的安裝方式,還是得看作者的喜好和使用習(xí)慣。不過大致的過程都是這樣安裝按成后我們?nèi)绻€有幫組文檔我就需要將幫組的路勁寫入到/etc/man.config,如果值使用默認的參數(shù),幫組文檔就會放到指定的目錄下如下如果是自定義安裝的話就需要講范例幫助加入到/etc/man.config 中格式如上面圖像顯示的格
15、式在linux中我們?nèi)绾蝸砉芾韼爝B接了應(yīng)用軟件一般都會提供一些庫連接,以便給其他開發(fā)人員開發(fā)應(yīng)用軟件使用或者作為軟件動態(tài)模塊加載靜態(tài)鏈接庫static-link library 是提供給軟件編譯時靜態(tài)鏈接使用的。一般說來靜態(tài)鏈接庫的文件命名為libNAME.A動態(tài)鏈接庫則是程序在執(zhí)行期間,動態(tài)加載鏈接庫提供的功能,習(xí)慣的命名凡是libNAME.so.VERSIONREDHAT ENTERPRISE 通常鏈接庫存放的位置lib目錄如果是64位的話,則為lib和lib64一個是lib是支持32,lib64支持64位。通過file 查看鏈接庫的示范管理動態(tài)連接器動態(tài)鏈接器主要是將動態(tài)鏈接庫加載到內(nèi)核
16、當(dāng)中,提供給采用動態(tài)鏈接方式產(chǎn)生的執(zhí)行文件的呼叫使用。/etc/ld.so.conf是動態(tài)連接器的配置文件這個文件會指定了一個ld.so.conf.d的目錄用來存放自己自定義的內(nèi)容我們會看到上面的這些內(nèi)容下面我們可以查看一下其中一個的內(nèi)容,我們以mytsql這個為例在配置文件當(dāng)中使用如何配置ld.so.conf,如下配置如果是自己自定義的話下面我們還是以ntfs-3g為例,我后來講ntfs-3g指定到了/usr/local/ntfs#./configrue prefix=/usr/local/ntfs#make#make && make install現(xiàn)在我向正常調(diào)用某些庫時我
17、必須指定他的路徑然后使其生效通過指定的ldconfig來完成?;蛘呶以趌d.so.conf.d目錄下建立一個ntfs.conf然后執(zhí)行l(wèi)dconfig如果要刪除指定的動態(tài)鏈接庫的話就直接在指定的目錄刪除指定的文件就可以了然后執(zhí)行l(wèi)dconfig就完成了。下面我們介紹rpm管理軟件包傳統(tǒng)的unix系統(tǒng)管理軟件到方法很復(fù)雜,那怪有人說,要成為unix系統(tǒng)的管理者,就得具有開發(fā)軟件的能力才行。如果redhat 的系統(tǒng)管理者要管理系統(tǒng)上所有的軟件的話,并且通過傳統(tǒng)方法的話,那么使用紅帽的人就瘋了,對于初學(xué)者來說基本上就放棄了linux的學(xué)習(xí)了。為了減輕管理者在管理軟件上得不變,紅帽開發(fā)了rpm軟件包管
18、理器。通過rpm 可以很方便的管理系統(tǒng)上得軟件。Rpm的介紹首先rpm包得組成部分RPM 軟件包文件Rpm是一種特殊的文件,里面封裝了軟件的程序,配置文件,說明文件,鏈接庫以及源代碼RPM 管理工具紅帽提供了一個叫做rpm 的管理工具以及其他的程序共工具。利用這些工具可以查詢,安裝,升級,刪除和更新軟件包網(wǎng)絡(luò)資源因特網(wǎng)上有很多提供rpm軟件包的服務(wù)器,我們可以通過這些服務(wù)器取得rpm包,也有部分網(wǎng)站提供搜索rpm軟件包得功能,你可以利用這些網(wǎng)站搜索你需要的軟件包,紅帽的官方RHN站,讓管理者可以更新和遠程管理REDHAT LINUXRPM數(shù)據(jù)庫Rpm數(shù)據(jù)庫會記錄安裝過的軟件信息。這些信息會保存
19、在/var/lib/rpm目錄如果rpm 的資料庫不見了,那么我們也就查不到相關(guān)的rpm包得信息了。所以注意保存Rpm包可以分為源代碼包和二進制包兩種二進制rpm包封裝著可以直接執(zhí)行的執(zhí)行文件,以及執(zhí)行程序相關(guān)的文件等。不過二進制rpm的提供是與cpu有關(guān)的程序文件,只能安裝在你得計算機可以可以使用的版本源代碼rpm包這種rpm封裝者的應(yīng)用軟件的源代碼,所以稱作源代碼軟件包。原代碼軟件包rpm主要是用來制作build其他種類的rpm軟件包文件,安裝源代碼rpm包文件后,軟件會安裝在/usr/src/RedHat/SOURCE中。除非你要自己編譯二進制軟件包Rpm包得命名規(guī)則PACKAGE-VE
20、RSION-RELEASE.TYPE.rpmPACKAGE 這是軟件的名稱VERSION:軟件的版本RELEASE 軟件包釋放的號碼TYPE 這個字段標示這個rpm軟件包得文件類型:常見的類型如下I386,i486,i586,i686 這些都是針對interl80*86兼容cpu所編譯的binaryrpm包Ia32 ,ia64 這是針對interl ia32與ia64架構(gòu)編譯的binary rpm包Alpha 這是針對dec alpha 平臺編譯的Sparc 這是針對sunsparc的Src 就是源碼rpm包Noarch 標示獨立的rpm軟件包下面我們來介紹一下rpm工具首我們來介紹一下相關(guān)r
21、pm的選項說明1、安裝語法:#rpm i 選項 file.rpm file2.rpm-h 安裝時輸出hash記號(“#”),顯示安裝進度-test 指對安裝進行測試,不安裝-percent 以百分比的形式來輸出安裝得進度-excludedocs 不安裝軟件包中得文件文件-includedocs 安裝文檔-replacepkgs 強制重新安裝的軟件包-replacefiles 替換屬于其他軟件包的文件-force 忽略軟件包以及文件沖突強制安裝-noscript 不運行安裝和后腳本安裝-ignorearch 不校驗軟件包的結(jié)構(gòu)-ignoreos 不檢查軟件運行的操作系統(tǒng)-nodeps 不檢查依賴
22、性-ftpproxy <host> 用host作為代理-ftport <port> 指定ftp端口-v 顯示附加信息-vv顯示調(diào)試信息-root <path> 讓rpm包執(zhí)行路徑作為根目錄,這樣原裝和后安裝程序都會安裝在這個目錄下。-dbpath <path>設(shè)定rpm資料庫的所在路徑2、刪除#rpm e 選項 pkg1 pkg2-test 只執(zhí)行刪除的測試-noscript 不運行預(yù)安裝和后安裝腳本程序-nodeps 不檢查依賴性-vv 顯示調(diào)試信息3|升級#rpm U or(-upgrade) 選項 file.rpm file2.rpm-h輸
23、出hash號-oldpackage 允許升級到一個老版本-test 只進行升級測試-F 更新軟件包,如果軟件包新就更新到新版本,如果一樣就不安裝-v顯示附加信息4、 查詢#rpm q or(query) -p查詢軟件包的文件-f 查詢某個文件所屬的軟件包-a 查詢所有安裝的軟件包-g 查詢屬于組的軟件包-whatrequires查詢所有需要x功能的軟件包-i顯示概要信息-l 顯示軟件包中得文件列表-c顯示配置文件的列表-d顯示文檔列表-v顯示附加參數(shù)5、 校驗已安裝軟件包#rpm V or(query)-p 查詢驗證指定的軟件包-f 校驗file所屬的軟件包-a 校驗所有軟件包-g校驗所屬組的
24、軟件包-v顯示附加信息6、 校驗軟件包的文件#rpm K or(-checksig )選項 file.rpm file2.rpmCHECKSIG 檢查簽名認證是否正確-nopgp不校驗pgp簽名其他的rpm選項-rebuild重建rpm資料庫-initdb 創(chuàng)建一個新的rpm資料庫-quiet盡量減少輸出-version 顯示當(dāng)前rpm的版本下面就是范例:1、我們這些安裝都是以來安裝zsh這個包2、測試不安裝軟件包3、強制重新安裝軟件包在此執(zhí)行就提示軟件包已經(jīng)安裝4、強制安裝軟件包忽略文件的沖突5、 指定路徑安裝軟件包由于指定路徑就直接報錯找不到庫文件,所以最好默認安裝軟件包6、 如果存在依賴
25、該如何安裝了依賴于python-deltarm,下面我們來安裝python-deltarm查詢已安裝的軟件包1、 直接帶q參數(shù)查詢2、 查詢所有的軟件包找出zsh3、 查詢某個文件所屬的軟件包4、 查詢zsh軟件包包含那些文件5、 查看軟件包的配置文件6、 顯示軟件的文檔表7、查看概要信息7、 查詢軟件所需要的文件8、 查詢軟件的修改記錄9、 查看某個軟件包的信息,沒安裝的軟件包信息更新軟件如果版本比較低就升級安裝1、 如果升級版本相同將提示已經(jīng)安裝,可以使用強制升級安裝2、 刷新軟件包,只要版本相同就不更新,即使強制也不更新校驗軟件包1、 校驗軟件包,如果沒變化不顯示任何信息2、如果我們直接
26、touch一下zsh,修改其時間卸載軟件包1、 直接卸載軟件包2、 如果我們卸載軟件包由依賴性該如何完成了。以卸載deltarpm為例有依賴來那個軟件包就先卸載那個軟件包src.rpm包得安裝方法一:直接安裝軟件包,以ksh.src.rpm為例在過去RHEL5以及之前的版本會在/usr/src/redhat下SOURCE 和SPECS這兩個目錄現(xiàn)在rhel6是找不到這個目錄的默認情況下會在/root/下生成一個rpmbuild的目錄這個下面就有SOURCE 和SPECS著兩個目錄安裝軟件包后就會到這兩個目錄中去rootrhelserver opt# rpm -ivh bind-9.7.0-1.
27、el6.src.rpm warning: bind-9.7.0-1.el6.src.rpm: Header V3 RSA/SHA256 Signature, key ID f21541eb: NOKEY1:bind # 100%安裝完成后到指定的目錄rootrhelserver src# cd /root/rpmbuild/rootrhelserver rpmbuild# lsSOURCES SPECSrootrhelserver rpmbuild# cd SOURCES/rootrhelserver SOURCES# lsbind-9.3.1rc1-sdb_tools-Makefile.in
28、 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看到這個目錄下的文件了吧下面的安裝就和之前的一樣了下面就將其打包成為rpm包,前提你首先要安裝rpm-build工具#cd SPECS#rpmbuild -bb bind.specwarning: Could not canonicalize hostname: Wrote: /root/rpmbuild/RPMS/x86_64/bind-9.7.0-1.el
29、6.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/bind-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/R
30、PMS/x86_64/bind-chroot-9.7.0-1.el6.x86_64.rpmExecuting(%clean): /bin/sh -e /var/tmp/rpm-tmp.JbocUf+ umask 022+ cd /root/rpmbuild/BUILD+ cd bind-9.7.0+ rm -rf /root/rpmbuild/BUILDROOT/bind-9.7.0-1.el6.x86_64+ :+ exit 0rootrhelserver SPECS# 完成后會在RPMS下生成需要的指定的rpm包了rootrhelserver RPMS# cd x86_64/rootrhe
31、lserver 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-sdb-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.rpmrootrhelserver x86_64# 成功完了編譯了,后面的安裝就自行解決二、 下面介紹yum的安裝如果你沒由登陸rhn那么你就不能使用yum源,那么你只有自己建立一個y
32、um源,可以使本地或者網(wǎng)絡(luò)源yum的特點1、自動解決包的依賴性,能夠方便安裝,刪除,更新軟件包2、便于管理大量系統(tǒng)的更新問題3、可以同時配置多個yum源4、簡潔的配置文件5、保持與rpm數(shù)據(jù)的一直性6、有一個比較詳細的log7、使用方便8、yum是rhel/centos/fedora系統(tǒng)自帶的建立yum源的步驟如下:1、 將所有的rpm文件放到同一個目錄下2、 在該目錄建立yum下載數(shù)據(jù)源3、 通過ftp或者http分享出去就行了4、 這樣就建立好了一個yum源了下面我們首先來建立一個本地院適合于本地安裝在做源之前安裝createrepo 這個軟件包,它依賴于deltram 和python-d
33、eltram兩個軟件包的安裝1、 首先將源文件放到指定目錄下我們以/var/ftp/pub/localsource將cd 包得所有內(nèi)容拷貝到/var/ftp/pub/localsourcerootrhelserver pub# cp -ar /mnt/cdrom/Packages /var/ftp/pub/localsBource/2、 創(chuàng)建下載數(shù)據(jù)源完成創(chuàng)建3、 建立一yum下載源的文件#vim local.repoPackagesname=Packagesbaseurl=file:/var/ftp/pub/localsource/enabled=1gpgchecked=0gpgkey=fi
34、le:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release清楚緩存中的頭和文件FTPyum安裝源首先安裝vsftpd軟件1、 將文件拷貝到/var/ftp/pub/ftpsource下2、下載數(shù)據(jù)源3、創(chuàng)建分組信息建立yum下載源定義文件rhel-Packagesname=Packagesbaseurl= 0/pub/ftpsource /Packagesenabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaserhel-Serverna
35、me=Serverbaseurl= 0/pub/ftpsource /Serverenabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaserhel-LoadBalancername=LoadBalancerbaseurl= 0/pub/ftpsource /LoadBalancerenabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaserhel-
36、HighAvailabilityname=HighAvailabilitybaseurl=0/pub/ftpsource /HighAvailabilityenabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaserhel-ResilientStoragename=ResilientStoragebaseurl=0/pub/ftpsource /ResilientStorageenabled=1gpgcheck=0gpgkey=file:
37、/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaserhel-ScalableFileSystemname=ScalableFileSystembaseurl=0/pub/ftpsource /ScalableFileSystemenabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release啟動vsftpd服務(wù)#yum clean all#yum list配置文件yum.conf的設(shè)置內(nèi)容rootstation20 pub# vim /etc
38、/yum.conf maincachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0 指定緩存目錄默認為/var/cache/yumdebuglevel=2 指定日志等級logfile=/var/log/yum.log 指定日志文件路徑exactarch=1 是否升級與已安裝的軟件包cpu體系結(jié)構(gòu)一致的包,默認為1表示可以不升級obsoletes=1 是否升級過時的軟件包,默認1表示可以升級。0表示不升級gpgcheck=1 為所有軟件倉庫的軟件包是否啟用或者禁用,GPG簽名,默認時簽名認證1,0表示不認證plugins=1 是否啟用插件
39、installonly_limit=3 安裝內(nèi)核型軟件包的數(shù)量,默認3為RHEL6配置EPELrepo為了獲得更高質(zhì)量的,高性能,高可靠性,有需要方便易用的軟件包的新功能。那么Fedora project退出的EPEL正好合適,這是有FEDORA社區(qū)打造,為RHEL的衍生發(fā)行般centos,linux等提供高質(zhì)量的軟件包項目,安裝非常簡單rootredhatlinux # rpm -ivh Retrieving Preparing. # 100%package epel-release-6-5.noarch is already installedrootredhatlinux #rootredhatlinux # rpm -Uvh Retrieving Preparing. # 100%package epel-release-6-5.noarch is already installedrootredhatlinux #下面就是來學(xué)習(xí)yum的用法:#yum options command args#yum常見的共享參數(shù)-y 表示yum需回答問題,一律為yes-c config_file 以config_file 取代默
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司登山自駕游活動方案
- 公司短期旅游活動方案
- 2025年信息技術(shù)與產(chǎn)業(yè)發(fā)展考試試卷及答案
- 2025年心理醫(yī)生職業(yè)倫理考試試卷及答案
- 2025年生命科學(xué)基礎(chǔ)知識考試試卷及答案
- 2025年健康管理與慢性病防控考試試題及答案
- 2025年科技創(chuàng)新與知識產(chǎn)權(quán)管理考試試題及答案
- 2025年家庭教師資格考試試卷及答案
- 2025年護理學(xué)課程公共衛(wèi)生防疫基礎(chǔ)知識考試試卷及答案
- 2025年非營利組織發(fā)展助理考試試題及答案
- NBA-PPT簡介(文字圖片技巧)
- 一例壓力性損傷的個案護理
- 初高中生物銜接課件
- 高壓電動機預(yù)防性試驗課件
- 2022-2023學(xué)年北京市西城區(qū)部編版五年級下冊期末考試語文試卷
- 副舟骨損傷查房
- 女性領(lǐng)導(dǎo)力智慧樹知到課后章節(jié)答案2023年下山東女子學(xué)院
- 沖壓成型精密五金機構(gòu)件生產(chǎn)QC工程圖
- 工程量確認單范本
- 抖音直播運營團隊薪酬績效考核管理方案(直播帶貨團隊薪酬績效提成方案)
- 2022-2023學(xué)年遼寧省大連市沙河口區(qū)數(shù)學(xué)五下期末復(fù)習(xí)檢測模擬試題含答案
評論
0/150
提交評論