YUM仓库配置及命令详解

作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如何排除?可以采取多少种方式?有三种方式可以做到,我们会在本篇中教你这三种方法。

YUM软件仓库简介

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

YUM仓库简单来说就是:
1.RPM包构建的软件更新机制;
2.自动解决依赖关系;
3.软件包由集中的YUM软件仓库提供。

YUM仓库配置及命令详解YUM仓库配置及命令详解

要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装包文件及其依懒软件的软件仓库,提供软件仓库的服务器也称为“源”服务器。
YUM仓库配置及命令详解
部署YUM软件仓库一、准备网络安装源(服务器端)

YUM软件仓库通常借助于HTTP协议或FTP协议来进行发布, 这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依懒关系等信息,在软件仓库中需要提供仓库数据(repodate文件),其中收集了目录下所有的rpm头部信息。

RPM软件包的来源
1.CentOS发布的RPM包集合;
2.第三方组织发布的RPM包集合;
3.用户自定义的RPM包集合。

1.准备软件仓库目录

在centos 7 系统的安装光盘中,已针对软件目录Packages建立好了repodate数据。因此只需将整个光盘中的内容通过HTTP和FTP的方式进行发布,就可以作为软件仓库。

[root@localhost ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 
//通过rpm的方式安装FTP服务

[root@localhost ~]

# mkdir /var/ftp/centos7

[root@localhost ~]

# cp -rf /mnt/* /var/ftp/centos7/ //创建一个目录(自定义即可,必须在可以匿名访问FTP服务的目录中) //然后将光盘下的所有东西都复制到该目录下

对于用户搜集的非Centos 7 光盘中的软件包。除了需要准备的相应的目录之外还需要手工的创建repodate文件,这就需要用到createrepo工具。

[root@localhost ~]# mkdir /var/ftp/other

[root@localhost ~]

# cd /var/ftp/other/ //进入到存放rpm包的目录中

[root@localhost other]

# createrepo . //使用createrepo工具进行创建repodate文件, //并制定数据文件存放位置是当前目录

2.启动FTP服务,并保证匿名用户能正常访问

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]

# systemctl enable vsftpd //启动FTP服务并设置为开机自启动

[root@localhost ~]

# ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.2) Name (127.0.0.1:root): //直接回车 530 Permission denied. Login failed. ftp> //测试FTP服务可以匿名访问

二、配置软件仓库位置(客户端)

yum工具使用的软件仓库信息存放在/etc/yum.repos.d目录下扩展名必须是“.repo”结尾(建议将目录下原来的文件移出指定目录),原本的文件是联网直接可以从互联网下载软件的配置文件。

[root@localhost ~]# mv /etc/yum.repos.d/* /a

[root@localhost ~]

# vim /etc/yum.repos.d/a.repo //创建新的YUM仓库,内容如下: #创建安装通过FTP发布的光盘镜像中的rpm包

[ftp]

//仓库ID name=ftp
//仓库名称,自定义,可忽略 baseurl=ftp://192.168.1.1/centos7
//URL访问路径(FTP服务须指定到repodate数据文件的上级目录) enabled=1 //是否启用软件仓库(1启用,0不启用)默认值为1,这项可忽略 gpgcheck=1 //是否验证软件包的签名(1启用,0不启用) gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //指定公钥文件存放位置 #创建安装通过FTP发布非光盘镜像的rpm包

[ftp1]

name=ftp1 baseurl=ftp://192.168.1.1/other enabled=1 gpgcheck=0 //没什么特殊要求,这项一般是0,不启用软件的签名认证 #通过HTTP发布的光盘镜像中的rpm包

[http]

name=http baseurl=http://192.168.1.1 //HTTP服务,只需指定HTTP服务的IP地址即可 enabled=1 gpgcheck=0 #如果光盘挂载本地

[local]

name=local baseurl=file:///mnt //本地指定光盘镜像挂载位置 enabled=1 gpgcheck=0 使用yum工具管理软件包

在CentOS 7 服务器中,yum工具是最常用的YUM客户端工具,由默认安装的yum-3.4.3-150.el7.centos.noarch软件包提供。

一、查询软件包

1.yum list ——查询软件包列表

[root@localhost ~]# yum list
//可以获得系统中的软件安装情况,也可以查询软件仓库中可用的软件包列表。

[root@localhost ~]

# yum list installed //只列出系统中已安装的软件包

[root@localhost ~]

# yum list available //只列出软件仓库中可用(但是尚未安装)的软件包

[root@localhost ~]

# yum list updates //列出可以升级版本的软件包

2.yum info——查询软件包的描述信息

[root@localhost ~]# yum info vsftpd
//加软件包查看详细的描述信息
已加载插件:fastestmirror, langpacks
源 'a' 在配置文件中未指定名字,使用标识代替
Loading mirror speeds from cached hostfile
已安装的软件包
名称    :vsftpd
架构    :x86_64
版本    :3.0.2
发布    :21.el7
大小    :348 k
源    :installed
简介    : Very Secure Ftp Daemon
网址    :https://security.appspot.com/vsftpd.html
协议    : GPLv2 with exceptions
描述    : vsftpd is a Very Secure FTP daemon. It was written completely from
         : scratch.

3.yum search——查询指定的软件包

[root@localhost ~]# yum search vsftpd
//查询与vsftpd相关的软件包

[root@localhost ~]

# yum search vsftpd //加大查询范围

二、安装、升级、卸载软件包

使用yum命令进行操作时,自动检查并解决软件包之间的依懒关系,期间会提示用户按“y”确认。若希望自动确认,```
可以在yum命令后添加“-y”选项。

[root@localhost ~]# yum -y install vsftpd
//安装vsftpd服务

[root@localhost ~]

# yum -y update vsftpd //更新vsftpd服务

[root@localhost ~]

# yum -y remove vsftpd //卸载vsftpd服务 如果YUM配置文件编写错误,修改配置文件之后,建议使用

[root@localhost ~]

# yum clean all //清空YUM缓存信息

原文来自:https://www.linuxidc.com/Linux/2019-08/160112.htm

点赞

发表回复

欢迎阅读『YUM仓库配置及命令详解』