一、为什么要制作共享yum源
首先,yum源使用起来很方便,安装软件yum一下就搞定,但是我们只能在连接互联网环境中才能使用yum,离线环境中,安装个软件又得折腾半天;
其次,搭建一个局域网/本地的yum源,可以多人共享,在离线环境中,也可以自由使用。
最后,yum安装可以解决依赖关系(核心)。

二、共享yum源是什么?

说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。

YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。

YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

那么,共享yum源就是在局域网内(或本地)搭建一个yum源,然后局域网内(或本地)所有的计算机在离线的环境下可以使用yum命令安装软件。

三、怎么制作共享yum源

1、环境

局域网内存有至少两台网络连通的服务器或计算机;
linux系统 (以centos7为例);

2、材料

① CentOS-7-x86_64-Everything-1810.iso (最新版的everything安装包,里面有丰富的rpm包)
② nginx (需要安装好的nginx,可以正常启动,离线安装nginx,因为存在依赖关系,也比较麻烦,这不是今天的主题,就不赘述啦)

3、制作本地yum源

(1) 解压ISO文件,获取rpm包

首先挂载CentOS-7-x86_64-Everything-1810.iso,就是将CentOS-7-x86_64-Everything-1810.iso文件解压到/mnt/yum-iso文件夹里面;再把里面所有文件都拷贝到本地目录/yum/yum-iso 。

(在这一步骤中,主要理解挂载的含义,以及如何解压ISO文件。)

mount -o loop CentOS-7-x86_64-Everything-1810.iso /mnt/yum-isomkdir /yum/cp -a /mnt/yum-iso/ /yum/

检查一下/yum文件夹下的内容

ll /yum/
total 4
dr-xr-xr-x. 8 root root 4096 Dec 10  2015 yum-iso

检查一下/yum/yum-iso 文件夹下的内容

ll /yum/yum-iso/
total 640
-r--r--r--. 1 root root     14 Dec 10  2015 CentOS_BuildTag
dr-xr-xr-x. 3 root root     33 Dec 10  2015 EFI
-r--r--r--. 1 root root    215 Dec 10  2015 EULA
-r--r--r--. 1 root root  18009 Dec 10  2015 GPL
dr-xr-xr-x. 3 root root     69 Dec 10  2015 images
dr-xr-xr-x. 2 root root   4096 Dec 10  2015 isolinux
dr-xr-xr-x. 2 root root     41 Dec 10  2015 LiveOS
dr-xr-xr-x. 2 root root 483328 Dec 10  2015 Packages
dr-xr-xr-x. 2 root root   4096 Dec 10  2015 repodata
-r--r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-r--r--r--. 1 root root   1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root   2883 Dec 10  2015 TRANS.TBL

(2) 备份、移除其他repo

进入/etc/yum.repos.d 文件夹下,看一下这些默认的repo文件

ll /etc/yum.repos.d/
-rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Dec  9  2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo

给这些repo文件做一个备份,留的青山在,不怕没柴烧。

tar -zcvf repo-bk.tar.gz CentOS-*

看看这些文件:)
CentOS-Base.repo
CentOS-CR.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Sources.repo
CentOS-Vault.repo

把它们都删除

rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo

(3)配置本地repo
没有CentOS-Media.repo 也没关系,可以自己新建一个,vi或者touch都可以。只要自己不乱折腾,一般都会有的。

vi CentOS-Media.repo

填入如下内容
这个代码的意思是:配置repo路径、关闭gbp校验、启用这个repo

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/yum-iso/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

(4)制作cache

yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
Cleaning up list of fastest mirrors
yum makecache
Loaded plugins: fastestmirror
c7-media                                                                                                         | 3.6 kB  00:00:00
(1/4): c7-media/group_gz                                                                                         | 155 kB  00:00:00
(2/4): c7-media/primary_db                                                                                       | 5.3 MB  00:00:00
(3/4): c7-media/filelists_db                                                                                     | 6.2 MB  00:00:00
(4/4): c7-media/other_db                                                                                         | 2.3 MB  00:00:00
Determining fastest mirrors
Metadata Cache Created

(5)测试一下

yum groupinstall "Development tools"
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.69-11.el7 will be installed
--> Processing Dependency: perl >= 5.006 for package: autoconf-2.69-11.el7.noarch
--> Processing Dependency: m4 >= 1.4.14 for package: autoconf-2.69-11.el7.noarch
--> Processing Dependency: perl(warnings) for package: autoconf-2.69-11.el7.noarch

(6)再试一下

yum install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 0:1.6.0-10.el7 will be installed
--> Finished Dependency Resolution

(7)至此已经完成了yum源的本地搭建工作

4、局域网共享yum源配置

(1)局域网内机器的明细说明

局域网内有4台服务器,相互连通。在yum源服务器上安装好nginx,利用nginx使其余3台服务器可以共享yum源。
yum源服务器:172.28.28.130
服务器1:172.28.28.1
服务器2:172.28.28.2
服务器3:172.28.28.3

(2)yum源服务器提供对外访问地址设置(172.28.28.130)
找到Nginx的配置文件,一般是nginx.conf,也有分开写的配置文件,具体看情况。
在nginx配置文件里面添加

server{listen  8888;
server_name localhost;
#charrest koi8-r;
#access_log logs/host.access.log main;
location / {root  /mnt/yum-iso;}}

参考下图

配置完了之后,我们就得到了访问172.28.28.130服务器yum源的地址:http://172.28.28.130:8888/
紧接着启动nginx(此处需关闭防火墙或开启8888端口)
Centos7下防火墙关闭命令

[root@web ~]#systemctl stop firewalld.service

(3)其他服务器配置

① 备份原yum源配置

mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir /etc/yum.repos.d

② 创建本地yum源配置文件
每一台服务器都需要如此配置

vi /etc/yum.repos.d/CentOS-local.repo

插入的内容如下:

[base-local]
name=CentOS-local
baseurl=http://172.28.28.130:8888/
enabled=1
gpgcheck=0

保存后退出

③ 更新yum源配置

yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
Cleaning up list of fastest mirrors
yum makecache
Loaded plugins: fastestmirror
c7-media                                                                                                         | 3.6 kB  00:00:00
(1/4): c7-media/group_gz                                                                                         | 155 kB  00:00:00
(2/4): c7-media/primary_db                                                                                       | 5.3 MB  00:00:00
(3/4): c7-media/filelists_db                                                                                     | 6.2 MB  00:00:00
(4/4): c7-media/other_db                                                                                         | 2.3 MB  00:00:00
Determining fastest mirrors
Metadata Cache Created

④ 测试yum命令

yum install -y lrzsz

如果可以安装,就说明yum配置成功了,现在可以随心所欲处理其他问题啦!!!

四、小结

安装的时候遇到过还几个坑点,一步一步走过雷区,完成安装,虽说这不是什么难事,但是稍有不慎也会带来一些麻烦,这又得浪费时间了。希望这篇帖子对你有所帮助……

局域网内制作共享yum源相关推荐

  1. yum源配置,这一篇就够了!(包括本地,网络,本地共享yum源)

    服务器yum源配置 文章目录 1. 引言 1.1 什么是yum源 1.2 为什么要搭建内网yum源 1.3 准备工作 2. yum源搭建 2.1 网络yum源配置 2.1.1 yum仓库配置 2.1. ...

  2. 配置本地和共享yum源,定制属于自己的yum仓库

    使用yum安装软件 命令:####查看软件包yum list all ##列出yum源仓库里面的所有可用的安装包 yum list installed ##列出所有已经安装的安装包 yum list ...

  3. w10如何共享计算机硬盘,电脑在win10系统下设置局域网内磁盘共享的方法

    通常只要处于同一局域网中的电脑,我们可以将电脑中的磁盘设置其共享属性,那么大家就都可以方该磁盘中的内容,实现资源共享.下面是学习啦小编为大家整理的关于电脑在win10系统下设置局域网内磁盘共享的方法, ...

  4. 同网络的计算机能共享音箱吗,2019年PC“老爷机”局域网内DLNA共享音乐到小度智能音箱全记录...

    2019年PC"老爷机"局域网内DLNA共享音乐到小度智能音箱全记录 2019-10-07 11:34:17 18点赞 72收藏 7评论 创作立场声明:非IT领域从业人员,不足之处 ...

  5. 局域网内设置共享打印机并连接使用

    局域网内设置共享打印机并连接使用 1. 共享打印机连接使用(使用者) -->Windows系统使用者 -->ubuntu系统使用者 2. 共享打印机设置共享(设置者) 环境: 具体流程: ...

  6. yum命令,yum本地源,共享yum源

    yum命令 命令:####查看软件包yum list all ##列出yum源仓库里面的所有可用的安装包 yum list installed ##列出所有已经安装的安装包 yum list avai ...

  7. Windows共享Linux打印机,在Ubuntu系统中使用局域网内Windows共享打印机的方法

    最近有一台HP打印机要使用,它连接一台Windows 7电脑,作为共享的打印机,然后我在Ubuntu系统中配置局域网内Windows共享打印机,阅读了很多教程才成功连接打印机,现在把方法分享出来.可以 ...

  8. linux文件拷到光盘,制作本地yum源(以redhat5.8通过复制光盘文件到本地)

    为什么要制作本地yum源 1.RPM安装方式很多情况下不能有效解决复杂的包依赖关系. 2.而刚安装完成系统的YUM一般是通过联网使用. 3.如果是未注册的redhat5.0以上系统,则不能联网使用yu ...

  9. 自己制作本地yum源镜像

    自己制作本地yum源镜像 首先通过 yum install --downloadonly --downloaddir=/tmp/zetyum glibc.i686将镜像归到一起 然后安装yum源的打包 ...

最新文章

  1. linux如何关闭防火墙
  2. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(自定义分组的次序)实战
  3. es 创建索引报错_ES添加映射报错analyzer [ik_max_word] not found for field [title]
  4. mac中的csv文件到windows平台乱码的解决办法
  5. Thermo-Calc 2003p for WiN32 1CD(热力学计算、合金体系扩散控制计算)
  6. app漏洞扫描原理_绿盟--漏洞扫描系统NSFOCUS RSAS-S-v5.0
  7. Keras中文文档总结
  8. 注册和登录Github
  9. TI-TMS320F28335学习详解(2)::F28335片上资源详解
  10. java,png,jpg,如何合并图片进行盖章,并且对印章的位置进行定位。
  11. 计算机卡住了怎样恢复,电脑频繁假死怎么办 电脑死机数据恢复
  12. html5 在线签名,html5手写签名
  13. 人机对战之取火柴游戏
  14. ios友联统计的一些功能
  15. 网络是如何连接的--读书笔记
  16. 有源信号 无源信号 模拟量 开关量 解释
  17. 用于光波导耦合的倾斜光栅分析
  18. 区块链+支付:区块链技术是什么?它如何在支付行业中使用?
  19. 2021年三季度中国食品加工行业A股上市企业营收排行榜:双汇发展再度蝉联榜单TOP1,4家企业新上榜(附热榜TOP19详单)
  20. 有源医疗器械出厂检验安规三项必检的吗?

热门文章

  1. 处理数据库操作中的异常:确保数据的完整性和正确性
  2. 论文阅读-可迁移对抗样本攻击
  3. 干货:VR APP界面设计实践指南
  4. plt.figure、plt.subplot介绍以及绘制图中图(含代码)
  5. 细谈 Apple 处理器性能如何,苹果M1芯片
  6. QMutex 的使用
  7. sql判断时间段是否重叠
  8. 分布式通信:发布订阅
  9. linux怎么看网卡日志,查看网卡信息及状态和网卡日志信息
  10. java代码设置手机来电黑名单自动挂断