yum仓库及文件共享

142 阅读3分钟

yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。

yum 实现过程

服务器也就是yum仓库,存放着rmp包、元数据metadata等信息。(元数据整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息)

当客户端要安装软件时,会按照客户端配置文件里指定的服务器路径,去访问yum服务器,并下载下载metadata缓存到客户端。然后根据metadata确认软件包的版本号,所需要的依赖包等,然后再去yum服务器依次下载安装所需要的rpm包。

实现安装服务

image-20220320204127781.png

yum 命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

ftp方式搭建云仓库

  • 服务端安装vsftp服务 yum install vsftpd -y

  • 服务端切换到ftp目录下新建一个centos7目录

vim /etc/vsftpd/vsftpd.conf 
[root@localhost etc]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 other
  • 服务端将光驱里的文件包全部考到centos7里(这里使用挂载实验) mount /dev/sr0/ var/ftp/centos7
  • 服务端开启相关服务,关闭防火墙和Selinux
systemctl stop firewalld.service
 setenforce 0
 systemctl start vsftpd
  • 客户端安装ftp服务并开启关闭防火墙和selinux
yum install ftp
 systemctl stop firewalld.service
 setenforce 0
  • 测试ftp服务是否正常
ftp 172.16.85.10
Connected to 172.16.85.10 (172.16.85.10).
220 (vsFTPd 3.0.2)
Name (172.16.85.10:root): ftp    //默认匿名
331 Please specify the password.
Password:                        //输入密码为空格回车
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls                        //查看文件
227 Entering Passive Mode (172,16,85,10,147,204).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0            2048 Sep 05  2017 centos7
drwxr-xr-x    2 0        0               6 May 02 09:35 other
drwxr-xr-x    2 0        0               6 Jun 09  2021 pub
226 Directory send OK.
  • 编写yum仓库文件 image.png

image.png yum makecache

  • 测试是否yum可以正常使用

http方式搭建

服务端

yum install httpd
mount /dev/sr0 /var/www/html
systemctl restart httpd

客户端

cd  /etc/yum.repos.d
vim  httpd.repo
[httpd]
name=http
baseurl=http://192.168.91.100
gpgcheck=0
makecache