linux rpm卸載參數(shù)
本站整理 發(fā)布時(shí)間:2009-03-10 15:38:48 作者:jb51.net
我要評(píng)論

rpm卸載參數(shù)--test : 卸載測(cè)試 --nodeps : 不檢查依賴(lài) --noscripts : 不執(zhí)行腳本程序 --notriggers : 不執(zhí)行觸發(fā)程序 --justdb : 僅修改數(shù)據(jù)庫(kù) --force 強(qiáng)制
RPM卸載軟件包,并不是簡(jiǎn)單地將原來(lái)安裝的文件逐個(gè)刪除,那樣做的話,可能會(huì)出現(xiàn)這樣或那樣的問(wèn)題。如,A
第12行: 刪除軟件包在數(shù)據(jù)庫(kù)中的信息。
2. --nodeps : 不檢查依賴(lài)
RPM管理軟件包,不僅管理包中的所有文件,還同時(shí)管理著軟件包之間的依賴(lài)關(guān)系。如A依賴(lài)于B運(yùn)行,若B不存在了,則A也就運(yùn)行不了了。RPM維護(hù)著這種關(guān)系,盡量避免破壞,以保證軟件的正常運(yùn)行。上例進(jìn)行mktemp包的卸載測(cè)試時(shí),RPM提示了中斷依賴(lài)關(guān)系的錯(cuò)誤。如果使用本選項(xiàng),不檢查依賴(lài),則卸載測(cè)試會(huì)順利完成。
# rpm -e --test --nodeps mktemp
#
需要說(shuō)明的是,除非用戶對(duì)軟件包有足夠了解,否則不要使用本選項(xiàng),最好讓RPM自動(dòng)維護(hù)軟件間的依賴(lài)關(guān)系,確保其能正常運(yùn)行。
3. --noscripts : 不執(zhí)行腳本程序
一個(gè)RPM軟件包中可包含五種腳本程序,即:安裝前腳本程序,安裝后腳本程序,卸載前腳本程序,卸載后腳本程序和校驗(yàn)?zāi)_本程序。卸載時(shí)使用--noscripts選項(xiàng),可禁止卸載前與卸載后腳本程序的執(zhí)行。
注意: 一般用戶不要使用此選項(xiàng)。此選項(xiàng)主要提供給軟件包制作者使用的。通過(guò)禁止執(zhí)行腳本程序,可以防止因安裝帶有BUG的軟件包而宕掉整個(gè)系統(tǒng)。當(dāng)軟件包去掉了BUG后,此選項(xiàng)就不必使用了。
4. --notriggers : 不執(zhí)行觸發(fā)程序
為了軟件包間的交互控制,RPM設(shè)計(jì)了三種觸發(fā)程序:安裝時(shí)觸發(fā)程序,卸載前觸發(fā)程序和卸載后觸發(fā)程序。為了防止因某一軟件包的卸載而引發(fā)卸載前與卸載后觸發(fā)程序的執(zhí)行,可以使用--notriggers選項(xiàng)。通過(guò)比較下一例子與第1個(gè)選項(xiàng)介紹中的例子的輸出,就可看到:選擇--notriggers選項(xiàng)后,卸載前與卸載后觸發(fā)程序都沒(méi)有被觸發(fā)執(zhí)行。
# rpm -e --test -vv --notriggers file | nl
1 D: opening database mode 0x0 in //var/lib/rpm/
2 D: getting list of mounted filesystems
3 D: will remove files test = 1
4 D:file: /usr/share/magic action: remove
5 D:file: /usr/man/man4/magic.4 action: remove
6 D:file: /usr/man/man1/file.1 action: remove
7 D:file: /usr/bin/file action: remove
8 D: removing database entry
5. --allmatches : 卸載所有匹配的包
RPM可將同一軟件的不同版本安裝到系統(tǒng)中,這樣如果想全部卸載掉,這時(shí)僅簡(jiǎn)單輸軟件名是不行的,將出現(xiàn)錯(cuò)誤,如:
# rpm -q foo
foo-6.0-1
foo-7.0-1
# rpm -e foo
error: "foo" specifies multiple packages
#
注: 本例中先查詢(xún)foo包,發(fā)現(xiàn)有6.0和7.0版兩個(gè)版本,接著卸載foo包,出現(xiàn)錯(cuò)誤: 有多個(gè)軟件包的名字均為foo。
怎樣才能全部卸載呢?
答案之一是一個(gè)一個(gè)卸載,卸載時(shí)輸入軟件包標(biāo)識(shí),因?yàn)檐浖嗤?所以最少再輸個(gè)版本號(hào),這種情況適用于軟件版本少的時(shí)候。
# rpm -e --allmatches foo
# rpm -q foo
package foo is not installed
#
卸載過(guò)程沒(méi)有出現(xiàn)錯(cuò)誤,之后再查詢(xún)foo包,RPM則提示軟件包未安裝。
6. --justdb : 僅修改數(shù)據(jù)庫(kù)
使用本選項(xiàng)后,RPM將只更新其數(shù)據(jù)庫(kù),文件系統(tǒng)不更新,意即如果軟件包安裝有文件的話,卸載后這些文件照樣存 # rpm -ql file
/usr/bin/file
/usr/man/man1/file.1
/usr/man/man4/magic.4
/usr/share/magic
# ls -l /usr/bin/file
-rwxr-xr-x 1 root root23948 Mar 23 1999 /usr/bin/file
# rpm -e --justdb file
# ls -l /usr/bin/file
-rwxr-xr-x 1 root root23948 Mar 23 1999 /usr/bin/file
#
注: 本例先用rpm -ql查詢(xún)得到file包的文件列表,再用ls命令列包中的一個(gè)文件/usr/bin/file,能列出信息,故文件存在。然后用rpm -e --justdb卸載file包但只更新數(shù)據(jù)庫(kù),而后再用ls命令列/usr/bin/file,可以看到該文件依然存在。
相關(guān)文章
- 制作rpm包,以rp-pppoe-3.10為列進(jìn)行制作過(guò)程,需要的朋友可以參考下2013-04-26
suse 10.3 安裝http apche2時(shí)遇到的rpm依賴(lài)問(wèn)題的解決方法
suse 10.3安裝http apche2時(shí)遇到的rpm依賴(lài)問(wèn)題的解決方法,有需要的朋友可以參考下2013-02-09- 在Linux操作系統(tǒng)中,有一個(gè)系統(tǒng)軟件包,它的功能類(lèi)似于Windows里面的添加/刪除程序,但是功能又比添加/刪除程序強(qiáng)很多,它就是Red Hat Package Manager(簡(jiǎn)稱(chēng)RPM)2012-06-04
通過(guò)rpm包安裝、配置及卸載mysql的詳細(xì)過(guò)程
通過(guò)rpm包安裝、配置及卸載mysql的詳細(xì)過(guò)程,需要的朋友可以參考下。2011-09-13- 一. tar 1.壓縮一組文件為tar.gz后綴。 # tar cvf backup.tar /etc #gzip -q backup.tar 或 # tar cvfz backup.tar.gz /etc/ 2.2009-03-10
rpm 命令|rpm 安裝|rpm 卸載|rpm 使用|rpm 刪除
在Linux操作系統(tǒng)中,有一個(gè)系統(tǒng)軟件包,它的功能類(lèi)似于Windows里面的“添加/刪除程序”,但是功能又比“添加/刪除程序”強(qiáng)很多,它就是Red Hat Package Manager2017-09-25- 1.如何安裝rpm軟件包 rmp軟件包的安裝可以使用程序rpm來(lái)完成。執(zhí)行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安裝的rpm包的文件名,一般置2008-09-08
- rpm好像不能指定安裝路徑!這里簡(jiǎn)單的說(shuō)下rpm包的一些安裝使用技巧2013-04-02
- 問(wèn)題描述:Linux下直接雙擊rpm安裝包,會(huì)出現(xiàn)錯(cuò)誤提示: Failed to install! You don't have the necessary privileges to install local packages 這是由于2008-09-08
linux系統(tǒng)下rpm包的安裝、刪除、效驗(yàn)、查詢(xún)
安裝軟件包 rpm-i 包全名 刪除 rpm -e name(不是包名) 參數(shù) -ivh 獲得一個(gè)詳細(xì)的安裝進(jìn)程 --nodeps 忽略依賴(lài)關(guān)系 --force 強(qiáng)制安裝 -U 包名:升級(jí)2008-09-08