Yum

   yum在线安装软件,快捷方便解决依赖问题。


yum的命令形式一般是如下:yum  [options]  [command] [package ...]

一、列举包文件

 

yum list            列出资源库中所有已经安装、可以安装或更新的rpm包
yum list perl        列出资源库中特定的可以安装或更新以及已经安装的rpm包 //列出名为perl 的包
yum list perl*         列出perl 开头的包
yum list updates  列出资源库中所有可以更新的rpm包
yum list installed  列出已经安装的所有的rpm包
yum list extras     列出已经安装的但是不包含在资源库中的rpm包 

 

二、列举资源信息

 

yum info 列出资源库中所有可以安装或更新的rpm包的信息

 

 

yum info perl    列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息 //列出perl 包信息

yum info perl*   列出perl 开头的所有包的信息

 

 

yum info updates 列出资源库中所有可以更新的rpm包的信息

 

 

yum info installed 列出已经安装的所有的rpm包的信息

 

 

yum info extras 列出已经安装的但是不包含在资源库中的rpm包的信息

 

 

三、搜索
yum search perl 搜索匹配特定字符的rpm包 //在包名称、包描述等中搜索

 

 

yum provides realplay 搜索有包含特定文件名的rpm包

 

四、安装删除包

yum install perl       安装rpm包 //安装perl 包

yum install perl*     安装perl 开头的包

yum localinstall perl.rpm       安装本地rpm包 //

 

yum remove perl*   删除rpm包,包括与该包有倚赖性的包 //会删除perl-* 所有包

 

 

五、更新

 

yum check-update 检查可更新的rpm包

 

 

yum update 更新所有的rpm包(同时升级系统版本和内核)

 

yum update kernel kernel-source 更新指定的rpm包,如更新kernel和kernel source

 

 

yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
                                                (同时升级系统版本但是不升级内核)

 

 

六、清空缓存

yum clean packages 清除暂存中rpm包文件

 

 

yum clearn headers 清除暂存中rpm头文件

 

yum clean oldheaders 清除暂存中旧的rpm头文件

 

 

yum clearn 清除暂存中旧的rpm头文件和包文件

或
yum clearn all

 

 

 

 

 


 七.使用yum下载一个rpm包 (不安装)
1.yum install --downloadonly(同时下载 需要依赖的包)
        yum install --downloadonly
[--downloaddir=/tmp] <package-name>
     如果命令找不到这个选项,需要更新yum    或者     安装  yum -y install yum-downloadonly

注意:在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件
           (名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项:
           yum install yum-plugin-downloadonly

下载的软件包位于/var/cache/yum/x86_64/7/base/packages/下


2.yumdownloader  (不下载 需要依赖的包)

  安装yum-utils       yum -y install yum-utils
  下载软件包httpd
  yumdownloader httpd
3.利用yum的缓存功能
  默认情况下,yum在安装软件包后会自动清理软件包,修改配置,使yum不再清理软件包
  vim /etc/yum.conf中修改keepcache = 0改为keepcache = 1
  /etc/init.d/yum-updatesd restart
  yum -y install httpd
  这时软件包已经安装下载,目录为/var/cache/yum




八.以下是一些常用命令:
1.有些插件使用yum list *xxx*    无法找到,可以使用yum provides 查询xxx隶属于哪个yum包
例如
yum provides */snmpwalk      
1:net-snmp-utils-5.5-57.el6.x86_64 : Network management utilities using SNMP, from the NET-SNMP project
Repo        : base
Matched from:
Filename    : /usr/bin/snmpwalk

安装 net-snmp-utils-5.5-57.el6.x86_64 即可


2.yum提供了一个很强大的功能,yum groupinstall
通过这个功能可以让你非常方便的一次过安装你所需要的包

比如你安装必要的开发工具包:yum groupinstalll "Development Tools"

 

         记得不要丢了双引号。

 

如果是安装web server必要的包:yum groupinstall "Web Server"

 

如果还想知道还有哪些group可以使用:     yum grouplist





八.增加yum源方式安装软件
官方定义的yum源为了软件的稳定性,更新比较慢。
如果需要的软件官方yum源没有或者版本太低,可以增加新yum源来安装。

查看系统默认安装的yum

# rpm -qa|grep yum

yum-plugin-fastestmirror-1.1.31-34.el7.noarch

yum-metadata-parser-1.1.4-10.el7.x86_64

yum-3.4.3-132.el7.centos.0.1.noarch


yum 配置文件

  yum 的配置文件分为两部分:main 和repository。
  main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main,常位于/etc/yum.conf 中
  repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件

 



repo 文件的格式

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

[serverid]
name=Some name for this server
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
baseurl=url://path/to/repository/
  • serverid   是用于区别各个不同的repository,必须有一个独一无二的名称;
    name       是对repository 的描述,支持像$releasever $basearch这样的变量;
    mirrorlis    是指定一个镜像服务器的地址列表,通常是开启的,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。
    baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
baseurl=url://server1/path/to/repository/
     url://server2/path/to/repository/
     url://server3/path/to/repository/

其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个,也就是说不能像如下格式:

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

其中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。

选择自己访问速度较快的镜像服务器地址复制并粘贴到repo文件中,我们就能获得较快的更新速度了,格式如下baseurl所示:
baseurl=
ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os
http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os
http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os
http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os
http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os
http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os
http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os





添加国际yum
源

添加源之前要确定系统架构及版本!!!


RPMForge

RPMForge是CentOS系统下的软件仓库,拥有4000多种的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓库。
        到这里找到匹配自己系统的版本     http://repoforge.org/use/(我系统是centos6.3)
       #wget http://repository.it4i.cz/mirrors/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
       #rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

然后/etc/yum.repos.d 这里就会多出一个rpmforge.repo yum源文件
        查看yum
        #yum repolist 
           repo id                                    repo name                                   status

base                                         CentOS-6 - Base                             6,696

extras                                       CentOS-6 - Extras                            63

rpmforge                                   RHEL 6 - RPMforge.net - dag        4,718

updates                                    CentOS-6 - Updates                         820



elrepo

     ELRepo项目侧重于硬件相关的包来增强你的经验与企业Linux。这包括文件系统驱动,显卡驱动,网络驱动程序,声音驱动,摄像头和视频驱动程序。

     同样去官网下载yum源的rpm包,安装……





EPEL(企业版 Linux 附加软件包)

 

 

 企业版 Linux 附加软件包(以下简称 EPEL)是一个由特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS、Scientific Linux、Oracle Enterprise Linux)的一个高质量附加软件包项目。

EPEL 的软件包通常不会与企业版 Linux 官方源中的软件包发生冲突,或者互相替换文件。EPEL 项目与 Fedora 基本一致,包含完整的构建系统、升级管理器、镜像管理器等等。
       随着时间的发展,EPEL 仓库越来越丰富,成为一个大型的软件收集仓库。安装epel源的好处就是epel这个项目是由fedora维护的,在维护的这个源中包含许多新的软件。
     
  ( CentOS 用户请注意: CentOS 用户可以直接通过 yum install epel-release 安装并启用 EPEL 源。CentOS Extras默认包含该包)


!!!这个不用到官网下载rpm包,可以直接用yum安装
安装:yum install epel-release.noarch


 


添加(更换)国内yum源
 

网易163
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错
 http://mirrors.163.com/  欢迎访问网易开源镜像站
进入网站选择自己系统版本的 repo,下载

1.更换系统自带的yum源

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)


注意!!!(系统无法识别$releasever,编辑下载文件,把文件里面的$releasever全部替换为版本号,即6,保存)

运行以下命令生成缓存

yum clean all
yum makecache


2.增加系统yum源

下载对应版本repo文件, 放入/etc/yum.repos.d/

编辑下载的163.repo文件:
(因系统无法识别
$releasever,编辑下载文件,把文件里面的$releasever全部替换为版本号,即6,保存)
为不与系统自带库重复 将163.repo文件中的 
[base]          改为[base163]
[updates]     改为[updates163]
[extras]        改为[extras163]

运行以下命令生成缓存

yum clean all
yum makecache

查看yum源  
#yum repolist

repo id                                                       repo name                                                        status

base                                                          CentOS-6 - Base                                                 6,696

base163                                                   CentOS-6 - Base - 163.com                               6,696

extras                                                        CentOS-6 - Extras                                                 63

extras163                                                  CentOS-6 - Extras - 163.com                               63

rpmforge                                                    RHEL 6 - RPMforge.net - dag                               4,718

updates                                                      CentOS-6 - Updates                                               820

updates163                                                CentOS-6 - Updates - 163.com                            820

 

repolist: 20,284




中科大的yum源
http://centos.ustc.edu.cn/

搜狐yum源
 http://mirrors.sohu.com



设置源的管理策略
         如果你喜欢优先从某个源安装软件,那么建议安装 yum-priorities 插件这个插件的作用是给多个源排定优先顺序, 当多个源中存在同一软件的时候, 软件会从优先级最高的源这装.

      #yum install yum-priorities

安装完后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入顺序指令:priority=N (N为1到99的正整数,数值越小越优先),
可以将系统自带yum设置为1,第三方源数值设为大于等于10

例如:

       [base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.CentOS.org/CentOS/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1

 

 






 

配置本地yum源

1、挂载系统安装光盘       # mount /dev/cdrom /media/CentOS/

2、配置本地yum源           # cd /etc/yum.repos.d/
                                                    # ls

        会看到四个repo 文件

CentOS-Base.repo 是yum 网络源的配置文件

CentOS-Media.repo 是yum 本地源的配置文件

3.修改CentOS-Media.repo       # cat CentOS-Media.repo
              
在baseurl 中修改路径为/media/CentOS(即为光盘挂载点)

      将enabled=0改为1(可用)

4.禁用默认的yum 网络源

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





 

posted @ 2017-10-10 21:57  乌托邦眺望  阅读(480)  评论(0)    收藏  举报