1. 程式人生 > >yum管理詳解

yum管理詳解

yum、yum repository

一、簡介

YUM: Yellowdog Update Modifier,rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包,以解決軟件安裝或卸載與升級的問題。

二、yum配置文件

1.主配置文件:

/etc/yum.conf,為所有倉庫提供公共配置;

/etc/yum.repos.d/*.repo,為倉庫的指向提供配置;


2.各倉庫指向的定義:

directive=VALUE,例如: name=base

註意:文件以.repo結尾,每個repo配置文件中可以配置一至多個倉庫;

[main]:

提供公共配置信息;


倉庫配置:

[repositoryID]

##必須唯一

name=Some name for this repository

##當前倉庫描述信息,可以不寫

baseurl=url://path/to/repository/

##指明倉庫的訪問路徑,通常為一個文件服務器上輸出的某倉庫;

##url支持的類型:

ftp://

http://

file:///

enabled={1|0}

##倉庫是否可被使用,默認不寫代表使用;1:是;0:否;

gpgcheck={1|0}

##是否對程序包做校驗;

gpgkey=URL

##指明gpgkey文件路徑;

enablegroups={1|0}

##是否使用倉庫組

failovermethod={roundrobin|priority}

##設置多個倉庫時,需要指明優先使用那個倉庫安裝包;默認為:roundrobin:意為隨機挑選

;priority:優先級;

cost=

##指明當前倉庫的訪問開銷,默認為1000;


三、yum命令使用

語法:yum [options] [command] [package ...]

1.yum倉庫列表

yum repolist:列出已經配置的所有可用倉庫;

yum repolist [all|enabled|disabled];


2.yum查看程序包

yum list:列出所有程序包;

yum list [all | glob_exp1] [glob_exp2][...]

yum list {available|installed|updates}[glob_exp1] [...]


3.yum安裝程序包

yum install package1 [package2] [...]

yum reinstall package1 [package2][...](重新安裝)

註意:

1.只需要提供包名;

2.如果某包在不同倉庫中有多個不同的版本,默認會安裝最新版本;

3.如果要安裝指定版本:yum install package-version...


4.yum升級程序包

yum update [package1] [package2] [...]

yum downgrade package1 [package2] [...](降級)


5.yum檢查有哪些可用升級

yum check-update


6.yum卸載程序包

yum remove | erase package1 [package2] [...]

註意:所有依賴於正卸載的程序包的程序包會被一並卸載;


7.yum查詢程序包的相關簡要信息information

yum info package...


8.查看指定的特性(可以是某文件)是由哪個程序包所提供:

yum provides |whatprovides feature1 [feature2] [...]

eg:yum provides /bin/cat


9.清理本地緩存

yum clean [packages | metadata |expire-cache | rpmdb | plugins | all]


10.構建緩存

yum makecache


11.yum搜索

yum search string1 [string2] [...]:以指定的關鍵字搜索程序包名及summary信息


12.yum查看指定包所依賴的capabilities

yum deplist package1 [package2] [...]


13.查看yum事務歷史

history [info|list|packages-list|packages-info| summary|addon-info|redo|undo|rollback|new|sync|stats]

yum history(查看歷史信息

yum history info 6 (查看第6條歷史信息)

yum history undo 6 (撤銷第六條信息執行的操作)

日誌文件:/var/log/yum.log


14.安裝或升級本地的程序包文件

yum install rpmfile1 [rpmfile2] [...]

yum update rpmfile1 [rpmfile2] [...]


15.包組管理的相關命令

yum grouplist [hidden] [groupwildcard] [...](列出所有包組)

yum groupinfo group1 [...](顯示指定包組詳情)

yum groupinstall group1 [group2] [...](安裝包組)

yum groupremove group1 [group2] [...](卸載包組)

yum groupupdate group1 [group2] [...](升級包組)


16.yum的命令行選項

- -nogpgcheck:禁止做包校驗

-y: 自動回答為“yes”

-q:靜默模式

- -disablerepo=repoidglob:臨時禁用此處指定的repo

- -enablerepo=repoidglob:臨時啟用此處指定的repo

- -noplugins:禁用所有插件


17.yum的repo配置文件中有一些內置的變量,用於保存當前平臺的相關信息,常用變量有

(1)$releasever: 當前OS的發行版的主版本號;

(2)$arch: 平臺,i386,i486,i586,x86_64等;

(3)$basearch:基礎平臺;i386;

(4)$YUM0-$YUM9:自定義變量;

示例:

http://mirrors.aliyun.com/centos/$releasever/$basearch/

http://mirrors.sohu.com/centos/7/x86_64

http://mirrors.163.com/centos/6/i384

四、制作本地yum源

使用本地yum源有兩種方式,第一種直接使用光盤鏡像,不過此種方法僅限本機使用;第二種創建本地yum倉庫,然後使用http或者ftp等方式向外部提供yum倉庫。

(1)使用發行版光盤作為yum倉庫:

     步驟:
      ①掛載光盤到指定掛載點:例如:/mnt/cdrom;
           # mount /dev/sr0 /mnt/cdrom
           
      ②創建yum倉庫配置文件,以.repo作為後綴名,例如:CentOS-Base.repo
            [sr0]
            name=centos 7 base
            baseurl=file:///mnt/cdrom/
            gpgcheck=1
            gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
            enabled=1(不寫默認值為1)
            
      ③清楚本地緩存:yum clean all
      
      ④查看可用的yum倉庫:yum repolist


(2)創建本地yum倉庫

語法:createrepo [option] <directory>

      步驟:
        ①createrepo命令默認是沒有安裝的,可以使用rpm或yum事先安裝好createrepo程序包;
        
        ②創建好yum倉庫目錄;例如/testdir/repodb/,這個目錄用來存放rpm程序包文件;倉庫的訪
        問路徑;
        
        ③確定yum倉庫輸出方式:
            本地輸出:提供一個放置rpm包的本地路徑,file:///的形式;
            網絡輸出:提供一個文件服務器,配置好ftp服務或http服務;
                ftp服務:
                    安裝程序包:vsftpd
                    文件存放路徑:/var/ftp/pub
                    啟動服務:service vsftpsd restart
                http服務:
                     安裝程序包:httpd
                    文件存放路徑:/var/www/html
                    啟動服務:service httpd restart
                    
       ④在準備好的目錄放置rpm程序包文件;
           #可以通過cp命令將光盤中的程序包拷貝到此輸出目錄中
           
       ⑤cd進入到此目錄,運行createrepo .命令,會生成一個repodata目錄;
            #把當前目錄作為yum倉庫數據所在地;
            #至此就完成了yum倉庫的創建;
            註意:倉庫指向的路徑為repodata目錄所在的父目錄;


(3)測試創建的yum倉庫是否可用

        ①在/etc/yum.repos.d/目錄下創建一個以.repo結尾的配置文件,例如my.repo,內容如下:
            [myrepo]
            name=my repo base
            baseurl=file:///testdir/repodb/
             gpgcheck=0
             
        ②清除緩存
            yum clean all:清理緩存
            yum makecache:構建緩存
            
        ③查看可用倉庫
            yum repolist
            
        ④安裝程序包
            yum -y install httpd




















































本文出自 “亞成-另一個LINUXER” 博客,請務必保留此出處http://yacheng0316.blog.51cto.com/11878883/1957592

yum管理詳解