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  乌托邦眺望  阅读(439)  评论(0编辑  收藏  举报