安裝及管理程式

无敌小鲁班發表於2024-04-14

目錄
  • 1.Linux應用程式基礎
    • (1)應用程式與系統命令關係
    • (2)典型應用程式的目錄結構
    • (3)常見的軟體包封裝型別
  • 2.RPM軟體包管理工具
    • (1)RPM軟體管理器Red-Hat Package Manager
    • (2)RPM軟體包
    • (3)查詢RPM軟體報資訊
      • (1)rpm命令的格式
      • (2)查詢已安裝的RPM軟體資訊
      • (3)查詢RPM軟體包檔案中的資訊
    • (4)安裝、升級、解除安裝RPM軟體包
      • (1)安裝或升級RPM軟體
      • (2)解除安裝指定的RPM軟體
    • (5)維護RPM資料庫
    • (6)解決軟體包依賴關係方法
      • (1)軟體包管理器-yum
        • (1)配置yum本地倉庫源
  • 3.原始碼編譯安裝

1.Linux應用程式基礎

(1)應用程式與系統命令關係

角色 系統命令 應用程式
檔案位置 一般在/bin和/sbin目錄中,或為shell內部指令 /usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin
主要用途 完成對系統的基本管理工作,例如:Ip配置工具 完成相對獨立的其他輔助任務,例如:網頁瀏覽器
適用環境 一般只在字元操作介面中執行 根據實際需要,有些程式可在入刑介面中執行
執行格式 一般包括命令字、命令選項和命令引數 通常沒有固定的執行格式,有程式開發者自行定義


(2)典型應用程式的目錄結構

檔案型別 儲存目錄 說明
普通的可執行程式檔案 /usr/bin 所有使用者可執行
伺服器程式、管理程式檔案 /usr/sbin 只有管理員能執行
應用程式配置檔案 /etc 透過rpm或yum方式安裝的應用程式
日誌檔案 /var/log 系統日誌
應用程式參考文件檔案 /usr/share/doc 關於應用程式的參考文件等資料
應用程式手冊頁檔案 /usr/share/man 執行檔案及配置檔案的man手冊頁


(3)常見的軟體包封裝型別

RPM軟體包 DEB軟體包 原始碼軟體包
系統支援 RHEL、CentOS、OpenSUSE等系列 Ubuntu、Debian等系列 包含程式的原始碼,需要編譯安裝
軟體包名稱格式 XXX.rpm XXX.deb XXX.tar.gz、XXX.tar.bz2等格式的壓縮包
管理命令 rpm 、 yum dpkg 、 apt-get

附帶安裝程式的軟體包:包含二進位制程式檔案,解壓即可直接使用,包含安裝指令碼或程式,解壓執行即可完成自動安裝。


2.RPM軟體包管理工具

(1)RPM軟體管理器Red-Hat Package Manager

由Red Hat公司提出,被眾多Linux發行版所採用;
建立統一的檔案資料庫;
詳細記錄軟體包安裝、解除安裝、升級等變化資訊;
自動分析軟體包依賴關係。


(2)RPM軟體包

軟體素材參考:http://www.rpm.org
一般命名格式:bash-4.2.46-28.el7.x86_64.rpm
軟體名稱:bash
版本號:4.2.46
釋出次數:28.el7
硬體平臺:x86_64
副檔名:rpm


(3)查詢RPM軟體報資訊

(1)rpm命令的格式

rpm命令能夠實現幾乎所有對RPM軟體包的管理功能;
執行“man rpm”命令可以獲得關於rpm命令的詳細幫助資訊;
rpm命令功能:查詢、驗證RPM軟體包的相關資訊;
安裝、升級、解除安裝RPM軟體包;
維護重建RPM資料庫資訊等綜合管理操作。


(2)查詢已安裝的RPM軟體資訊

rpm -q [子選項] [軟體名]

常用選項
-qa 全量檢視已經安裝的所有軟體
-qi 檢視軟體的詳細資訊
-ql 檢視軟體的所有檔案
-qc 檢視軟體的配置檔案
-qd 檢視軟體的文件檔案
-qR 檢視軟體的依賴包和檔案
-qf 檢視檔案/目錄屬於哪個軟體

*注:rpm -qa | grep 軟體名 #全量檢視已經安裝的所有軟體,再透過grep過濾


(3)查詢RPM軟體包檔案中的資訊

rpm -qp [子選項] RPM包檔案

常用選項
-qpi 根據軟體包檢視軟體的詳細資訊
-qpl 根據軟體包檢視軟體的所有檔案
-qpc 根據軟體包檢視軟體的配置檔案
-qpd 根據軟體包檢視軟體的文件檔案


(4)安裝、升級、解除安裝RPM軟體包

(1)安裝或升級RPM軟體

rpm [選項] RPM包檔案...

常用選項
-i 安裝一個新的 RPM 軟體包
-U 安裝或升級
-F 僅升級

*注:rpm -ivh 軟體包 [--nodeps --force] #強制安裝一個新的RPM軟體包,vh顯示安裝進度可省略;[--nodeps --force] 強制安裝
(DEP:dpkg -i XXX.deb)


(2)解除安裝指定的RPM軟體

rpm -e 軟體名

輔助選項
-e 解除安裝指定名稱的軟體包
--force 強制安裝某個軟體包,比如要安裝版本更舊的軟體包
--nodeps 在安裝或升級、解除安裝一個軟體包時,不檢查與其他軟體包的依賴關係

*注:rpm -evh 軟體名 [--nodeps --force]
(DEP:dpkg -r XXX.deb)


(5)維護RPM資料庫

重建RPM資料庫
rpm --rebuilddb #重建RPM資料庫
rpm --initdb

匯入驗證公鑰:
rpm --import 秘鑰 #向RPM資料庫匯入驗證秘鑰檔案


(6)解決軟體包依賴關係方法

安裝有依賴關係的多個軟體時:
被依賴的軟體包需要先安裝;可同時指定多個.rpm包檔案進行安裝。
解除安裝有依賴關係的多個軟體時:
依賴其他程式的軟體包需要先解除安裝;可同時指定多個軟體名進行解除安裝。
忽略依賴關係:
結合“--nodeps”選項,但可能導致軟體異常。

(1)軟體包管理器-yum

能夠自動解決軟體包的依賴關係,實現一鍵安裝軟體包。

(1)配置yum本地倉庫源

(1)掛載光碟映象
mount /dev/sr0 /mnt #把光碟機掛載mnt目錄下
df #驗證掛載情況

(2)進入 yum 倉庫配置目錄,備份原倉庫配置檔案
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak/

(3)建立 yum 本地倉庫源配置檔案
cd /etc/yum.repos.d/
vim local.repo
[local] ##倉庫類別
name=local ##倉庫名稱
baseurl=file:///mnt ##指定URL 訪問路徑為光碟掛載目錄
enabled=1 ##開啟此yum源,此為預設項,可省略
gpgcheck=0 ##不驗證軟體包的簽名
(gpgcheck=1 #gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7)

yum clean all && yum makecache ##刪除yum快取並更新


(4)使用 yum 安裝軟體
yum install -y 軟體名


3.原始碼編譯安裝

(1)使用 yum 安裝編譯軟體環境的依賴包 gcc gcc-c++ make ....

(2)官網下載,解壓軟體包
tar xf XXX.tar.gz

(3)進入軟體包目標使用 ./configure 配置軟體的安裝目錄、安裝模組等
cd 軟體包目錄
./configure --prefix=軟體安裝目錄 --XXX #可透過 --help 獲取幫助

(4)make 編譯,將原始碼轉換成可執行的二進位制程式檔案

(5)make install 安裝,複製二進位制程式檔案和軟體配置檔案等到軟體安裝目錄

原始碼編譯安裝軟體的過程。
1)使用yum安裝編譯安裝環境依賴包
2)下載解壓原始碼軟體包
3)進入軟體包目錄使用 ./configure 配置安裝目錄、安裝模組
4)使用 make 編譯
5)使用 make install 安裝


yum remove/erase #解除安裝
yum update #升級
yum list [軟體名] #查詢軟體列表
yum list installed/available/updates
yum info 軟體名 #檢視軟體資訊
yum search all 軟體關鍵詞 #根據關鍵詞搜尋軟體包
yum whatprovides 命令子/命令檔案 #根據命令搜尋軟體包

相關文章