Linux軟件安裝之RPM的安裝技巧_第1頁(yè)
Linux軟件安裝之RPM的安裝技巧_第2頁(yè)
Linux軟件安裝之RPM的安裝技巧_第3頁(yè)
Linux軟件安裝之RPM的安裝技巧_第4頁(yè)
Linux軟件安裝之RPM的安裝技巧_第5頁(yè)
已閱讀5頁(yè),還剩4頁(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)介

1、 【IT168 服務(wù)器學(xué)院】今天一個(gè)網(wǎng)友問(wèn)了一個(gè)問(wèn)題,沒(méi)有想到,自己忘記知識(shí)的能力倒很強(qiáng).把一些常用的放在這里,大家需要也可以拷貝過(guò)去,基礎(chǔ)的東西還是不要丟,唉.三天不練手生啊 1.如何安裝rpm 軟件包 rmp軟件包的安裝可以使用程序rpm來(lái)完成。執(zhí)行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安裝的rpm包的文件名,一般置于當(dāng)前目錄下。 安裝過(guò)程中可能出現(xiàn)下面的警告或者提示: . conflict with . 可能是要安裝的包里有一些文件可能會(huì)覆蓋現(xiàn)有的文件,缺省時(shí)這樣的情況下是無(wú)法正確安裝的可以用rpm -force -i 強(qiáng)制

2、安裝即可 . is needed by . . is not installed . 此包需要的一些軟件你沒(méi)有安裝可以用rpm -nodeps -i 來(lái)忽略此信息 也就是說(shuō),rpm -i -force -nodeps 可以忽略所有依賴關(guān)系和文件問(wèn)題,什么包都能安裝上,但這種強(qiáng)制安裝的軟件包不能保證完全發(fā)揮功能 2.如何安裝.src.rpm軟件包 有些軟件包是以.src.rpm結(jié)尾的,這類(lèi)軟件包是包含了源代碼的rpm包,在安裝時(shí)需要進(jìn)行編譯。這類(lèi)軟件包有兩種安裝方法, 方法一: 1.執(zhí)行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS

3、 3. rpmbuild -bp your-package.specs 一個(gè)和你的軟件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一個(gè)和你的軟件包同名的目錄 5. ./configure 這一步和編譯普通的源碼軟件一樣,可以加上參數(shù) 6. make 7. make install 方法二: 1.執(zhí)行rpm -i you-package.src.rpm 2. cd /usr/src/redhat/SPECS 前兩步和方法一相同 3. rpmbuild -bb your-package.specs 一個(gè)和你的軟件包同名的specs文件

4、 ,這時(shí),在/usr/src/redhat/RPM/i386/ (根據(jù)具體包的不同,也可能是i686,noarch等等) ,在這個(gè)目錄下,有一個(gè)新的rpm包,這個(gè)是編譯好的二進(jìn)制文件。執(zhí)行rpm -i new-package.rpm即可安裝完成。 3.如何卸載rpm軟件包 使用命令 rpm -e 包名,包名可以包含版本號(hào)等信息,但是不可以有后綴.rpm ,比如卸載軟件包proftpd-1.2.8-1,可以使用下列格式: rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd 不可以是下列格式: rpm

5、 -e proftpd-1.2.8-1.i386.rpm rpm -e proftpd-1.2.8-1.i386 rpm -e proftpd-1.2 rpm -e proftpd-1 有時(shí)會(huì)出現(xiàn)一些錯(cuò)誤或者警告: . is needed by . 這說(shuō)明這個(gè)軟件被其他軟件需要,不能隨便卸載可以用rpm -e -nodeps強(qiáng)制卸載 4.如何不安裝但是獲取rpm包中的文件 使用工具rpm2cpio和cpio rpm2cpio xxx.rpm | cpio -vi rpm2cpio xxx.rpm | cpio -idmv rpm2cpio xxx.rpm | cpio -extract -ma

6、ke-directories 參數(shù)i和extract相同,表示提取文件。v表示指示執(zhí)行進(jìn)程 ,d和make-directory相同,表示根據(jù)包中文件原來(lái)的路徑建立目錄,m表示保持文件的更新時(shí)間。 5.如何查看與rpm包相關(guān)的文件和其他信息 下面所有的例子都假設(shè)使用軟件包mysql-3.23.54a-11 1.我的系統(tǒng)中安裝了那些rpm軟件包 rpm -qa 講列出所有安裝過(guò)的包 如果要查找所有安裝過(guò)的包含某個(gè)字符串sql的軟件包 rpm -qa |grep sql 2.如何獲得某個(gè)軟件包的文件全名 rpm -q mysql 可以獲得系統(tǒng)中安裝的mysql軟件包全名,從中可以獲得當(dāng)前軟件包的版本

7、等信息。這個(gè)例子中可以得到信息mysql-3.23.54a-11 3.一個(gè)rpm包中的文件安裝到那里去了? rpm -ql 包名 注意這里的是不包括.rpm后綴的軟件包的名稱(chēng) 也就是說(shuō)只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。 如果只是想知道可執(zhí)行程序放到那里去了,也可以用which,比如which mysql 4.一個(gè)rpm包中包含那些文件 一個(gè)沒(méi)有安裝過(guò)的軟件包,使用rpm -qlp *.rpm 一個(gè)已經(jīng)安裝過(guò)的軟件包,還可以使用rpm -ql *.rpm 5.如何獲取關(guān)于一個(gè)軟件包的版本,用途等相關(guān)信息? 一個(gè)沒(méi)有安裝過(guò)的軟件

8、包,使用rpm -qip *.rpm 一個(gè)已經(jīng)安裝過(guò)的軟件包,還可以使用rpm -qi *.rpm 6.某個(gè)程序是哪個(gè)軟件包安裝的,或者哪個(gè)軟件包包含這個(gè)程序 rpm -qf which 程序名 返回軟件包的全名 rpm -qif which 程序名 返回軟件包的有關(guān)信息 rpm -qlf which 程序名 返回軟件包的文件列表 注意,這里不是引號(hào),而是,就是鍵盤(pán)左上角的那個(gè)鍵。 也可以使用rpm -qilf,同時(shí)輸出軟件包信息和文件列表 7.某個(gè)文件是哪個(gè)軟件包安裝的,或者哪個(gè)軟件包包含這個(gè)文件 注意,前一個(gè)問(wèn)題中的方法,只適用與可執(zhí)行的程序,而下面的方法,不僅可以用于可執(zhí)行程序,也可以用

9、于普通的任何文件。前提是知道這個(gè)文件名。 首先獲得這個(gè)程序的完整路徑,可以用whereis或者which,然后使用rpm -qf例如: # whereis ftptop ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz # rpm -qf /usr/bin/ftptop proftpd-1.2.8-1 # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt proftpd-1.2.8-1 總結(jié): 獲得軟件包相關(guān)的信息用rpm -q,q表示查詢query,后面可以跟其他選項(xiàng),比如

10、i 表示info,獲得軟件包的信息; l 表示list,獲得文件列表; a 表示all,在所有包中執(zhí)行查詢; f 表示file,根據(jù)文件進(jìn)行相關(guān)的查詢; p 表示package,根據(jù)軟件包進(jìn)行查詢 需要的查詢條件可以使用grep產(chǎn)生,或者從 中的命令行產(chǎn)生 6.關(guān)于rpm軟件包的一些相關(guān)知識(shí) 1.什么是rpm rpm 即RedHat Package Management,是RedHat的發(fā)明之一 2.為什么需要rpm 在一個(gè)操作系統(tǒng)下,需要安裝實(shí)現(xiàn)各種功能的軟件包。這些軟件包一般都有各自的程序,但是同時(shí)也有錯(cuò)綜復(fù)雜的依賴關(guān)系。同時(shí)還需要解決軟件包的版本,以及安裝,配置,卸載的自動(dòng)化問(wèn)題。為了解

11、決這些問(wèn)題,RedHat針對(duì)自己的系統(tǒng)提出了一個(gè)較好的辦法來(lái)管理成千上百的軟件。這就是RPM管理系統(tǒng)。在系統(tǒng)中安裝了rpm管理系統(tǒng)以后,只要是符合rpm文件標(biāo)準(zhǔn)的打包的程序都可以方便的安裝,升級(jí),卸載 3.是不是所有的linux都使用rpm 任何系統(tǒng)都需要包管理系統(tǒng),因此很多l(xiāng)inux都使用rpm系統(tǒng)。但rpm系統(tǒng)是為RH專(zhuān)門(mén)但是TL,Mandrake等系統(tǒng)也都使用rpm。由于rpm的源程序可以在別的系統(tǒng)上進(jìn)行編譯,所以有可能在別的系統(tǒng)上也使用rpm 除了rpm,其他一些系統(tǒng)也有自己的軟件包管理程序,例如debian的deb包,slakware也都有自己的包管理系統(tǒng) 4.rpm包的文件名為什么

12、那么長(zhǎng) rpm包的文件名中包含了這個(gè)軟件包的版本信息,操作系統(tǒng)信息,硬件要求等等。比如mypackage-1.1-2TL.i386.rpm,其中mypackage是在系統(tǒng)中登記的軟件包的名字1.1是軟件的版本號(hào),2是發(fā)行號(hào),TL表示用于TL操作系統(tǒng),還可能是RH等。i386表示用于intel x86平臺(tái),還可能是sparc等。 5.軟件包文件名中的i386,i686是什么意思 rpm軟件包的文件名中,不僅包含了軟件名稱(chēng),版本信息,還包括了適用的硬件架構(gòu)的信息。i386指這個(gè)軟件包適用于intel 80386以上的x86架構(gòu)的計(jì)算機(jī)(AI32),i686指這個(gè)軟件包適用于intel 80686以

13、上(奔騰pro以上)的x86架構(gòu)的計(jì)算機(jī)(IA32) ,noarch指這個(gè)軟件包于硬件架構(gòu)無(wú)關(guān),可以通用。 i686軟件包的程序通常針對(duì)CPU進(jìn)行了優(yōu)化,所以,向后兼容比較用以,i386的包在x86機(jī)器上都可以用。向前一般不兼容。不過(guò)現(xiàn)在的計(jì)算機(jī),奔騰pro以下的CPU已經(jīng)很少用,通常配置的機(jī)器都可以使用i686軟件包 6.不同操作系統(tǒng)發(fā)行的rpm包可否混用? 對(duì)于已經(jīng)編譯成二進(jìn)制的rpm包,由于操作系統(tǒng)環(huán)境不同,一般不能混用。 對(duì)于以src.rpm發(fā)行的軟件包,由于需要安裝時(shí)進(jìn)行本地編譯,所以通??梢栽诓煌到y(tǒng)下安裝。 7.使用rpm時(shí)遇到的一些特殊問(wèn)題 Q 我用rpm -e *.rpm無(wú)法刪除rpm包 A 包名不要包括rpm, rpm -e 包名,可以包含版本號(hào)等信息,但是不可以有后綴.rpm Q 在MS的系統(tǒng)下有沒(méi)有讀RPM文件的工具? A wincmd with rpm plugins

溫馨提示

  • 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)論