当前位置: 首页 > news >正文

部署YUM仓库

 

目录

一.YUM

1.1yum概述

1.2yum的实现

1.3yum服务的组成

 1.4yum服务实现过程

1.5yum配置文件位置

二.yum相关命令

三.搭建yum仓库的方式 

 3.1使用HTTP方式搭建yum仓库

准备工作(服务端和客户端都需要做)

服务端 

 客户端 

3.2使用ftp方式搭建yum仓库

服务端

客户端

测试

3.3搭载本地yum仓库 

补充:

搭载本地apt仓库 


一.YUM

1.1yum概述

yum(Yellowdog Updater, Modified)是 RPM 系列 Linux 发行版(如 CentOS、RHEL、Fedora)中的 包管理工具,用于自动化安装、更新、删除软件包及其依赖项。

1.2yum的实现

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

1.3yum服务的组成

yum服务是C/S模式

服务器:

  • RPM包 (Packages文件夹中)

  • 元数据(repodata文件夹:目录(软件的目录),1.软件的依赖关系,2.软件的位置)

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

客户端

  • 编写客户端配置文件

仓库类型适用场景典型仓库
官方仓库系统基础软件、安全更新。Base, Updates, AppStream
第三方仓库扩展软件(如开发工具、新版应用)。EPEL, Remi, RPM Fusion
本地仓库离线环境、企业内部分发。自建仓库或 ISO 镜像。
特殊仓库调试、源码编译、测试软件。Debuginfo, Source

 1.4yum服务实现过程

1.5yum配置文件位置

服务端:/etc/yum.conf  

客户端 :/etc/yum.repos.d/*.repo

日志:/var/log/yum.log

二.yum相关命令

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


二.查询
1.yum list  [软件名] #显示可用的安装包,不加软件名是显示所有的可用包

#举例#
[root@localhost ~]# yum list         #显示所有可用安装包
[root@localhost ~]# yum list  httpd  #显示关于httpd的包


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

#举例#
yum info  httpd  #显示httpd的详细信息


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

#举例#
yum search ftp #查找包含ftp的软件包

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


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

6.yum groupinfo  [包组名] #显示包组的详细信息

#举例#
yum groupinfo "GNOME Desktop" #显示名为 "GNOME Desktop" 的软件包组的详细信息

三.升级
1.yum update 软件名    #仅升级包,不会自动删除 旧版本的依赖
 
2.yum uograde  软件名  #升级包后,会移除新版本不再需要的旧依赖包

3.yum groupupdate [包组名] #包组更新

四.卸载
1.yum remove 软件名

2.yum groupremove 包组名    #注意:卸载软件,依赖关系是不会一起卸载的

五.其他
1.yum history              #查看yum 的历史记录

2.yum  history  undo 编号  #撤销yum操作

3.yum history redo 编号    #恢复误撤销的操作。




只下载,不安装


yum install <包> --downloadonly --downloaddir=<路径>

--downloadonly  #只下载相关包默认至某一目录
--downloaddir=绝对目录路径  #下载到某一目录 


#举例#
yum install nginx --downloadonly --downloaddir=/data/
#仅下载 nginx 及其依赖包到 /data/ 目录,不安装。

yum install nginx --downloadonly --downloaddir=/nginx/
#仅下载 nginx 及其依赖包到 /nginx/ 目录,不安装。


 

三.搭建yum仓库的方式 

 3.1使用HTTP方式搭建yum仓库

服务端的IP地址:192.168.52.100

客户端的IP地址:192.168.52.101

准备工作(服务端和客户端都需要做)

​
sudo systemctl stop firewalld      # 停止防火墙服务

sudo setenforce 0                # 临时关闭selinux

​

服务端 

yum install -y httpd    #安装httpd服务

mount  /dev/sr0  /var/www/html #挂载光盘镜像至httpd服务端  提供安装包

systemcl start httpd  #启动服务

 

 客户端 

cd /etc/yum.repos.d    #切换至系统存放YUM软件仓库配置文件的核心目录

mkdir backup           #创建一个名为 backup 的新目录。
 
mv *.repo  backup      #将当前目录下所有 .repo 文件移动到 backup/ 目录中   

vim http.repo          #编辑一个YUM软件源配置文件


1 [http]
2 name=http
3 baseurl=http://192.168.52.100/   #指定软件仓库的实际存储位置
4 gpgcheck=0


yum clean all          #彻底清理YUM的本地缓存

yum makecache          #下载并生成最新的仓库元数据缓存

yum install -y tree 
#安装任意软件 观察能否安装成功 观察安装源的变化


​

 

 

3.2使用ftp方式搭建yum仓库

 服务端的IP地址:192.168.52.100

客户端的IP地址:192.168.52.101

服务端

systemctl stop firewalld 
setenforce 0

yum install -y vsftpd    #安装ftp服务

cd /var/ftp/

mkdir test  #新建目录作为挂载点

mount /dev/sr0 /var/ftp/test  #挂载

systemctl start vsftp #启动服务

客户端

systemctl stop firewalld
setenfore 0          

cd /etc/yum.repos.d 

mkdir backup 
 
mv *.repo  backup   #备份网络源



vim http.repo  #编辑 http.repo文件

[ftp]
name=ftp
baseurl=ftp://192.168.52.100/test  #挂载目录
gpgcheck=0  #关闭校验

:wq  #退出并保存


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

测试

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

3.3搭载本地yum仓库 

具体讲解在“Linux系统安装软件的方式”这一章

mount /dev/sr0  /mnt

cd /etc/yum.repos.d/

makir bak

mv *.repo bak/

vim local.repo

[dhf]
name=local
baseurl=file:///mnt/
gpgcheck=0

yum clean all

yum makecache

yum install tree -y #验证实验似乎否成功

补充:

搭载本地apt仓库 

​
​
mkdir -p /var/www/html/apt
cd /var/www/html/apt         #创建本地APT仓库的存储目录,并进入该目录。


把压缩文件拖入指令界面
#要完成这一步需要下载apt install -y iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev  zlib1g-dev gcc openssh-server iotop unzip zip  net-tools


tar -xzvf apt.tar.gz        #解压缩

apt install dpkg-dev -y   #安装 dpkg-scanpackages 工具,用于生成APT仓库元数据

apt install apache2 -y    #安装Apache HTTP服务器,用于通过HTTP共享仓库。

cd /var/www/html/
dpkg-scanpackages apt/ > Packages  #生成仓库元数据

mv /etc/apt/sources.list /etc/apt/sources.list.ali
vim /etc/apt/sources.list
deb [trusted=yes] http://192.168.52.105(你自己的ip地址)/   /  是什么意思                 
#替换APT源为本地仓库

apt update   #验证
​

​

相关文章:

  • 卡码网55:右旋字符串
  • 【android bluetooth 框架分析 02】【Module详解 3】【HciHal 模块介绍】
  • 【tRPC-go】message、context相关源码设计思路
  • vue 入门:生命周期
  • 【第16届蓝桥杯C++C组】--- 数位倍数
  • Leetcode:二叉树
  • 简述一下Unity的UnityWebRequest
  • 第二届电气技术与自动化工程国际学术会议 (ETAE 2025)
  • STM32 低功耗模式下 RTC唤醒 和 PA0唤醒 的配合使用
  • HTML — 定位
  • leetcode精选合集(更新中)
  • Istio常用命令
  • kafka4.0浅尝辄止
  • 使用uv管理python项目环境
  • STM32单片机入门学习——第34节: [10-4] I2C通信外设
  • Mysql -- 基础
  • 数据库表的操作
  • Ethers.js 开发入门:核心功能、最佳实践与避坑指南
  • TP8 PHP 支付宝-通用版-V3 SDK 接口加签方式为证书方式
  • 手撕TCP内网穿透及配置树莓派
  • 奥斯卡新规:评委必须看完影片再投票;网友:以前不是啊?
  • 扬州市中医院“药膳面包”走红,内含党参、黄芪等中药材
  • 乌美签署矿产协议
  • 先去上海后赴北京,苏中城市泰州为何接连拥抱顶流“大城”?
  • 山西太原小区爆炸事故已造成17人受伤
  • 摩根大通任命杜峯为亚太区副主席,加码中国市场业务布局