Linux网络服务之部署yum仓库

1、yum仓库简介

1.1yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

1.2yum实现过程

软件仓库的提供方式
- 1.本地yum源(file:///mnt)
- 2.http yum源(http:///192.168.140.111/centos7)
- 3.ftp yum源(ftp:///192.168.140.111/centos7)

1.2.1yum工作原理

1.客户端根据配置文件找到yum仓库服务器的位置
2.服务端向客户端发送元数据包(包含 软件依赖关系 软件的位置)  
#相当于软件安装目录 
3.客户端下载后,在元数据包中的查找到目标,发送请求
4.服务器响应并将相关软件包和依赖关系发送给客户端,客户端下载安装

在这里插入图片描述

1.2.2注意事项

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:
- RPM包 (Packages文件夹中)
- 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

客户端的配置文件中 
baseurl=地址   一定要写到到   这两个文件夹 repodata  packages  的上级目录 

最终形成两个文件夹Packages (包文件夹一般取名packages)和  repodata(元数据文件夹)

2、yum配置文件

2.1yum配置文件

2.1.1主配置文件

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0         //是否保存缓存  0代表不保存,1代表保存
debuglevel=2               //调试级别了解即可
logfile=/var/log/yum.log   // 日志文件位置
exactarch=1	  //是否允许不同版本的rpm安装
obsoletes=1	//update 的一个参数是否可以允许旧版本的运行	
gpgcheck=1      //验证秘钥
plugins=1      //是否允许插件1代表可以
installonly_limit=5  //保存几个内核 5代表5个

在这里插入图片描述

2.1.2仓库的设置文件

/etc/yum.repos.d/*.repo     //yum仓库文件位置

在这里插入图片描述

2.1.3日志文件

/var/log/yum.log    //日志文件位置

在这里插入图片描述

3、yum命令详解

3.1下载安装

yum install  软件名 -y #通过yum方式安装

在这里插入图片描述

3.2查询

3.2.1显示可用的安装包:yum list

在这里插入图片描述

3.2.2 显示指定安装包详细信息:yum info

yum info  [软件名] #显示指定安装包详细信息,不加软件名是显示所有包的详细信息

在这里插入图片描述

3.2.3根据关键字查找软件安装包:yum search

yum search  关键词 #根据关键字查找软件安装包

在这里插入图片描述

3.2.4 根据命令名查找对应的软件包:yum provides

yum   provides 命令 #根据命令名查找对应的软件包

在这里插入图片描述

3.2.5 查询安装包组:yum grouplist

yum grouplist  [包组名] #安装包组的查询 不加包组名 就是显示所有

在这里插入图片描述

3.2.6安装包组的详细信息:yum groupinfo

yum groupinfo  <包组名> #显示包组的详细信息

#举例#
yum groupinfo Minimal Install #最小化安装包组的详细信息

在这里插入图片描述

3.2.7 查看历史的使用记录:yum history

yum history  #查看历史记录

在这里插入图片描述

3.3卸载

3.3.1yum remove

yum remove 	[软件名] 卸载已安装的软件

在这里插入图片描述

3.3.2yum history undo

选择ID 1,2,3,4,5
可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除

在这里插入图片描述

再次查看history,可以看见增加了一条删除记录

在这里插入图片描述

#如果卸载错误#
yum history redo n #反悔卸载,n为卸载记录的ID

#举例#
yum history redo 8 #重新安装第二条记录中卸载的软件

在这里插入图片描述

3.4只下载不安装

当内网的一台主机安装某个软件包却缺少依赖包时,可以先由一台可连接外网的服务器下载依赖包,之后共享给这台主机
yum install --downloadonly +软件名称 --downloaddir=指定rpm包存放路径 

4、yum仓库搭建方式

4.1搭建本地yum仓库

systemctl stop firewalld
setenforce 0

在这里插入图片描述

[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载

在这里插入图片描述

切换到源文件目录   cd /etc/yum.repos.d/

在这里插入图片描述

[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# ls
bak               CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# ls
bak

在这里插入图片描述

[root@localhost yum.repos.d]# vim local.repo

在这里插入图片描述

yum clean all
yum makecache

在这里插入图片描述

yum -y install tree  //安装软件检测源的变化

在这里插入图片描述

4.2使用HTTP方式搭建yum仓库

服务端

systemctl stop firewalld   //关闭防火墙
setenforce 0

在这里插入图片描述

yum -y install httpd  //安装http

在这里插入图片描述

mount /dev/sr0 /var/www/html  //将光驱挂载在可以共享的文件夹下

在这里插入图片描述

客户端
在这里插入图片描述

vim http.repo  #新建 http.repo文件
[http]
name=http
baseurl=http://192.168.2.102 #服务器的ip地址
gpgcheck=0  #关闭校验
:wq  #退出并保存

在这里插入图片描述

yum clean all   //清理缓存

在这里插入图片描述

yum makecache   //建立元数据库

在这里插入图片描述

yum -y install tree  //安装tree

在这里插入图片描述
在这里插入图片描述

4.3 使用FTP方式搭建yum仓库

配置服务端

#关闭防火墙
systemctl stop firewalld  
setenforce 0
# yum 安装ftp软件
yum -y install vsftpd

在这里插入图片描述

cd /var/ftp/
mkdir /var/ftp/centos7  #新建目录作为挂载点
mount /dev/sr0 /var/ftp/centos7  #挂载

在这里插入图片描述
客户端

systemctl stop firewalld.service 
setenfore 0  #关闭防火墙和selinux
cd /etc/yum.repos.d 
mkdir backup 
mv *.repo  bak   #移走网络源
vim ftp.repo  #新建 ftp.repo文件

在这里插入图片描述

vim ftp.repo  #新建 ftp.repo文件
[ftp]
name=ftp
baseurl=ftp://192.168.190.254/test  #挂载目录
gpgcheck=0  #关闭校验
:wq  #退出并保存

在这里插入图片描述

yum clean all 
yum makecache #清除网络源缓存,建立本地源数据

在这里插入图片描述

yum install -y tree #安装tree以测试源的变化

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_62231324/article/details/132248473