rpm包管理
CentOS系統上程式rpm包管理:
安裝、升級、解除安裝、查詢、檢驗
通過rpm命令完成
安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE1...
-h: hash,以#來表示安裝進度;
-v, --verbose:顯示安裝過程中的詳細資訊;
-vv:
-vvv:
安裝時常用的組合: -ivh, -ivvh
--test:不執行真正的安裝過程,而僅報告依賴關係及衝突資訊等;
忽略依賴關係:
副作用:能安裝成功,但未必能成功執行;
--nodeps
覆蓋安裝:重新安裝並覆蓋原有的檔案
--replacepkgs
強制安裝:
--force
升級:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
-U: 升級或安裝
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-F:升級
組合:-Uvh, -Fvh
--test
--nodeps
--force
--oldpackage:降級到舊版本
移除已經安裝的程式包
rpm {-e|--erase} [--allmatches] [--nodeps] [--test] PACKAGE_NAME ...
簡單用法:rpm -e PACKAGE_NAME...
--nodeps:忽略依賴關係;
--test: 測試解除安裝;dry-run模式;
--allmatches: 如果一個程式包同時安裝多個版本,則此選項一次全部解除安裝之
rpm {-q|--query} [select-options] [query-options]
[select-options]:
1、查詢某包或某些包是否安裝:
rpm -q PACKAGE_NAME...
2、查詢已經安裝的所有包:
rpm -qa
3、查詢某檔案是由哪個包安裝生成:
rpm -qf /PATH/TO/SOMEFILE
4、查詢尚未安裝的包檔案的相關資訊
-p
[query-options]:
1、查詢某包的簡要說明資訊:
rpm -qi PACKAGE_NAME
2、查詢某包安裝生成的檔案列表:
rpm -ql PACKAGE_NAME
3、查詢某包安裝完成後生成的所有配置檔案:
rpm -qc PACKAGE_NAME
4、查詢某包安裝完成後生成的所有幫助檔案:
rpm -qd PACKAGE_NAME
5、檢視某包製作時隨版本變化的changelog資訊:
rpm -q --changelog PACKAGE_NAME
6、查詢某包提供的capabilities:
rpm -q --provides PACKAGE_NAME
7、查詢某包所依賴的capabilities:
rpm -q --requires PACKAGE_NAME
8、查詢某包安裝或解除安裝時執行指令碼:
rpm -q --scripts PACKAGE_NAME
[[email protected]~]#rpm-q--scriptsnginx preinstallscriptlet(using/bin/sh): #Addthe"nginx"user getentgroupnginx>/dev/null||groupadd-rnginx getentpasswdnginx>/dev/null||\ useradd-r-gnginx-s/sbin/nologin\ -d/var/cache/nginx-c"nginxuser"nginx exit0 postinstallscriptlet(using/bin/sh): #Registerthenginxservice if[$1-eq1];then /sbin/chkconfig--addnginx #printsiteinfo cat<<BANNER ---------------------------------------------------------------------- Thanksforusingnginx! Pleasefindtheofficialdocumentationfornginxhere: *http://nginx.org/en/docs/ Commercialsubscriptionsfornginxareavailableon: *http://nginx.com/products/ ---------------------------------------------------------------------- BANNER #Touchandsetpermisionsondefaultlogfilesoninstallation if[-d/var/log/nginx];then if[!-e/var/log/nginx/access.log];then touch/var/log/nginx/access.log /bin/chmod640/var/log/nginx/access.log /bin/chownnginx:adm/var/log/nginx/access.log fi if[!-e/var/log/nginx/error.log];then touch/var/log/nginx/error.log /bin/chmod640/var/log/nginx/error.log /bin/chownnginx:adm/var/log/nginx/error.log fi fi fi preuninstallscriptlet(using/bin/sh): if[$1-eq0];then /sbin/servicenginxstop>/dev/null2>&1 /sbin/chkconfig--delnginx fi postuninstallscriptlet(using/bin/sh): if[$1-ge1];then /sbin/servicenginxstatus>/dev/null2>&1||exit0 /sbin/servicenginxupgrade>/dev/null2>&1||echo\ "Binaryupgradefailed,pleasechecknginx'serror.log" fi [[email protected]~]#
轉載於:https://blog.51cto.com/987665432/1633102