軟件包管理

博文參考

http://www.178linux.com/39458
http://www.178linux.com/39131

RPM

安裝:

rpm {i|install} [install-option] PACKAGES_FILE…node

-h:hash,以#表示安裝進度,每一個#表示%2

 -v|–verbose:顯示詳細過程

 -vv:顯示更詳細的過程

 [install-option]

rpm –ivh –test:測試安裝;但不真正執行安裝;在dry run模式下進行

rpm –ivh –  –nodeps:忽略依賴關係

rpm –ivh –  –replacepkgs:從新安裝,替換原有安裝

rpm –ivh –  –nosignature:不檢查來源合法性

rpm –ivh –  –nodigest:不檢查包完整性

rpm –ivh –  –force:強行安裝,能夠實行重裝或降級

rpm –ivh –  –scripts:不執行程序包腳本片斷

查詢

rpm {q|–query} [select-options] [query-options]linux

rpm -q packages_name: 查詢指定的包是否已安裝

rpm -qa:查詢全部已安裝的包

rpm -qi packages_name:查詢指定包的說明信息

rpm -ql packages_name:查詢指定安裝包生成的文件

rpm –qc packages_name:查詢指定安裝包生成的配置文件

rpm –qd packages_name:查詢指定安裝包生成的幫助文件

rpm –qf files_name:查詢指定的文件是由那個包安裝生成的

rpm –qp files_name:查詢指定未安裝的程序包文件作查詢操做

–whatprovides capability:查詢指定的capability被那個包所提供

–whatrequires capability:查詢指定的capability被那個包所依賴

rpm –q –scripts packages_name:查看指定的包中包含的腳本

rpm –q –changelog packages_name:查詢rpm包改變日誌

rpm –R packages_name:查詢指定的程序包因此來的capabilty

rpm2cpio 包文件|cpio –itv 預覽包裏的文件

rpm2cpio 包文件|cpio –id 「*.conf」釋放包內文件

升級:

rpm {-U|–upgrade}[install-options] PACKAGES_FILE…:若是有老版本的,則升級,不然,則安裝

rpm {-F|–freshen}[install-options] PACKAGES_FILE…:若是有老版本的,則升級,不然,則退出安裝

–oldpackages:降級

注意:算法

不要對內核作升級操做;Linux支持多內核版本並存,所以,對直接安裝新版本內核數據庫

若是源程序包的配置文件安裝後曾被修改,升級時,新版本提供的同一個配置文件並不會覆蓋老版本的配置文件,而把新版的文件命令爲以.rpmnew的文件保留安全

卸載:

rpm {-e|–erase}  [–allmatches] [–nodeps][–test] PACKAGES_NAME

簡單用法:rpm –e packages_name

–nodeps:忽略依賴關係

–test:測試卸載;dry-run模式

–allmatches:若是一個程序包同時安裝多個版本時,則此選項一次所有卸載,但程序包配置文件安裝後曾被修改,卸載時,此文 件一般不會被刪除,而是被重名爲以.rpmsave的文件保留

校驗:

查詢包安裝以後生成的文件是否發生了改變ide

rpm {-V|–verify} [select-options][verify-options]

經常使用用法:rpm –V packages_name測試

當沒有輸出結果時表示軟件包完整ok,當有相應的結果輸出代表對應的內容有修改,具體以下:ui

S file Size differs  文件的容量大小發生改變

5(MD5 sum differs)MD5這一種指紋碼的內容發生改變

M Mode differs   文件的類型或文件的屬性發生改變

D Device major/minor number mismatch 設備的主、次版本號發生改變

L readLink(2) path mismatch  連接路徑發生改變

U User ownership differs   文件的屬主發生改變

G Group ownership differs  文件的屬組發生改變

T mTime differs        文件的建立時間發生改變

P capabilities differ  能力發生改變

注意:在安裝軟件以前最好對即將安裝的軟件進行合法性驗證,這樣能夠檢查出軟件是否來源合法、內容合法,在必定程度上避免一些由不安全因素致使不安全的事情發生加密

來源合法指的是由咱們信任的製做者提供;依賴於製做的親筆簽名,簽名是做者使用本身的私鑰加密程序包的特性碼日誌

內容合法是指包未被二次修改;完整性校驗成功,依賴於製做者提供的程序特徵碼

驗證方式:安裝用一樣的特徵碼提取算法提取程序包的特徵碼,並與原做者提供的相比較

導入密鑰

rpm –import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

驗證 rpm –K packages_name

重建數據庫

當咱們把數據庫的文件刪除以後,咱們查詢軟件包的信息都是查詢不到的,由於rpm –q是依據數據庫裏的數據來進行查詢,這時就須要重建數據庫了

數據庫位置

/var/lib/rpm

 rpm {–initdb|–rebuilddb}

 rpm –initab:初始化,若是事先不存在數據庫,則新建,不然,不執行任何操做

 rebuilddb:重建,不管事先是否存在,直接從新建立數據庫

yum

光盤看成本地yum倉庫

建立yum倉庫

程序包編譯安裝

相關文章
相關標籤/搜索