天天看點

Linux軟體包的管理--YUM

    在上一篇部落格《Linux軟體包的管理--RPM包管理器》中詳細講述了RPM,但是存在一個問題?就是RPM不能自動解決軟體包之間的依賴性。是以就出現了增強版的RPM管理器-YUM。

    以下講解以CentOS6系列為例。

一、YUM介紹

    YUM(Yellowdog Updater Modified)是一種C/S架構,它為什麼就能自動解決依賴性關系呢?這取決于 YUM 服務端的RPM倉庫,在這個倉庫裡放着我們經常用到的rpm格式的軟體包。

1、yum倉庫的組成

組成

内容

資料

存放各個rpm包

中繼資料

包名、版本資訊、依賴關系、包分組資訊、依賴關系清單。

在centos6中遵循sqlite格式,生成的中繼資料目錄是repodata。

2、yum用戶端如何通路服務端

    以更新為例:

Linux軟體包的管理--YUM

3、如何配置yum的服務端和用戶端

1)在伺服器端

    首先:在伺服器端要確定有可用的yum倉庫。yum倉庫其實就是檔案伺服器。repodata目錄所在的父目錄就是一個yum倉庫。

    其次:伺服器端必須通過某種手段将yum倉庫共享出去,可以讓用戶端使用,常見的共享方式有:ftp,http,nfs。如果是本地使用(用戶端和服務端是同一台機器),也可以使用file方式。

2)yum用戶端

    提供repo配置檔案,指明倉庫通路路徑及各種屬性。主配置檔案(中心配置檔案):/etc/yum.conf。 

    一個後幾個相關的倉庫的配置儲存成一個檔案,檔案名都以.repo結尾,儲存在/etc/yum.repo.d目錄中。

    下面介紹一下檔案格式(以163鏡像為例):

    配置好這些準備工作,就可以使用yum工具了。

三、yum工具的使用

    這裡以網際網路163鏡像為例示範。

1、列出所有可用repo

    yum repolist {enabled|disabled|all}

2、列出rpm包

    yum list {all|installed|available}

3、包的描述資訊

    yum info package_name

4、列出所有的包組資訊

    yum grouplist

5、顯示包組的資訊:例如組中包含的程式包清單

    yum groupinfo "GROUP NAME"

6、清理緩存

    yum clean {all|packages|metadata|expire-cache|rpmdb|plugins}

7、安裝程式包

    yum install package_name

Linux軟體包的管理--YUM

  重新安裝:

    yum reinstall package_name

8、更新

    yum check-update: 檢查可用的更新包

Linux軟體包的管理--YUM

    yum update package_name 更新軟體

Linux軟體包的管理--YUM

    yum downgrade package_name 降級使用的,退回原來的版本

9、解除安裝

    yum remove|erase package_name

10、查詢某檔案是由哪個包安裝生成的

    yum whatprovides|provides /path/to/somefile

11、安裝包組

    yum groupinstall "GROUP NAME"

12、解除安裝包組

    yum groupremove "GROUP NAME"

四、自制yum倉庫

1、如果作為個人使用的話,最簡單的辦法是,挂載CD光牒鏡像使用。

    以VMware虛拟機為例:

    先關聯CD光牒鏡像,挂載CD光牒鏡像就可以使用。

    其中:.repo中的baseurl使用file就可。例如:baseurl=file:///media/centos

2、自建yum倉庫伺服器

    以ftp為例,步驟:

(1) 安裝ftp程式,并啟動服務

    # rpm -ivh vsftp-版本号

    或者

    # yum install vsftpd -y

    啟動服務

    # service vsftpd start

    # chkconfig vsftpd on

(2) ftp的共享目錄為/var/ftp/pub

    建立子目錄,存放某相關的所有rpm包(建議)

(3) 為倉庫生成中繼資料檔案,以使能夠作為倉庫使用

    # rpm -ivh createrepo-版本号

    # yum install createrepo -y

    # createrepo /path/to/rpm_repo/  生成repo的中繼資料目錄 例如:createrepo /var/ftp/pub/Packages   

(4) 配置yum用戶端使用此倉庫即可

    總結:本文主要介紹yum工具的使用,簡單介紹了自制yum服務端的步驟。

繼續閱讀