1、安裝和升級一個rpm 包;
[root@localhost beinan]#rpm -vih file.rpm
注:這個是用來安裝一個新的rpm 包;
[root@localhost beinan]#rpm -Uvh file.rpm
注:這是用來升級一個rpm 包;
如果有依賴關系的,請解決依賴關系,其實軟件包管理器能很好的解決依賴關系,請看前面的軟件包管理器的介紹;如果您在軟件包管理器中也找不到依賴關系的包;那只能通過編譯他所依賴的包來解決依賴關系,或者強制安裝;語法結構:
[root@localhost beinan]# rpm -ivh file.rpm --nodeps --force
[root@localhost beinan]# rpm -Uvh file.rpm --nodeps --force
更多的參數,請查看 man rpm 舉例應用:
[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]
[root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]
注: --replacepkgs 參數是以已安裝的軟件再安裝一次;有時沒有太大的必要;測試安裝參數 --test ,用來檢查依賴關系;並不是真正的安裝;
[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
由新版本降級為舊版本,要加 --oldpackage 參數;
[root@localhost RPMS]# rpm -qa gaim
gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# rpm -qa gaim
gaim-1.3.0-1.fc4
為軟件包指定安裝目錄:要加 -relocate 參數;下面的舉例是把gaim-1.3.0-1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim
為軟件包指定安裝目錄:要加 -relocate 參數;下面的舉例是把lynx-2.8.5-23.i386.rpm 指定安裝在 /opt/lynx 目錄中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]
我們安裝在指定目錄中的程序如何調用呢?一般執行程序,都放在安裝目錄的bin或者sbin目錄中;看下面的例子;如果有錯誤輸出,就做相應的鏈接,用 ln -s ;
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available.
[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org
RPM管理包管理器支持網絡安裝和查詢;
比如我們想通過 Fedora Core 4.0 的一個鏡像查詢、安裝軟件包;地址:
http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/ 舉例:命令格式:
rpm
參數 rpm包文件的http或者ftp的地址
# rpm -qpi http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
# rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
2、刪除一個rpm 包;
首先您要學會查詢rpm 包 ;請看前面的說明; [root@localhost beinan]#rpm -e 軟件包名 舉例:我想移除lynx 包,完整的操作應該是:
[root@localhost RPMS]# rpm -e lynx
如果有依賴關系,您也可以用--nodeps 忽略依賴的檢查來刪除。但盡可能不要這么做,最好用軟件包管理器 systerm-config-packages 來刪除或者添加軟件;
[root@localhost beinan]# rpm -e lynx --nodeps
RPM驗證與數字證書:
導入簽名:
[root@localhost RPMS]# rpm --import 簽名文件 舉例:
[root@localhost fc40]# rpm --import RPM-GPG-KEY
[root@localhost fc40]# rpm --import RPM-GPG-KEY-fedora
RPM驗證作用是使用/var/lib/rpm下面的數據庫內容來比較目前linux系統的環境下的所有軟件文件,也就是說當你有數據不小心丟失,或者不小心修改到某個軟件的文件內容,就用這個簡單的方法驗證一下原本的文件系統
#rpm –Va 列出目前系統上面所有可能被改動過的文件
從rpm軟件包抽取文件;
命令格式: rpm2cpio file.rpm |cpio -div
舉例:
[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div
抽取出來的文件就在當用操作目錄中的 usr 和etc中;其實這樣抽到文件不如指定安裝目錄來安裝軟件來的方便;也一樣可以抽出文件;為軟件包指定安裝目錄:要加 -relocate 參數;下面的舉例是把gaim-1.3.0-1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中;
[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim
這樣也能一目了然;gaim的所有文件都是安裝在 /opt/gaim 中,我們只是把gaim 目錄備份一下,然后卸掉gaim;這樣其實也算提取文件的一點用法;
RPM的配置文件;
RPM包管理,的配置文件是 rpmrc ,我們可以在自己的系統中找到;比如Fedora Core 4.0中的rpmrc 文件位於;
[root@localhost RPMS]# locate rpmrc
/usr/lib/rpm/rpmrc
/usr/lib/rpm/redhat/rpmrc
我們可以通過 rpm --showrc 查看;具體的還得我們自己來學習。呵。。。不要問我,我也不懂;只要您看了這篇文章,認為對您有用,您的水平就和我差不多;咱們水平是一樣的,所以我不能幫助您了;請理解。