yum工具使用

https://www.cnblogs.com/liuhedong/p/10663757.html

什么是yum

yum全称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器,它基于RPM包管理,宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,即软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

yum的图形化前端工具

Yum的图形化前端主要有yumex和kyum。它们并不是独立于Yum的,而是Yum的图形前端,也就是说在安装和使用Yumex和kyum同时,都是以Yum的安装和配置为基础;所以在用Yumex或kyum 时,必须先安装配置Yum。

YUM的基本工作机制如下:

服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

yum仓库/源

yum源/仓库是软件安装包的来源。yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序的相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的依赖的问题。使用 yum 安装软件时至少需要一个 yum 源。yum 源既可以使用网络 yum 源,也可以将本地光盘作为 yum 源。
常用的yum源镜像站点汇总

yum配置

yum主要有两部分配置main和repository.

  • main部分主要是yum的功能配置,对应的配置文件为/etc/yum.conf
  • repository配置yum源,对应/etc/yum.repos.d目录的下的各个文件
# /etc/yum.conf文件解析
[main]
cachedir=/var/cache/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 文件去查询过去所做的更新。
pkgpolicy=newest  //包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在,yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。distroverpkg=redhat-release  //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm 包。
tolerant=1  //有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum 不会出现错误信息。默认是0。
exactarch=1  //有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
retries=6  //网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.obsoletes=1  //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
plugins=1  //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
http-proxy=proxy-sf.sfdomain.com:8080  //网络代理地址
proxy-username=wanghuiyan   //网络代理用户名
proxy-passwd=Qwertasdfg-1234   //网络代理密码
gpgcheck=1   //有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。这个选项如果设置在[main]部分,则对每个repository 都有效

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

installonly_limit = 5

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

配置yum源

在/etc/yum.reps.d/目录下.repo后缀的文件为yum源配置文件,其中-Base.repo为网络源的配置文件,-Media.repo为网络源的配置文件。

配置本地yum源

一般iso文件的Packages目录下包含了常用的安装包,所以在无法联网的情况下,yum 可以考虑用本地光盘(或安装映像文件)作为 yum 源,具体方法如下:

  1. 修改其他几个 yum 源配置文件的扩展名,让它们失效
  2. 修改光盘yum 源配置文件,以CentOS7系统为例,修改/etc/yum.repos.d/CentOS-Media.repo
[c7-media]    //用于区别各个不同的repository,必须有一个独一无二的名称
name=CentOS-$releasever - Media   //repository的描述信息
baseurl=file:///home/sifang/iso/  //修改为iso的挂载目录,其中url 支持的协议有 http:// ftp:// file:// 三种
#        file:///media/cdrom/      //注释掉无效的地址
#        file:///media/cdrecorder/    //注释掉无效的地址,整个文件中只能有一个baseurl配置项,多个镜像地址可以分行配置
gpgcheck=1  //含义与yum.conf中的配置一样,不过仅对该源有效
enabled=1  //将0修改为1,使配置文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  1. 执行yum install softname进行安装

配置网络yum源

一般情况下,只要你的主机网络正常,可以直接使用网络 yum 源,不需要对配置文件做任何修改。但系统默认的yum 源速度往往不尽人意,为了达到快速安装的目的,在这里修改yum源为国内源。以CentOs7系统为例,配置网络yum源的方法如下:

  1. 修改/etc/yum.repos.d/CentOS-Base.repo

  2. 导入GPG KEY
    yum 可以使用gpg 对包进行校验,确保下载包的完整性,所以我们先要到各个repository 站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如RPM-GPG-KEY-CentOS-5 之类的纯文本文件,把它们下载下来,然后用rpm --import RPM-GPG-KEY-CentOS-5 命令将key 导入。

  3. 执行yum安装命令。

其他国内yum源列表如下:

  1. 企业贡献:
    搜狐开源镜像站:http://mirrors.sohu.com/
    网易开源镜像站:http://mirrors.163.com/
  2. 大学教学:
    北京交通大学:
    http://mirror.bjtu.edu.cn (IPv4 only)
    http://mirror6.bjtu.edu.cn (IPv6 only)
    http://debian.bjtu.edu.cn (IPv4+IPv6)
    清华大学:
    http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)
    http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)
    http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)
    中国科学技术大学:
    http://mirrors.ustc.edu.cn/ (IPv4+IPv6)
    http://mirrors4.ustc.edu.cn/
    http://mirrors6.ustc.edu.cn/

yum的常用命令

使用yum可以方便的进行软件包的信息查询、安装、升级、删除。(softname可以是软件名,也可以是包名)

  • 一般命令
    yum repolist 显示配置的源
    yum clean all 清除所有缓存
    yum makecache 创建缓存
    yum deplist softname 显示软件包依赖关系
  • 查询命令:
    yum list all,列出所有已安装和可用软件包的信息,也可以只查询某个软件包
    yum search softname 在线搜索含有softname关键字的包
    yum info softname 查询软件包的信息
  • 安装&卸载:
    yum install softname 安装
    yum erase/remove softname 删除/卸载
    yum reinstall softname 覆盖安装
    yum autoremove softname 删除时同时删除安装的依赖
  • 更新/升级
    yum update softname 升级/更新单个包
    yum check-update 查询更新
  • 分组
    yum grouplist
    yum groupinfo
    yum groupinstall
    yum groupremove
    yum groupupdate

FAQ

  1. 如何为yum设置代理
  • 方法一:配置文件
    /etc/yum.conf文件最后加上代理服务器的协议、地址、端口,如果代理服务器需要用户认证话,同时加上认证用户的用户名和密码。例如:
proxy=http://192.168.1.1:8080
proxy_username=用户名
proxy_password=密码
  • 方法二:临时设置环境变量
    export http_proxy=http://username:password@host:port
  • 方法三:在.bashrc文件中设置永久变量
    在用户家目录下的.bashrc文件中添加export http_proxy=http://username:password@host:port
  1. 如何使用yum安装某个软件?
    以安装postgresql数据库为例,具体方法如下:
    1)yum search postgres,查找名称中含postgres关键字的软件包,找到包postgresql.x86_64
  1. yum deplist postgresql.x86_64,查看依赖关系(实际安装不需要这一步)
    3)yum install postgresql.x86_64,安装,同时会自动安装依赖包
posted @ 2022-02-10 13:06  21summer  阅读(236)  评论(0编辑  收藏  举报