佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > Linux操作系統(tǒng)之rpm五種基本操作分享

Linux操作系統(tǒng)之rpm五種基本操作分享

熱門標(biāo)簽:硅谷的囚徒呼叫中心 服務(wù)器配置 美團(tuán) 家政服務(wù)網(wǎng)絡(luò) 外呼系統(tǒng) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 電話機(jī)器人搭建 解決方案

Linux操作系統(tǒng)現(xiàn)在已經(jīng)成為流行的操作系統(tǒng),很多的人都開始學(xué)習(xí),Linux操作系統(tǒng)包括了很多的專業(yè)知識(shí),今天和大家講講Linux操作系統(tǒng)中的rpm基本操作。希望你學(xué)會(huì)本文中提到rpm的五種基本操作知識(shí),會(huì)對(duì)你有所幫助。rpm有五種基本的操作方式(不包括創(chuàng)建軟件包): 安裝, 卸載, 升級(jí), 查詢,和驗(yàn)證。 下面我們就來逐一的講解吧。

一、 安裝rpm包

rpm 軟件包通常具有類似foo-1.0-1.i386.rpm 的文件名。其中包括軟件包的名稱(foo),版本號(hào)(1.0),發(fā)行號(hào)(1),和 硬件平臺(tái)(i386)。安裝一個(gè)軟件包只需簡單的鍵入以下命令:


復(fù)制代碼
代碼如下:

$ rpm -ivh foo-1.0-1.i386.rpm
foo ####################################

rpm安裝完畢后會(huì)打印出軟件包的名字(并不一定與文件名相同),而后打印一連串的#號(hào)以表示安裝進(jìn)度。雖然軟件包的安裝被設(shè)計(jì)的盡量簡單易行,但還是可能會(huì)發(fā)生如下的錯(cuò)誤:

1、 軟件包已被安裝如果您的軟件包已被安裝, 將會(huì)出現(xiàn)以下信息:


復(fù)制代碼
代碼如下:

$ rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed

如果您仍舊要安裝該軟件包,可以在命令行上使用――replacepkgs 選項(xiàng),rpm將忽略該錯(cuò)誤信息強(qiáng)行安裝。

2、文件沖突如果您要安裝的軟件包中有一個(gè)文件已在安裝其它軟件包時(shí)安裝,會(huì)出現(xiàn)以下錯(cuò)誤信息:


復(fù)制代碼
代碼如下:

rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed

要想讓rpm 忽略該錯(cuò)誤信息, 請(qǐng)使用――replacefiles 命令行選項(xiàng)。

3、未解決依賴關(guān)系rpm軟件包可能依賴于其它軟件包,也就是說要求在安裝了特定的軟件包之后才能安裝該軟件包。如果在您安裝某個(gè)軟件包時(shí)存在這種未解決的依賴關(guān)系。會(huì)產(chǎn)生以下信息:$ rpm -ivh bar-1.0-1.i386.rpm failed dependencies: foo is needed by bar-1.0-1您必須安裝完所依賴的軟件包,才能解決這個(gè)問題。如果您想強(qiáng)制安裝(這是個(gè)壞主意,因?yàn)榘惭b后的軟件包未必能正常運(yùn)行),請(qǐng)使用――nodeps 命令行選項(xiàng)。

二、卸載rpm包

卸載軟件包就象安裝軟件包時(shí)一樣簡單:$ rpm -e foo注意這里使用軟件包的名字name ``foo'', 而不是軟件包文件的名字file ``foo-1.0-1.i386.rpm''.如果其它軟件包依賴于您要卸載的軟件包,卸載時(shí)則會(huì)產(chǎn)生錯(cuò)誤信息。如:$ rpm -e foo removing these packages would break dependencies:foo is needed by bar-1.0-1若讓rpm忽略這個(gè)錯(cuò)誤繼續(xù)卸載(這可不是一個(gè)好主意,因?yàn)橐蕾囉谠撥浖某绦蚩赡軣o法運(yùn)行),請(qǐng)使用――nodeps 命令行選項(xiàng)。

三、升級(jí)rpm包

升級(jí)軟件包和安裝軟件包十分類似:


復(fù)制代碼
代碼如下:

$ rpm -uvh foo-2.0-1.i386.rpm
foo ####################################

rpm將自動(dòng)卸載已安裝的老板本的foo 軟件包,您不會(huì)看到有關(guān)信息。事實(shí)上您可能總是使用 -u 來安裝軟件包,因?yàn)榧幢阋酝窗惭b過該軟件包,也能正常運(yùn)行。因?yàn)閞pm執(zhí)行智能化的軟件包升級(jí),自動(dòng)處理配置文件,您將會(huì)看到如下信息:saving /etc/foo.conf as /etc/foo.conf.rpmsave這表示您對(duì)配置文件的修改不一定能向上兼容。 因此,rpm 會(huì)先備份老文件再安裝新文件。您應(yīng)當(dāng)盡快解決這兩個(gè)配置文件的不同之處,以使系統(tǒng)能持續(xù)正常運(yùn)行。

因?yàn)樯?jí)實(shí)際包括軟件包的卸載與安裝兩個(gè)過程,所以您可能會(huì)碰到由這兩個(gè)操作引起的錯(cuò)誤。另一個(gè)你可能碰到的問題是:當(dāng)您使用舊版本的軟件包來升級(jí)新版本的軟件時(shí),rpm會(huì)產(chǎn)生以下錯(cuò)誤信息


復(fù)制代碼
代碼如下:

$ rpm -uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed

如果你確有需要將該軟件包“降級(jí),加入 ――oldpackage 命令選項(xiàng)就可以了。

四、 查詢已安裝的軟件包

使用命令rpm -q來查詢已安裝軟件包的數(shù)據(jù)庫。簡單的使用命令 rpm -q foo 會(huì)打印出foo軟件包 的包名,版本號(hào),和發(fā)行號(hào):
$ rpm -q foo
foo-2.0-1

除了指定軟件包名以外,您還可以使用以下選項(xiàng)來指明要查詢哪些軟件包的信息。這些選項(xiàng)被稱之為 “軟件包指定選項(xiàng)”。。 -a 查詢所有已安裝的軟件包。 -f 將查詢包含有文件。 的軟件包。 -p 查詢軟件包文件名為的軟件包還可以指定查詢軟件包時(shí)所顯示的信息。它們被稱作信息選擇選項(xiàng):。 -i 顯示軟件包信息,如描述, 發(fā)行號(hào), 尺寸, 構(gòu)建日期, 安裝日期, 平臺(tái), 以及其它一些各類信息。。 -l 顯示軟件包中的文件列表。。 -s 顯示軟件包中所有文件的狀態(tài)。。 -d 顯示被標(biāo)注為文檔的文件列表(man 手冊(cè), info 手冊(cè), readme's, etc)。。 -c 顯示被標(biāo)注為配置文件的文件列表。這些是您要在安裝完畢以后加以定制的文件(sendmail.cf, passwd, inittab, etc)。

對(duì)于那些要顯示文件列表的文件, 您可以增加-v 命令行選項(xiàng)以獲得如同 ls -l 格式的輸出。

五、 驗(yàn)證軟件包

驗(yàn)證軟件包是通過比較已安裝的文件和軟件包中的原始文件信息來進(jìn)行的。驗(yàn)證主要是比較文件的尺寸, MD5 校驗(yàn)碼,文件權(quán)限, 類型, 屬主和用戶組等。

rpm-V命令用來驗(yàn)證一個(gè)軟件包。您可以使用任何包選擇選項(xiàng)來查詢您要驗(yàn)證的軟件包。命令rpm -V foo 將用來驗(yàn)證foo軟件包。又如:。 驗(yàn)證包含特定文件的軟件包:rpm -Vf /bin/vi。 驗(yàn)證所有已安裝的軟件包:rpm -Va。根據(jù)一個(gè)RPM包來驗(yàn)證:rpm -Vp foo-1.0-1.i386.rpm如果您擔(dān)心你的RPM數(shù)據(jù)庫已被破壞,就可以使用這種方式。

如果一切均校驗(yàn)正常將不會(huì)產(chǎn)生任何輸出。如果有不一致的地方,就會(huì)顯示出來。輸出格式是8位長字符串, ``c'' 用以指配置文件, 接著是文件名。

8位字符的每一個(gè) 用以表示文件與RPM數(shù)據(jù)庫中一種屬性的比較結(jié)果 .``.'' (點(diǎn))表示測試通過。。下面的字符表示對(duì)RPM軟件包進(jìn)行的某種測試失敗:顯示字符 錯(cuò)誤源5 MD5 校驗(yàn)碼S 文件尺寸L 符號(hào)連接T 文件修改日期D 設(shè)備U 用戶G 用戶組M 模式e (包括權(quán)限和文件類型)

如果有錯(cuò)誤信息輸出, 您應(yīng)當(dāng)認(rèn)真加以考慮,是通過刪除還是重新安裝來解決出現(xiàn)的問題。

六、教你一招

RPM不僅是安裝/卸載程序的工具,它還是系統(tǒng)維護(hù)和診斷的一把好手??催^下面幾個(gè)例子你就會(huì)領(lǐng)教它的厲害了。。 如果您誤刪了一些文件,但您不能肯定到底都刪除了那些文件,怎么辦?您可以鍵入:rpm -Va rpm會(huì)在屏幕上顯示出文件刪除的情況。若你發(fā)現(xiàn)一些文件丟失了或已被損壞,您就可以重新安裝或先卸載再安裝該軟件包。。 如果您碰到了一個(gè)自己不認(rèn)識(shí)的文件,要想查處它屬于哪個(gè)軟件包,您可以輸入以下命令rpm -qf /usr/X11R6/bin/xjewel輸出的結(jié)果會(huì)是:xjewel-1.6-1。如果發(fā)生綜合以上兩個(gè)例子的情況,如文件/usr/bin/paste出了問題。您想知道哪個(gè)軟件包中包含該文件,您這時(shí)可以簡單的鍵入:rpm -Vf /usr/bin/paste。 如果您想了解正在使用的程序的詳細(xì)信息, 您可以鍵入如下命令來獲得軟件包中關(guān)于該程序的文檔信息:rpm -qdf /usr/bin/ispell輸出結(jié)果為:


復(fù)制代碼
代碼如下:

/usr/man/man4/ispell.4
/usr/man/man4/english.4
/usr/man/man1/unsq.1
/usr/man/man1/tryaffix.1
/usr/man/man1/sq.1
/usr/man/man1/munchlist.1
/usr/man/man1/ispell.1
/usr/man/man1/findaffix.1
/usr/man/man1/buildhash.1
/usr/info/ispell.info.gz
/usr/doc/ispell-3.1.18-1/README

您發(fā)現(xiàn)了一個(gè)新的koules RPM,但您不知道它是做什么的,您可以鍵入如下命令:rpm -qip koules-1.2-2.i386.rpm。 現(xiàn)在您想了解koules的 RPM包在系統(tǒng)里安裝了哪些文件,您可以鍵入:rpm -qlp koules-1.2-2.i386.rpm輸出結(jié)果為:


復(fù)制代碼
代碼如下:

/usr/man/man6/koules.6
/usr/lib/games/kouleslib/start.raw
/usr/lib/games/kouleslib/end.raw
/usr/lib/games/kouleslib/destroy2.raw
/usr/lib/games/kouleslib/destroy1.raw
/usr/lib/games/kouleslib/creator2.raw
/usr/lib/games/kouleslib/creator1.raw
/usr/lib/games/kouleslib/colize.raw
/usr/lib/games/kouleslib
/usr/games/koules

以上只是幾個(gè)常見例子。隨著您進(jìn)一步的使用RPM,您會(huì)發(fā)現(xiàn)它的各種功能選項(xiàng)組合可以實(shí)現(xiàn)更為強(qiáng)大的RPM包管理功能。通過本文希望你能牢牢掌握Linux操作系統(tǒng)rpm五種基本的操作方式。

標(biāo)簽:烏蘭察布 北海 南昌 韶關(guān) 撫州 臨沂 防城港 邢臺(tái)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux操作系統(tǒng)之rpm五種基本操作分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    武汉市| 盐边县| 南京市| 咸宁市| 永定县| 建宁县| 黄浦区| 朝阳市| 芷江| 克拉玛依市| 军事| 扎赉特旗| 靖远县| 桂东县| 麦盖提县| 佳木斯市| 老河口市| 阿克陶县| 遵化市| 麻城市| 屏山县| 平昌县| 夏邑县| 黑龙江省| 安溪县| 芜湖县| 鲁甸县| 平昌县| 公安县| 宜兴市| 邯郸县| 宣化县| 隆子县| 分宜县| 长宁县| 通榆县| 曲靖市| 林口县| 漳浦县| 肥东县| 桦南县|