2015年7月3日 星期五

[CentOS 6.5] yum 基本介紹和參數說明與設定

yum是什麼?(Linux的命令)

一. yum是什麼

yum = Yellow dog Updater, Modified
主要功能是更方便的添加/刪除/更新RPM包。
它能自動解決包的倚賴性問題。
它能便於管理大量系統的更新問題


二. yum特點

*可以同時配置多個資源庫(Repository)
*簡潔的配置文件(/etc/yum.conf)
*自動解決增加或刪除rpm包時遇到的倚賴性問題
*使用方便
*保持與RPM資料庫的一致性

三. yum 安裝

*一個真正的 CentOS 安裝擁有 CentOS 內核、CentOS centos-release 套件、CentOS yum 套件
# grep -ir exclud /etc/yum.*
這個指令一般能列出被排除的套件。

*如果沒有可使用 rpm 安裝:
# rpm -ivh yum-2.0.4-2.noarch.rpm


四. repo 的安裝

Install the EPEL repository

# yum install epel-release
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6*.rpm

Install the Remi repository (optional)

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm

安裝好之後,在想要使用的 repository
把 enabled=1 設置為 1 並
# yum clean all
讓資料重新抓取


五. yum 配置 (/etc/yum.conf)

注:修改和增加配置文件中的資源庫,加快下載速度和擁有更多可更新的rpm包將/etc/yum.conf的內容全部替換為
[main]
cachedir=/var/cache/yum           #設定yum暫存檔的目錄
debuglevel=2 #除錯的等級設定。範圍0-10,而預設的是2
logfile=/var/log/yum.log #yum的log記錄位置。
pkgpolicy=newest #包的策略,如果配置多了yum源,同一软件在不同的yum源
                                                        中有不同版本,
                                                        newest则安装最新版本
                                                        lastest,则yum会将服务器上ID按照字母序排列,选择最后
                                                        那个服务器上的软件安装

distroverpkg=centos-release #指定一個套件時,yum會根據這個套件判斷系統的發行版本。
                                                        預設為centos-release。

tolerant=1  #yum是否容忍當程式發生與套件有關的錯誤,若設為1不會出
                                                        現錯誤訊息,預設為0

exactarch=1  #設定是否只升級和已經安裝的套件CPU位元(i386、x86_64)相
                                                        同的套件。
                                                        預設為1表示只安裝一致的套件,0表示可以不一致。

obsoletes=1  #這是一個update的參數,簡單說就是相當於upgrade,1允許更
                                                        新舊的RPM包。

keepcache=0  #是否保存缓存文件
gpgcheck=1  #是否啟用驗證
plugins=1  #是否支持插件
installonly_limit=5  #允许保留多少个内核包。
metadata_expire=1h  #缓存的时间


六. repo 配置 (/etc/yum.repos.d/***.repo)

[base] #代表容器的名字,中括号一定存在,名字可以随其的定义
name=CentOS-$releasever - Base #说明一下容器的意义
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#列出容器可以使用的镜像站点,此项可以注释掉

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
#这是最重要的配置,是容器的实际网址

enable=1 #启动这个容器,不启动设置为0
gpgcheck=1 #是否开启查阅rpm文件的数字证书
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#数字证书的公钥文件所在的位置

補充 :
$releasever:表示你的系统的版本,变量会自动的检测你的版本
$basearch:表示CPU的架构,是x86_64,还是i386系列


七. yum常用命令

# yum list #查看可以安装的软件包清单
# yum list installed #查看已经安装的软件包
# yum list extras #查看所有已安装但不在yum仓库内的软件包
# yum list updates #查看本机上可以升级的软件包
# yum search 搜尋名稱 #查询软件包的名称,可根据部分关键字
# yum info 查詢名稱 #查询软件包的详细信息相当于rpm-qi
# yum provides 查詢路徑/檔名 #根据文件查所属软件
# yum -y install 名稱 #安装
# yum -y remove 名稱 #移除
# yum update 名稱 #更新
# yum check-update #列出可更新的软件包
# yum repolist all #列出容器个数
# yum clean all #清除yum缓存信息


八. CentOS 6.5 Yum Server 指定義守大學的方法

手動修改/etc/yum.repos.d/CentOS-Base.repo 把原本的 baseurl 註解改為新的
[base]
#baseurl=http://mirrors.linode.com/centos/$releasever/os/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/os/$basearch/

[updates]
#baseurl=http://mirrors.linode.com/centos/$releasever/updates/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/updates/$basearch/

[extras]
#baseurl=http://mirrors.linode.com/centos/$releasever/extras/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/extras/$basearch/

[centosplus]
#baseurl=http://mirrors.linode.com/centos/$releasever/centosplus/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/centosplus/$basearch/

[contrib]
#baseurl=http://mirrors.linode.com/centos/$releasever/contrib/$basearch/
baseurl=http://ftp.isu.edu.tw/pub/Linux/CentOS/$releasever/contrib/$basearch/


九. 清除 repo 方法

1 rpm

# rpm -qa | grep release
Sample outputs:
epel-release-6-8.noarch

# yum remove epel-release-6-8
# yum clean all

2. 如果 rpm 搜尋不到

# cd /etc/yum.repos.d/
# ls -l
Sample outputs:
-rw-r--r-- 1 root root 1054 Aug 11  2010 remi.repo

### ********************************* ###
### 記得刪除 GPG keys                 ###
### 如果不知道可以到 .repo 內看   ###
### ********************************* ###
# rm /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
# yum clean all


想知道如何對特定的套件更新可以參考這裡唷



沒有留言:

張貼留言