軟體包管理(2)

2020-09-07     藝麟盛世

原標題:軟體包管理(2)

rpm的介紹

前面的課程我們提到過源碼包安裝需要解決系統環境、權限等等,這些對於初學者而言都是噩夢一般的存在,所以linux廠商推出了一種類似windows系統中的安裝方式,有開發者直接在已知的系統中編譯好,使用者可以直接下載並進行安裝,升級,卸載等操作。在linux中能夠提供這些功能的軟體有兩種,rpm和dpkg,而在CentOS中使用的是RPM

rpm最早是由redhat開發出來,由於很好用,所以很多發行版也利用rpm來進行軟體包的管理。RPM全名RedHat Package Manager,最大的特點就是把需要安裝的軟體提前編譯,打包,然後在rpm包裡面存放了用以記錄軟體依賴關係的相關數據,當用戶安裝時,優先查看這些數據,如果系統滿足數據要求就安裝軟體包,否則不能安裝,安裝完成後,將軟體包相關信息記錄到rpm自己的資料庫中,便於查詢和卸載等。所以說rpm的優點是方便安裝,卸載,查詢,缺點就是只能在指定的作業系統上使用,所以不同廠商的rpm包,甚至同一廠商不同版本作業系統的rpm包都不通用。

rpm包的命名

dhcp-server- 4.3.6 -30 .el8 .x86_64 .rpm

軟體名稱 版本 編譯次數 適用的系統 適用的平台 後綴名

軟體名 就是軟體包的名稱

版本 每次更新版本號都會改變,用來幫助用戶判斷軟體包新舊的

編譯次數 也是幫助用戶判斷軟體包新舊的

適用的系統 在哪個系統上可以安裝,CentOS和rhel的多數軟體包都是通用的

適用的平台 指的是硬體平台,比如如果你是32位的CPU就無法安裝這個軟體包

rpm的使用

rpm包的相關文件一般都會放在對應的目錄中,比如rpm包安裝後,配置文件會放在/etc下,執行文件會放在/usr/bin下,連結庫文件會放在/usr/lib下,幫助與說明文檔會放在/usr/share/man和/usr/share/doc目錄下

安裝

[root@localhost Packages]# rpm -ivh dhcp-server-4.3.6-30.el8.x86_64.rpm

-i 安裝

-v 顯示詳細信息

-h 顯示安裝進度

-e 卸載

-U 升級,如果系統中有低版本的就會升級,如果系統沒有安裝相應的包,則安裝

-F 有條件的升級,會檢測用戶指定的軟體包是否已安裝到linux中

--nodeps 忽略軟體包之間的依賴關係

--replacefiles 覆蓋文件

--replacepkgs 修復

--force 強制

--test 測試

-q 查詢指定的軟體包是否安裝

-qi 查看指定的軟體包的信息,包括開發商,版本,說明

-ql 查看指定軟體包中所包含的文件列表

-qc 查看指定軟體包的配置文件

-qa 查看本機安裝的所有包

-qf 查看一個文件歸屬於哪個已安裝的軟體包

文章來源: https://twgreatdaily.com/zh-sg/5wNlaHQBd8y1i3sJJhYN.html