1. 程式人生 > 其它 >安裝及管理程式,rpm yum

安裝及管理程式,rpm yum

一、Linux應用程式基礎

1、應用程式和系統命令的關係

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

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

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

3、常見的軟體包封裝型別

檔案型別 儲存目錄
RPM軟體包 副檔名為“.rpm” ,適用於RHEL、CentOS等系統
DEB軟體包 副檔名為“.deb”,適用於Ubuntu、Debian等系統
原始碼軟體包 一般為“.tar.gz”、“.tar.bz2”等格式的壓縮包
包含程式的原始程式碼,需要編譯安裝
附帶安裝程式的軟體包 軟體包的副檔名不一,以TarBall格式的居多
在軟體包中會提供用於安裝的可執行程式或指令碼檔案,如install.sh、setup等
安裝時只需允許安裝檔案就可以根據嚮導程式的提示完成安裝操作

二、RPM軟體包管理工具

1、概念

RPM軟體包管理器Red-Hat package Manager:

由Red Hat公司提出, 被眾多Linux發行版所採用

建立統-一的檔案資料庫

詳細記錄軟體包安裝、解除安裝、升級等變化資訊

自動分析軟體包依賴關係

2、RPM軟體包

  • 軟體素材參考:http://www.rpm.org

2.1RPM包的一般格式為:

name-version-arch.rpm
name-version-arch.src.rpm

例:
httpd-2.2.3-29.el5.i386.rpm
httpd-devel-2.2.3-29.el5.i386.rpm
httpd-manual-2.2.3-29.el5.i386.rpm
system-config-httpd-1.3.3.3-1.el5.noarch.rpm

解析

  • name,如:httpd,是軟體的名稱;
  • version,如:2.2.3 ,是軟體的版本號。版本號的格式通常為“主版本號.次版本號.修正號”;
  • 29,是釋出版本號,表示這個RPM包是第幾次編譯生成的
  • i386,表示包的適用的硬體平臺,目前RPM支援的平臺有:i386、i586、i686、sparc和alpha
  • .rpm或.src.rpm,是RPM包型別的字尾,.rpm是編譯好的二進位制包,可用rpm命令直接安裝;.src.rpm表示是原始碼包,需要安裝原始碼包生成原始碼,並對原始碼編譯生成.rpm格式的RPM包,就可以對這個RPM包進行安裝了

特殊名稱:

  • el* 表示這個軟體包的發行商版本,el5表示這個軟體包是在RHEL 5.x/CentOS 5.x下使用。
  • devel:表示這個RPM包是軟體的開發包。
  • noarch:說明這樣的軟體包可以在任何平臺上安裝,不需要特定的硬體平臺。在任何硬體平臺上都可以執行。
  • manual 手冊文件

3、RPM命令

3.1 概念

rpm命令能夠實現幾乎所有對RPM軟體包的管理功能
執行"man rpm"命令可以獲得關於rpm命令的詳細幫助資訊

3.2 功能

  • 查詢、驗證RPM軟體包的相關資訊、
  • 安裝、升級、解除安裝RPM軟體包
  • 維護重建RPM資料庫資訊等綜合管理操作

4、查詢RPM軟體包資訊

4.1 查詢已安裝的RPM軟體資訊

4.1.1 格式

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

4..1.2 常用選項

  • rpm-q 軟體名:查詢指定軟體是否安裝
  • rpm-qi 軟體名:顯示已安裝的指定軟體的詳細資訊
  • rpm-ql 軟體名:顯示已安裝的指定軟體的檔案列表
  • rpm-qc 軟體名:列出已安裝的指定軟體的配置檔案
  • rpm-qd 軟體名:列出已安裝的指定軟體的軟體包文件所在位置
  • rpm-qR 軟體名:列出已安裝的指定軟體的依賴的軟體包及檔案
  • rpm-qF 軟體名:查詢已安裝的指定軟體屬於哪個安裝包
  • rpm-qa: 顯示當前系統中以rpm方式安裝的所有軟體列表
  • rpm-qa | grep -i postfix 查詢postfix是否已安裝

4.1.3 例項操作

4.1.3.1 rpm-q 與rpm -qi 的用法

4.1.3.2 rpm-ql、rpm-qd、rpm-qR、rpm-qF、rpm-qc的用法

4.1.3.3 rpm-qa的用法

此用法可以在不知道確切完整的軟體名稱的情況下使用

rpm-q在查詢軟體是否安裝時軟體必須輸對才能查詢到

4.1.3.4 rpm -qa 結合管道符號查詢數量


4.2查詢未安裝的RPM軟體包檔案中資訊

4.2.1 格式

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

4.2.2 常用選項

  • rpm -qpi 包檔名:查詢指定軟體包的詳細資訊
  • rpm -qpl 包檔名:查詢指定軟體包的檔案列表
  • rpm -qpc 包檔名:查詢指定軟體包的配置檔案
  • rpm -qpd 包檔名:查詢指定軟體包的軟體包文件的位置

4.2.3 例項操作

rpm包在xshell中查詢

找不到 cd /mnt/Packages 的時候,先掛載,mount /dev/cdrom /mnt,然後就能找到此目錄

4.2.3.1 rpm -qpi的用法

4.3.3.2 rpm -qpl的用法

4.3.3.3 rpm -qpc的用法

4.3.3.3 rpm -qpd的用法

5、RPM軟體包的管理

5.1 格式

rpm [選項]  RPM軟體包
rpm -ivh   RPM軟體包       #常用安裝軟體包
rpm -evh   RPM軟體包       #常用解除安裝軟體包

5.2 常用選項

安裝或升級

-i :安裝一個新的RPM軟體包。
-U :升級某個軟體包,若未安裝過,則進行安裝。
-F :升級某個軟體包,若未安裝過,則放棄安裝。

解除安裝

-e :解除安裝指定名稱的軟體包

輔助選項
-h :在安裝或升級軟體包的過程中,以“#”號 顯示安裝進度。
-v :顯示軟體安裝過程中的詳細資訊。
- -force: 強制安裝某個軟體包,比如要安裝版本更舊的軟體包

- -nodeps: 在安裝或升級、解除安裝一個軟體包時,不檢查與其他軟體包的依賴關係

5.3 例項操作

5.3.1 rpm安裝軟體包

5.3.2 rpm解除安裝軟體包

6、維護RPM資料庫

6.1重建RPM資料庫

當RPM 資料庫發生損壞,可通過重建RPM資料庫修復

格式:

rpm --rebuilddb

rpm --initdb

6.2匯入驗證公鑰

在沒有匯入用於數字簽名驗證的公鑰檔案之前,安裝光碟中的一 部分RPM軟體包時會報錯。需要向RPM資料庫中匯入位於光碟根目錄下的公鑰檔案。

格式:

mount /dev/cdrom /mnt/				 		#先掛載cdrom
rpm --import  /mnt/RPM-GPG-KEY-CentOS-7		                #匯入公鑰

7、 解決軟體包依賴關係的方法

7.1 安裝有依賴關係的多個軟體時

被依賴的軟體包需要先安裝
可同時指定多個.rpm包檔案進行安裝

7.2 解除安裝有依賴關係的多個軟體時

依賴其他程式的軟體包需要先解除安裝
可同時指定多個軟體名進行解除安裝

7.3 忽略依賴關係

結合“- -nodeps”選項,但可能導致軟體異常

三、yum軟體包管理工具

1、配置本地yum源倉庫

mount /dev/cdrom   /mnt/	    #掛載cd
cd /etc/yum.repos.d/
mkdir repos.bak			     #建立一個目錄
mv *.repo repos.bak/		#把repo檔案全都移入,做備份

cd /etc/yum.respos,d/
vim local.repo
###local.repo 配置如下
[local]                             #倉庫類別
name=local                     #倉庫名稱
baseurl=file:///mnt        #指定URL 訪問路徑為光碟掛載目錄
enabled=1                         #開啟yum源,此為預設項,可省略
gpgcheck=0                     #不驗證軟體包的簽名

yum clean all && yum makecache    清空快取表並更新
yum -y install httpd  安裝 httpd
rpm -evh httpd   解除安裝httpd

2、例項操作

 

3、常用命令

yum -y install軟體名				#安裝、升級軟體包,“-y"選項表示自動確認
yum -y remove 軟體名				#解除安裝軟體包,可自動解決其依賴關係
yum -y update 軟體名				#升級軟體包