局域网内制作共享yum源

一、为什么要制作共享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-iso

mkdir /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配置成功了,现在可以随心所欲处理其他问题啦!!!

四、小结

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

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值