RMP:rpm命令詳解、注意事項、rpm倉庫、安裝實例、srpm:源碼rpm
RPM Package Manager
由Red Hat公司提出,被眾多Linux發行版所采用;
建立統一的數據庫文件,詳細記錄軟件包安裝、卸載等變化信息,能夠自動分析軟件包依賴關系。
1、查詢已經安裝的RPM軟件信息
rpm -q[子選項] [軟件名]
1、q --query查詢
2、query-options查詢子選項
[-i,--info]:查看指定軟件的詳細信息
[-a,--all]:查看系統中已安裝的所有RPM軟件包列表
[-l,--list]:查詢指定軟件包所安裝的目錄、文件列表
[-c,--configfiles]:僅顯示指定軟件包安裝的配置文件
[-d,--docfiles]:僅顯示指定軟件包安裝的文檔文件
3、查詢文件/目錄屬於哪個RPM軟件:rpm -qf 文件或目錄名
2、查詢未安裝的RPM包文件
rpm -qp[子選項] RPM包文件
1、-qpi:通過.rpm包文件查看該軟件的詳細信息
2、-qpl:查看.rpm安裝包內所包含的目錄、文件列表
3、-qpc:查看.rpm安裝包內包含的配置文件列表
4、-qpd:查看.rpm安裝包內包含的文檔文件列表
3、安裝或升級RPM軟件
rpm [選項] RPM包文件...
1、-i:安裝一個新的rpm軟件包
2、-U:升級某個rpm軟件,若原本未裝,則進行安裝 {-U|--upgrade}
3、-F:更新某個rpm軟件,若原本未裝,則放棄安裝 {-F|--freshen}
4、卸載指定的RPM軟件
rpm -e 軟件名 #{-e|--erase}
5、輔助選項
1、--force:強制安裝所指定的rpm軟件包(不要輕易使用)
2、--nodeps:安裝、升級或卸載軟件時,忽略依賴關系(no dependencies)
但是:可能會導致軟件異常,有些軟件被強行替換安裝,並沒有真正解決依賴關系。
所以:無論是在安裝還是卸載,都是先處理被依賴的軟件包。
3、-h:以“#”號顯示安裝的進度
4、-v:顯示安裝過程中的詳細信息
1、使用完整名字或者短名字。
2、不要混血(redhat和centos之間安裝軟件)。
3、主要軟件的版本要匹配--已經安裝了高版本的軟件,再安裝低版本的軟件會報錯。
4、同時接很多軟件包,先后順序沒有很大關系,只要有就可以,系統會自己先安裝最需要的軟件包。
5、注意系統是32位的還是64位,不要在64位的系統上強制安裝某些32位的軟件,會導致系統出問題,而且安裝的軟件也不能使用。
1、位置:/var/lib/rpm目錄下(備份好)
2、RPM數據庫故障原因
1、非正常關機、誤刪除運行中的程序文件
2、RPM數據文件被誤寫或刪除
3、RPM的缺點
1、安裝的環境必須與打包時的環境需求一致或相當;
2、需要滿足套件的相依屬性需求;
3、卸載時需要特別小心,最底層的套件不可先移除,否則可能造成整個系統的問題!
1、檢查系統的版本
[root@localhost ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel \r on an \m
2、將對應系統的鏡像文件放入虛擬機的光驅里
3、掛載鏡像文件到/mnt
[root@localhost ~]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mounting read-only mount: /dev/sr0 already mounted or /mnt busy mount: according to mtab, /dev/sr0 is already mounted on /mnt [root@localhost ~]# ll /dev/cdrom lrwxrwxrwx. 1 root root 3 Oct 22 21:46 /dev/cdrom -> sr0
4、進入/mnt掛載點目錄
[root@localhost ~]# cd /mnt/Packages
5、進行安裝
1、安裝ftp
[root@localhost Packages]# rpm -ivh ftp-0.17-54.el6.x86_64.rpm
……
2、安裝lftp(推薦)
[root@localhost Packages]# rpm -ivh lftp-4.0.9-1.el6.x86_64.rpm
3、安裝tree
[root@localhost Packages]# rpm -ivh tree-1.5.3-2.el6.x86_64.rpm warning: tree-1.5.3-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:tree ########################################### [100%]
需要安裝的軟件包的名字一般都可能會比較長比較復雜,常用tab鍵補齊名字
rpm包的“老祖先”
源碼類型的source rpm包--->半成品--->制作成rpm包
1、簡介
1、SRPM 文件里面含有源代碼( Source Code )
2、SRPM 的文件名是以 ***.src.rpm 這種格式來命名
3、需要編譯生成RPM包后才能進行安裝
2、rpmbuild命令:安裝SRPM包
1、--rebuild 編譯—>打包—>未安裝
最后通常會發現一行字體:Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm
2、--recompile 編譯—>打包—>安裝
命令范例:rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm