目录

一、yum仓库简介

1.1简介

1.2yum的实现过程原理

二、yum配置文件以及操作

2.1 配置YUM本地仓库

2.2安装httpd服务

三、采用内网搭建yum仓库

3.1http方式内网环境搭建yum仓库

3.2 ftp方式搭建yum仓库

四、总结


一、yum仓库简介

1.1简介

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓库提供
  • c/s架构

linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
        yum软件仓库中的rpm软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的

1.2yum的实现过程原理

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

二、yum配置文件以及操作

2.1 配置YUM本地仓库

首先我们需要挂载:

[root@localhost ~]# mount /dev/sr0/mnt                                    #挂载
mount: 在 /etc/fstab 中找不到 /dev/sr0/mnt
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt 忙/dev/sr0 已经挂载到 /run/media/weiran/CentOS 7 x86_64 上/dev/sr0 已经挂载到 /mnt 上
[root@localhost ~]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 20961280 3773780 17187500   19% /
devtmpfs                  917604       0   917604    0% /dev
tmpfs                     933524       0   933524    0% /dev/shm
tmpfs                     933524    9224   924300    1% /run
tmpfs                     933524       0   933524    0% /sys/fs/cgroup
/dev/sda1                5232640  182376  5050264    4% /boot
tmpfs                     186708      32   186676    1% /run/user/1000
/dev/sr0                 4414592 4414592        0  100% /mnt             #挂载成功
tmpfs                     186708       0   186708    0% /run/user/0
[root@localhost ~]#

然后我们将repo.d下面的文件放到 创建的bak目录下

[root@localhost ~]# cd /etc/yum.repos.d/                                #进入repos.d目录
[root@localhost yum.repos.d]# ls
bak  zhu.repo
[root@localhost yum.repos.d]# mkdir bak                                 #创建bak文件
[root@localhost yum.repos.d]# mv *.repo bak/                   #将所有的红帽文件复制到bak下面

然后我们需要创建一个centos7.repo文件,并且进入编辑

[root@localhost yum.repos.d]# vim centos7.repo
[centos7]                                     #仓库的名字
name=centos7
baseurl=file:///mnt                           #所挂载的目录
enable=1                                      #1开机自启动      0是开机不自启
gpgcheck=0                                    #是否检测

接下我们需要清楚清空yum并且建立元数据

[root@localhost yum.repos.d]# yum clean all && yum makecache           #清理缓存并建立元数据
已加载插件:fastestmirror, langpacks
正在清理软件源: centos7
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
centos7                                                  | 3.6 kB     00:00
(1/4): centos7/group_gz                                    | 156 kB   00:00
(2/4): centos7/filelists_db                                | 3.1 MB   00:00
(3/4): centos7/primary_db                                  | 3.1 MB   00:00
(4/4): centos7/other_db                                    | 1.2 MB   00:00
Determining fastest mirrors
元数据缓存已建立

2.2安装httpd服务

[root@localhost ~]# yum install httpd -y                         #安装指令[root@localhost ~]# rpm -q httpd                                 #查询httpd是否安装成功
httpd-2.4.6-97.el7.centos.4.x86_64
[root@localhost ~]#

最后我们就需要关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]#

然后我们在浏览器输入自己虚拟机的ip地址,就可以看到安装成功的提示

三、采用内网搭建yum仓库

3.1http方式内网环境搭建yum仓库

setenforce 0
systemctl stop firewalld.service

#两台机子关闭防火墙和selinux
服务端:192.168.109.131上的操作

yum install -y httpd                                         #下载httpd服务
systemctl start httpd                                        #启动服务
cd /var/www/html/                                            #切换到httpd的目录下
mkdir centos7                                                #创建centos7文件夹
ls
mount /dev/sr0 /var/www/html/centos7/                         #挂载

网页访问本机IP
客户端:192.168.88.100上的操作

cd /etc/yum.repos.d/                         #切换到yum.repos.d 目录下
mkdir bak                                    #创建bak文件夹
mv *.repo bak                                #复制所有的红帽软件到bak文件下
vim http.repo                                #编辑http.repo 

#####################

[http]                                                      #仓库名
name=centos
baseurl=http://192.168.88.100/centos7                      #目标访问IP地址和文件地址
gpgcheck=0
enabled=1

#######################

yum clean all &&yum makecache
yum list all

3.2 ftp方式搭建yum仓库

首先我们需要下载vsftpd服务

[root@localhost ~]# yum install -y vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 安装
--> 解决依赖关系完成

启动服务

[root@localhost ~]# systemctl start vsftpd

然后我们需要下载并创建文件夹

[root@localhost ~]# systemctl start vsftpd                   #启动vsftpd服务
[root@localhost ~]# cd /var/ftp                              #切换目录
[root@localhost ftp]# mkdir centos7                          #创建centos7文件夹
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/       #挂载
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# systemctl restart vsftpd               #重启

然后我们需要在第二台机子(192.168.88.99)上操作:

[root@localhost ~]# yum install ftp -y                                  #下载ftp服务
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 ftp.x86_64.0.0.17-67.el7 将被 安装
--> 解决依赖关系完成
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
mkdir: 无法创建目录"bak": 文件已存在
[root@localhost yum.repos.d]# mv *.repo bak
[root@localhost yum.repos.d]# vim ftp.repo

ftp.repo的具体内容如下:

[ftp]
name=centos7
baseurl=ftp://192.168.88.100/centos7
gpgcheck=0
enabled=1~
~                           

baseurl=ftp://192.168.88.100/centos7的意思是:从服务端的centos7目录中读取

ftp的根目录就是/var/ftp

接下来就是清空缓存并建立元数据

[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: ftp
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
已加载插件:fastestmirror, langpacks
ftp                                                      | 3.6 kB     00:00
(1/4): ftp/group_gz                                        | 156 kB   00:00
(2/4): ftp/filelists_db                                    | 3.1 MB   00:00
(3/4): ftp/primary_db                                      | 3.1 MB   00:00
(4/4): ftp/other_db                                        | 1.2 MB   00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]#

四、总结

搭建yum仓库方式

  1. FTP服务
  2. HTTP服务
  3. 本地仓库

rpm软件包的来源

  1. centos发布的rpm包的集合
  2. 第三方组织发布的rpm包集合
  3. 用户自定义的rpm包集合

Linux搭建YUM仓库相关推荐

  1. Linux搭建YUM仓库安装软件(Centos 7.5)

    简介:在搭建yum仓库前,应先对Linux系统有一个简单的认识,要理解挂载的概念,对Linux系统的文件对应的目录有一定的认识. 在工作中,我们通过rpm安装软件,经常会出现不能一步到位,还需要好多的 ...

  2. linux创建名字拼音的yum文件,Linux创建yum仓库

    本文将要为您介绍的是Linux创建yum仓库,教程操作步骤: 第一步.搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /medi ...

  3. linux 自建yum源_Linux 搭建YUM仓库源详解

    基于ISO镜像构建 YUM 本地源 1.yum install httpd:安装httpd软件包.yum remove httpd:卸载httpd软件包.yum erase httpd:删除httpd ...

  4. linux yum仓库命令,linux 自定义yum仓库、repo文件 yum命令

    自定义yum仓库:createrepo a)将yum源下载的rpm包下载到本地 #vim /etc/yum.conf #yum源配置文件 b) #mkdir /rpm_bak #创建rpm包下载地址 ...

  5. 【nexusyum】CentOS7.x上用nexus搭建yum仓库

    一.实验背景 在生产环境中,我们不可能所有的服务器都能连接外网更新rpm包,比较理想的环境是:有一台Linux服务器可以连接外网,剩余的服务器通过这台yum服务器更新. 传统的做法是先把包下载到内网中 ...

  6. linux配置yum仓库复制的是什么,Yum 仓库的管理和配置

    Yum 全称是 (Yellow dog Updater Modified)×××狗更新 呵呵 借助于Yum,可以更新,卸载,升级rpm 软件包,并且他能够自动解决rpm包之间的依赖关系.能够让管理人员 ...

  7. 乌班图linux配置yum仓库,Linux系统的仓库配置(yum、epel)与软件安装(wireshark,wget,nginx)...

    文章目录 Linux系统的仓库配置(yum.epel)与软件安装(wireshark,wget,nginx) 1.配置本地yum仓库安装wireshark,wget 2.配置epel仓库,安装ngin ...

  8. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf[root@control /]# cat /etc/yum.co ...

  9. linux网络yum仓库

    文章目录 一. YUM概述 二.配置YUM仓库 1.配置本地源仓库 2.配置ftp源 3.配置网络源 三.yum 命令 一. YUM概述 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件 ...

最新文章

  1. [原创]关于打开新窗口和关闭老窗口的2个方法!
  2. OpenCV applyColorMap函数实现False color伪色彩的实例(附完整代码)
  3. 5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算
  4. 遨游3.0 RC 版公布
  5. mongodb分片部署
  6. 8.分布式服务架构:原理、设计与实战 --- 敏捷开发2.0的自动化工具
  7. 用CSS3制作50个超棒动画效果教程
  8. LintCode 148. 颜色分类 JavaScript算法
  9. 【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
  10. UA MATH563 概率论的数学基础 中心极限定理19 概率测度的全变差收敛 Skorohod定理
  11. 【夜读】自我提升的8个好习惯,迷茫时看一看
  12. 计算机网络【奈氏准则和香农定理】
  13. 网页中标签对搜索引擎的影响
  14. PHPexcel 导出身份证处理
  15. css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
  16. 沉睡者IT:零基础学习短视频与+玩转抖音快手
  17. pywin32下载安装
  18. php使用gd库将文字转换成图片
  19. Elevation阴影使用
  20. NAT-DDNS内网穿透技术,解决动态域名解析难题

热门文章

  1. 物联网编程语言_编程语言以学习物联网实施
  2. GIT 无法拉取,因为存在未提交的更改。 在重新拉取前提交或撤消更改
  3. android studio新手吧,Android studio新手使用常见一些问题及解决方法
  4. 软件测试梳理 第九节 缺陷和缺陷报告
  5. pdf怎么转换成jpg格式的图片,5种方法详细教程
  6. 采购管理怎么做(详解采购工作流程)
  7. 全球化安全生产 质量保障体系建设探索
  8. Unity水管 管道流水资源
  9. optaplanner学习笔记(九)分数计算表现技巧
  10. 谭浩强 C++面向对象程序设计 118页第9题 9.商店销售某一商品,商店每天公布统一的折扣(discout)。同时允许销售人员在销售时灵活掌握售价(Price),在此基础上,对一次购10件以上者,还