局域网内制作共享yum源 您所在的位置:网站首页 搭建yum源目录中多余文件 局域网内制作共享yum源

局域网内制作共享yum源

2024-06-19 02:16| 来源: 网络整理| 查看: 265

一、为什么要制作共享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配置成功了,现在可以随心所欲处理其他问题啦!!!

四、小结

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有