linux yum源的配置及使用

一、什么是yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

二、yum常用选项和参数

常用参数列举:

install:安装rpm软件包;

update:更新rpm软件包;

check-update:检查是否有可用的更新rpm软件包;

remove:删除指定的rpm软件包;

search:检查软件包的信息;

info:显示指定的rpm软件包的描述信息和概要信息;

shell:进入yum的shell提示符;

resolvedep:显示rpm软件包的依赖关系;

localinstall:安装本地的rpm软件包;

localupdate:显示本地rpm软件包进行更新;

deplist:显示rpm软件包的所有依赖关系。

repolist[all|enabled(默认)|disabled]:列出所有可用的yum repo

clean [all|packeages(包)|metadata(元数据)|expire-cache(过期数据)|rpmdb(rpm数据)plugins]:清理缓存

list [all|installed(已安装过的)|available(可用)]:列出yum包

--nogpgcheck  手动禁止检查来源及完整性

常用选项:

-h:显示帮助信息;

-y:对所有的提问都回答“yes”;

-c:指定配置文件;

-q:安静模式;

-v:详细模式;

-d:设置调试等级(0-10);

-e:设置错误等级(0-10);

-R:设置yum处理一个命令的最大等待时间;

-C:完全从缓存中运行,而不去下载或者更新任何头文件。

三、yum源的配置

yum 的配置文件分为两部分:main 和repository

main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。

repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。

yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。

[[email protected] ~]# cat /etc/yum.conf 
[main]               
cachedir=/var/cache/yum/$basearch/$releasever   
                                     //yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum         
keepcache=0                         //安装完成后是否保留软件包,0为不保留(默认为0),1为保留
debuglevel=2                        //Debug 信息输出等级,范围为0-10,缺省为2
logfile=/var/log/yum.log     //yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
exactarch=1                          //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软   件包安装在适合i386的系统中。默认为1。
obsoletes=1                         //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
gpgcheck=1                          // 有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效。默认值为0。                      
plugins=1                          //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
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=yum
distroverpkg=centos-release

四、配置本地yum源

1、挂载系统光盘

[[email protected] ~]# mount /dev/cdrom  /media/cdrom/

2、配置本地yum源

[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# vim CentOS-Media.repo 
在baseurl 中修改第2个路径为/mnt/cdrom(即为光盘挂载点)
将enabled=0改为1

3、禁用默认的yum 网络源

[[email protected] yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

将yum 网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

4、执行yum命令安装软件

[[email protected] yum.repos.d]# rpm -e zsh
[[email protected] yum.repos.d]# yum install zsh
在安装的显示信息中有下面一段可以说明是使用的本地yum源:
..................................................
========================================================================================
 软件包          架构             版本                       仓库                  大小
========================================================================================
正在安装:
 zsh             i686             4.3.10-7.el6               c6-media             2.1 M
..................................................
[[email protected] yum.repos.d]# cat CentOS-Media.repo 
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

通过查看刚才配置的yum源的仓库名为c6-media和使用yum安装所提示显示的仓库名一致,说明配置成功了。

五、配置yum源repo的文件格式说明

所有repository 服务器设置都应该遵循如下格式:

[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
  1. serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;
  2. name 是对repository 的描述,支持像$releasever $basearch这样的变量;
  3. baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:

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

     url://server2/path/to/repository/

     url://server3/path/to/repository/

其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个。url 指向的目录必须是这个repository header 目录的上一级,它也支持$releasever $basearch 这样的变量。 url 之后可以加上多个选项,如gpgcheck、exclude、failovermethod 等,比如:

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
     http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch
     http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch
gpgcheck=1
exclude=gaim
failovermethod=priority

其中gpgcheck,exclude 的含义和[main] 部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin 和priority,意思分别是有多个url可供选择时,yum 选择的次序,roundrobin 是随机选择,如果连接失败则使用下一个,依次循环,priority 则根据url 的次序从第一个开始。如果不指明,默认是roundrobin。

六、配置国内yum源

1、yum配置文件中可用的宏

$releasever:程序的版本,对Yum而言指的是redhat-relrase版本。只替换为主版本号,如Redhat6.5 则替换为6

$arch:系统架构

$basharch:系统基本架构,如i686,i586等的基本架构为i386

$YUM0-9:在系统定义的环境变量,可以在yum中使用

使用阿里云的源:

2、下载配置文件配置文件

[[email protected] yum.repos.d]# wget -P /etc/yum.repos.d/

3、使用yum安装

[[email protected] yum.repos.d]# yum repolist   //加载可用的可用的yum repo
已加载插件:fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                               | 3.7 kB     00:00     
base/primary_db                                                    | 3.6 MB     00:05     
epel                                                               | 4.4 kB     00:00     
epel/primary_db                                                    | 5.5 MB     00:03     
extras                                                             | 3.4 kB     00:00     
extras/primary_db                                                  |  29 kB     00:00     
updates                                                            | 3.4 kB     00:00     
updates/primary_db                                                 | 3.6 MB     00:02     
仓库标识                仓库名称                                                     状态
base                    CentOS-6 - Base - mirrors.aliyun.com                         4,926
epel                    Extra Packages for Enterprise Linux 6 - i386                 9,551
extras                  CentOS-6 - Extras - mirrors.aliyun.com                          34
updates                 CentOS-6 - Updates - mirrors.aliyun.com                      1,015
repolist: 15,526
[[email protected] yum.repos.d]# yum install -y zsh
已加载插件:fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
解决依赖关系
--> 执行事务检查
---> Package zsh.i686 0:4.3.10-9.el6 will be 安装
--> 完成依赖关系计
依赖关系解决
==========================================================================================
 软件包           架构              版本                       仓库                  大小
==========================================================================================
正在安装:
 zsh              i686              4.3.10-9.el6               updates              2.1 M
事务概要
==========================================================================================
Install       1 Package(s)
总下载量:2.1 M
Installed size: 4.6 M
下载软件包:
zsh-4.3.10-9.el6.i686.rpm                                          | 2.1 MB     00:02     
运行 rpm_check_debug 
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
  正在安装   : zsh-4.3.10-9.el6.i686                                                  1/1 
  Verifying  : zsh-4.3.10-9.el6.i686                                                  1/1 
已安装:
  zsh.i686 0:4.3.10-9.el6                                                                 
完毕!

通过yum安装时显示的仓库名可以看出手动配置的yum源已生效,在使用变量进行配置文件时可能会出现错误的链接导致不能解析到镜像网站,若出现这种情况就手动输入系统的版本号以及平台的架构!

七、使用第三方软件库epel

Centos/RHEL默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,可以安装第三方的epel扩展软件仓库,默认安装的epel-release扩展源由于是国外的,所以在日常使用时速度不是很快,下面就是介绍使用阿里云的第三方源。

1、先确认自己机器是否安装的有其他的epel扩展源,若有请卸载。卸载后下载 阿里云提供的epel源的下载到指定的位置。

[[email protected] ~]# rpm -q epel-releasepackage 
epel-release is not installed
[[email protected] ~]#wget -P  /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo

2、查看下载文件的内容

[[email protected] yum.repos.d]# cat epel-6.repo 
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=
http://mirrors.aliyun.com/epel/6/
$basearch
        
http://mirrors.aliyuncs.com/epel/6/
$basearch
#mirrorlist=
https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=
$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=
http://mirrors.aliyun.com/epel/6/
$basearch/debug
        
http://mirrors.aliyuncs.com/epel/6/
$basearch/debug
#mirrorlist=
https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=
$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0
 
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=
http://mirrors.aliyun.com/epel/6/SRPMS
        
http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=
https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=
$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

3、测试使用epel扩展源

[[email protected] ~]# yum install -y htop
已加载插件:fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                 | 3.7 kB     00:00     
epel                                                                 | 4.4 kB     00:00     
extras                                                               | 3.4 kB     00:00     
updates                                                              | 3.4 kB     00:00     
解决依赖关系
--> 执行事务检查
---> Package htop.i686 0:1.0.1-2.el6 will be 安装
--> 完成依赖关系计算
依赖关系解决
============================================================================================
 软件包             架构               版本                        仓库                大小
============================================================================================
正在安装:
 htop               i686               1.0.1-2.el6                 epel                73 k
事务概要
============================================================================================
Install       1 Package(s)
总下载量:73 k
Installed size: 158 k
下载软件包:
htop-1.0.1-2.el6.i686.rpm                                            |  73 kB     00:00     
运行 rpm_check_debug 
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.
  正在安装   : htop-1.0.1-2.el6.i686                                                    1/1 
  Verifying  : htop-1.0.1-2.el6.i686                                                    1/1
已安装:
  htop.i686 0:1.0.1-2.el6                                                                  
完毕!

扩展学习:

http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html

http://www.cnblogs.com/chuncn/archive/2010/10/17/1853915.html

时间: 2024-10-10 22:08:12

linux yum源的配置及使用的相关文章

Linux yum源完全配置

一.简介 yum主要功能是更方便的添加/删除/更新RPM包,自动解决包的依赖性问题,便于管理大量系统的更新问题,其理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级.安装. 删除等操作,减少了Linux用户一直头痛的dependencies的问题. 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的依赖性问题,保持与RPM

搭建CnetOS6.5x64最小系统及在线yum源的配置

CentOS系统作为红帽系列的一款linux系统,因为其免费.开源,在中小企业中得到了广泛应用,生产上为了更好的利用资源,都采用最小系统安装,因为一个图形界面都会占去系统资源的30%到40%,生产上一般都是最经济原则,不装图形界面,软件也是需要什么装什么,一般通过ssh连接或者xshell连接即可.本文从以下四个方面给出了CentOS系统的最小化安装及在线yum源的配置. 大纲:一.搭建CnetOS6.5x64最小系统.二.ip,主机名等的相关配置.三.本地和在线yum源的配置.四.快照及克隆.

在RedHat Server 5.4上安装YUM【利用网易免费yum源,配置和更新yum】

今天碰上要给一台装有Linux的机器做维护,于是就以为按照以往经验就能解决问题,但是神奇的发现机器上一堆的软件包都没有安装,最要命的是连软件包管理器也都没有安装,本以为是FreeBSD,查了一下才发现是RedHat Linux Server 5.4,于是开始着手安装YUM,在Google搜索了一下,发现貌似类似的情况不多,但是这确实不是我第一次遇到RedHat没有yum了,因为上次遇到的时候是别人让帮忙看看,解决不了也就没留心,但这次维护是必要的,于是尝试了许久,这大概是我最不舒服的一次经历了,

【推荐】在RedHat Server 5.4上安装YUM【利用网易免费yum源,配置和更新yum】

[推荐]在RedHat Server 5.4上安装YUM[利用网易免费yum源,配置和更新yum] 今天碰上要给一台装有Linux的机器做维护,于是就以为按照以往经验就能解决问题,但是神奇的发现机器上一堆的软件包都没有安装,最要命的是连软件包管理器也都没有安装,本以为是FreeBSD,查了一下才发现是RedHat Linux Server 5.4,于是开始着手安装YUM,在Google搜索了一下,发现貌似类似的情况不多,但是这确实不是我第一次遇到RedHat没有yum了,因为上次遇到的时候是别人

yum源的配置方法

rpm -ivh  软件安装命令 yum  包管理工具 yum源的配置方法 下载的命令 wget [网址] 修改前做备份 1.有问题回滚 2.事后对比改过的内容 下载文件步骤 yum源的配置方法 第一步.cd /etc/yum.repos.d/  首先先切换到yum文件下 第二步.cp CentOS-Base.repoCentOS-Base.repo.ori  备份文件 mv [原文件] [备份为] 第三部.wget http://mirrors.163.com/.help/CentOS6-Ba

rhel7配置网络yum源,配置VNC远程桌面

rhel7配置VNC远程桌面实验环境:安装了图形化界面的redhat7.0,IP是192.168.31.201先配置网络yum源[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo [[email protected] ~]# sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Ba

超详细的 Linux CentOS yum 源的配置与使用【转发+新增】

一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的[email protected] 开发团队进行改进,遂有此名.yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决.

初学者学习Linux之本地yum源安装配置

本地yum源配置 1.  查看光盘挂载情况 [[email protected] ~]# mkdir /test [[email protected] ~]# mount /dev/cdrom /test/ mount: blockdevice /dev/sr0 is write-protected, mounting read-only [[email protected] ~]# df Filesystem     1K-blocks    Used Available Use% Mount

CentOS yum源的配置与使用

一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的[email protected] 开发团队进行改进,遂有此名.yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决.