1. 程式人生 > >12、rpm 命令詳解——未完成

12、rpm 命令詳解——未完成

rpm 執行安裝包
二進位制包(Binary)以及原始碼包(Source)兩種。二進位制包可以直接安裝在計算機中,而原始碼包將會由 RPM自動編譯、安裝。原始碼包經常以src.rpm作為字尾名。
常用命令組合:
-ivh:安裝顯示安裝進度–install–verbose–hash
-Uvh:升級軟體包–Update;
-qpl: 列出RPM軟體包內的檔案資訊[Query Package list];
-qpi:列出RPM軟體包的描述資訊[Query Package install package(s)];
-qf:查詢指定檔案屬於哪個RPM軟體包[Query File];
-Va:校驗所有的 RPM軟體包,查詢丟失的檔案[View Lost];
-e:刪除包
rpm -q samba //查詢程式是否安裝
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路徑安裝並顯示進度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安裝目錄
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm    //用來檢查依賴關係;並不是真正的安裝;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降級為舊版本
rpm -qa | grep httpd      #[搜尋指定rpm包是否安裝]–all搜尋httpd


rpm -ql httpd         #[搜尋rpm包]–list所有檔案安裝目錄
rpm -qpi Linux-1.4-6.i368.rpm #[檢視rpm包]–query–package–install package資訊
rpm -qpf Linux-1.4-6.i368.rpm #[檢視rpm包]–file
rpm -qpR file.rpm       #[檢視包]依賴關係
rpm2cpio file.rpm |cpio -div #[抽出檔案]
rpm -ivh file.rpm  #[安裝新的rpm]–install–verbose–hash
rpm -ivh [url]
http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm[/url]

rpm -Uvh file.rpm #[升級一個rpm]–upgrade
rpm -e file.rpm #[刪除一個rpm包]–erase
常用引數:
Install/Upgrade/Erase options:
-i, --install install package(s)
-v, --verbose provide more detailed output
-h, --hash print hash marks as package installs (good with -v)
-e, --erase erase (uninstall) package
-U, --upgrade=+ upgrade package(s)
--replacepkge 無論軟體包是否已被安裝,都強行安裝軟體包
–test 安裝測試,並不實際安裝
–nodeps 忽略軟體包的依賴關係強行安裝
–force 忽略軟體包及檔案的衝突
Query options (with -q or --query):
-a, --all query/verify all packages
-p, --package query/verify a package file
-l, --list list files in package
-d, --docfiles list all documentation files
-f, --file query/verify package(s) owning file
RPM原始碼包裝安裝
.src.rpm結尾的檔案,這些檔案是由軟體的原始碼包裝而成的,使用者要安裝這類RPM軟體包,必須使用命令:
rpm --recompile vim-4.6-4.src.rpm #這個命令會把原始碼解包並編譯、安裝它,如果使用者使用命令:
rpm --rebuild vim-4.6-4.src.rpm  #在安裝完成後,還會把編譯生成的可執行檔案重新包裝成i386.rpm 的RPM軟體包。

[[email protected] src]# rpm -ivh awstats-6.8-1.noarch.rpm
error: Failed dependencies:
perl(LWP::UserAgent) is needed by awstats-6.8-1.noarch
[[email protected] src]#

使用rpm 屬性相依套件的檔案

[[email protected] src]# rpm -qpR awstats-6.8-1.noarch.rpm
/bin/sh
/usr/bin/perl
config(awstats) = 6.8-1
perl >= 0:5.005
perl(LWP::UserAgent)
perl(POSIX)
perl(Socket)
perl(Time::Local)
perl(strict)
perl(vars)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1

另外:# rpm -ivh --aid samba*.rpm (一定要安裝rpmdb後才可以用這種方式安裝排除依賴關係)