Linux系統下軟體包管理命令之rpm
一、RPM的全名為“RedHat Package Manager”,是由RedHat公司開發的。Rpm是以一種資料庫記錄的方式將所需要的套件安裝到linux主機的一套管理程式RPM主要優點: ⑴、由於已經編譯完成並且打包,所以安裝方便 ⑵、由於套件資訊已經記錄在linux主機的資料庫中,方便查詢、升級、卸載。RPM資料庫在/var/lib/rpmRPM資料庫的建立可以利用rpm --rebuilddb命令。RPM包名格式: name-version-release.arch.rpm name-version-release-release.arch.rpm version:主要版本號.此版本號碼.發行版本號碼.平台.rpm 主要版本號改變:重大改進 次版本號碼改變:某個子功能發生重大變化 發行號:修正了部分bug,調整了一點功能二、Rpm命令的詳細用法⑴、RPM軟體安裝命令: rpm -i /PATH/TO/PACKAGE_FILE:安裝軟體包rpm -h :以#顯示安裝進度,每個#表示2%rpm -v :顯示安裝詳細資料rpm -vv :更詳細的資訊rpm -ivh :一般都是組合使用 rpm --nodeps:忽略依賴關係。 rpm --replacepkgs|repackage:重新安裝、替換原來安裝。 rpm -ivh --oldpackage:降級安裝。 rpm -ivh --force:強行安裝,可以實現重裝或降級rpm --test:僅測試有沒有依賴關係⑵、 rpm軟體查詢命令: rpm -q PACKAGE_NAME:查詢指定的包是否安裝 rpm -qa :查詢以安裝的所有包 rpm -qi PACKAGE_NAME:查詢指定包的說明資訊 rpm -ql PACKAGE_NAME:查詢指定包安裝後產生的檔案清單 rpm -qc PACKAGE_NAME:查詢指定包安裝的設定檔 rpm -qd PACKAGE_NAME:查詢指定包安裝的協助檔案 rpm -q --scripts PACKAGE_NAME:查詢指定包中包含的指令碼 rpm -qf /path/to/somefile:查詢指定的檔案時由那個rpm包安裝產生的 如果某個rpm包尚未安裝,我們需要查詢其說明資訊,安裝後會產生的檔案 rpm -qpi /PATH/TO/PACKAGE_FILE i:軟體說明資訊 rpm -qpl /PATH/TO/PACKAGE_FILE l:軟體安裝組建檔案列表 ⑶、rpm軟體升級命令: rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則升級;否則,則安裝 rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果裝有老版本的,則升級;否則,則退出 rpm -Uvh --oldpackage 低版本的包:降級 ⑷、rpm軟體卸載命令: 卸載的時候此包不能被其他軟體包依賴 rpm -e PACKAGE_NAME rpm --nodeps:忽略依賴,可能會造成其他依賴此包的軟體無法正常運行。 ⑸、rpm軟體校正命令: rpm -V PACKAGE_NAME:無輸出資訊就是正常。 Fh:在zsh安裝以後修改一下設定檔 ⑹、rpm重建資料庫: 資料庫位置:/var/lib/rpm rpm --rebuilddb:重建資料庫,一定會重建立立。 rpm --initdb:初始化資料庫,沒有才建立,有就不用建立。 ⑺、檢驗來源合法性及軟體完整性: 紅帽公開金鑰:ls /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:匯入秘鑰檔案 rpm -K /PATH/TO/PACKAGE_FILE dsa,gpg:驗證來源合法性,也即驗證簽名;可以使用--nosignature,略過此項 sha1,md5:驗證軟體包完整性;可以使用--nodigest,略過此項 rpm -K --nodigest /PACKAGE_NAME:只驗證簽名。 Fg:檢驗zsh檔案包的完整性