YUM仓库服务

引言

学习YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管 理员在维护大量 Linux 服务器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中, 构建一台“源”服务器可以大大缓解软件安装、升级等对 Internet 的依赖。

一、YUM介绍

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件

二、YUM源的提供方式

1、配置本地源仓库

cd /etc/yum.repos.d/
vim local.repo
[local]#仓库类别
name=local#仓库名称
baseurl=file:///mnt#指定URL 访问路径为光盘挂载目录
enabled=1#开启此yum源,此为默认项,可省略
gpgcheck=0#不验证软件包的签名
mount /dev/sr0 /mnt      #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)
##清理yum缓存并更新
yum clean all && yum makecache
###检查
yum repolist

2、配置ftp源

服务器配置:

  • 安装vsftpd服务端软件

  • 创建并制作yum远程ftp站点的源

  • 启动ftp服务

rpm -qa|grep vsftpd
yum -y install vsftpd
mkdir  /var/ftp/centos7   #创建挂盘挂载目录
mount /dev/sr0 /mnt    #镜像挂载
cp -rf /mnt/* /var/ftp/centos7/  &       #&表示挂在后台
mkdir /var/ftp/other    # 创建目录repodata 数据文件
cd /var/ftp/other/ 
createrepo -g /mnt/repodata/repomd.xml ./    #工具建立仓库数据文件
systemctl start vsftpd

客户端配置:

  • 创建远程yum源的配置文件

  • yum安装软件验证结果

vi /etc/yum.repos.d/centos7.repo 
[centos7]  #仓库类别
name=centos7   #仓库名称(说明)
baseurl=ftp://192.168.10.17/centos7   #URL 访问路径 
enabled=1   #启用此软件仓库
gpgcheck=1    #验证软件包的签名
gpgkey=ftp://192.168.10.17/centos/RPM-GPG-KEY-CentOS-7    #GPG 公钥文件的位置
[other]
name=centos7
baseurl=ftp://192.168.10.17/other
enabled=1  #启用此软件仓库
gpgcheck=0  #验证软件包的签名

3、网络源

3.1 CentOS7 清华源

vim CentOS7-Base-tsinghua.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

3.2 163 yum源

下载链接:wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

vim  CentOS7-Base-163.repo   #编辑163 yum 网络源
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

3.3 阿里云

下载地址:wget http://mirrors.aliyun.com/repo/Centos-7.repo

vim CentOS7-Base-aliyun.repo   #编辑阿里云yum 网络源
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#released updates 
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

3.4 其他网络源

http://ftp.sjtu.edu.cn/centos 
#上海交大,但服务器位于北京,中国教育网网络中心, 北方用户与教育网用户推荐,速度飞快。
http://centos.ustc.edu.cn,
#中国科技大学,服务器位于合肥。 南方用户推荐。
http://mirrors.sohu.com/
#sohu的开源镜像服务器,服务器位于山东省联通。 速度飞快,全国用户推荐,经常用FireFox下载CD镜像

三、yum命令

1、yum常用的操作命令

yum -y install 软件名#安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名#卸载软件包,可自动解决其依赖关系
yum -y update 软件名#升级软件包
yum list#查询软件包列表
yum list installed#查询系统中已安装的软件包
yum list available#查询仓库中尚未安装的软件包
yum list updates#查询可以升级版本的软件包

2、案列搜索RPM包(两种方法)

yum search vim
yum list|grep "vim"

查询软件包

yum info 软件名#查询软件包的描述信息
yum info httpd
yum search [all] 关键词#根据某个关键词来查找相关的软件包
yum search all httpd
yum whatprovides 命令#查询命令属于哪个软件包
yum whatprovides netstat

3、下载RPM包而不安装

yum install 包名 -y --downloadonly
yum reinstall -y bash --downloadonly    #下载已安装过的rpm包
yum install 包名 -y --downloadonly --downloaddir=/tmp/     #下载RPM包到指定目录

4、yum history命令

yum history 查看历史记录来找到它所依赖的包,然后删除。

yum history list 列出最近的历史
yum history info id 列出某次的详细信息,
yum history undo id 撤销某次更改
yum history help 查看帮助
yum history redo加入序号重新执行序号里的操作

四、总结

我们可以通过YUM来完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,大大节省了我们的时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值