Linux 入門記錄:二十、Linux 包管理工具 YUM,linuxyum

來源:互聯網
上載者:User

Linux 入門記錄:二十、Linux 包管理工具 YUM,linuxyum
一、YUM(Yellowdog Updater, Modified)1. yum 簡介

RPM 軟體包形式管理軟體雖然方便,但是需要手動解決軟體包的依賴問題。很多時候安裝一個軟體首先需要安裝 1 個或多個(有時多達上百個)其他軟體,手動解決依賴問題很複雜。使用 YUM 可以解決這個問題。Linux 底層也是通過 YUM 來進行軟體包管理的(包括圖形介面)。

 

2. 設計目標

YUM(Yellowdog Updater, Modified)是一個基於 RPM 包管理的字元前端軟體包管理器,設計目的主要是用來自動解決 RPM 的依賴問題。其特點如下:

  • 自動解決依賴關係
  • 可以對 RPM 進行分組,並基於組進行安裝操作
  • 引入倉庫概念,支援多個倉庫
  • 配置簡單(/etc/yum.conf 和 /etc/yum.repos.d/*.repo)

 

二、YUM倉庫(Repository)1. 倉庫簡介

YUM 引入了倉庫(Repository)的概念,用來存放所有現有的 RPM包。當使用 YUM 安裝一個 rpm 包的時候,如果存在依賴關係,YUM 會自動地在倉庫中尋找依賴並進行安裝。倉庫可以是本地的,也可以通過 http、ftp 或 nfs 形式使用集中、統一的網路倉庫。YUM 通過倉庫來很好地管理 RPM 包。

 

2. 設定檔

YUM 的設定檔有 2 種:

(1)YUM 的主設定檔 /etc/yum.conf,為所有倉庫提供公用配置。配置參數格式如下:

[main]cachedir=/var/cache/yum/$basearch/$releasever   包的緩衝目錄keepcache=0      安裝後是否保留緩衝debuglevel=2     調試層級,預設為2(0~10)logfile=/var/log/yum.log   記錄檔exactarch=1      是否需要平台完全符合obsoletes=1      是否需要檢查已到期倉庫gpgcheck=1       是否檢查包的完整性和合法性plugins=1        是否允許支援YUM外掛程式功能installonly_limit=5        允許保留核心包的數量bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yumdistroverpkg=centos-release  指定一個軟體包,YUM會根據這個包判斷你的發行版本,CentOS裡預設centos-release

(2)各個倉庫的設定檔 /etc/yum.repos.d/ *.repo。配置參數格式如下:

[base]           倉庫名,必須唯一name=CentOS-$releasever - Base   描述資訊mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra   鏡像列表,根據該地址動態擷取baseurl#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/   真正的倉庫地址,可以多個enabled=1        是否啟用該倉庫gpgcheck=1       是否進行包的合法性檢測gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 軟體包的公開金鑰所在的檔案路徑enablegroups=1   是否基於組來批量管理程式包failovermethod={roundrobin|priority} 有多個url可供選擇時,YUM的選擇次序,預設roundrobin(隨機播放)cost=1000        倉庫優先順序,預設1000備忘部分:    base庫:通常為系統發行版所提供的程式包(光碟片)    updates庫:存放更新包    extra庫:存放額外包    epel庫:epel庫檔案

  

三、YUM基本命令

YUM 管理軟體包的常用命令有:

yum install package-name  安裝指定軟體包yum remove package-name   卸載指定軟體包yum update package-name   升級指定軟體包

  

四、YUM查詢
yum search keyword          關鍵字搜尋相關包yum list [all|installed|recent|updates]   列出[全部|已安裝的|最近的|更新]所有包yum info package-name       查詢包資訊yum whatprovides filename   查詢哪個包提供了目標檔案

  

五、建立YUM倉庫

可以通過以下方式手動建立 YUM 倉庫:

1. 將所有 rpm 檔案拷貝到一個檔案夾中

2. 通過 rpm 命令手動安裝 createrepo 軟體

3. 運行 createrepo -v /rpm-directory 

4. 如果有分組資訊,則再運行命令的時候使用 -g 參數指定分組檔案

createrepo -g /tmp/*comps.xml/rpm-directory

(CentOS/RHEL 的分組資訊儲存在光碟片目錄下 repodata/,檔案名稱以 comps.xml 結尾)

 

建立好之後,本機可以通過 file 方式直接使用,或者可以通過 http、ftp 或 nfs 協議共用出去。

 

六、YUM緩衝(Cache)

YUM 為了提高速度會有很多緩衝,但有時候緩衝會造成一些故障,可以通過以下命令來清理緩衝:

yum clear all

每次運行 YUM 安裝或查詢一類的命令時會產生緩衝。

 

OK,Linux 入門記錄系列暫時告一段落。

參考連結:YUM 的使用和YUM源的配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.