为公司配置一台YUM源服务器

出于各种原因,公司内部服务器很少可以访问互联网,导致安装软件包非常的不方便,如果需要使用yum命令安装软件包,需要先将ISO文件上传到每台服务器,然后在服务器上挂载并配置本在YUM源,如果服务器数量较多的情况下,这种方式就非常繁琐,而且每台服务器都上传ISO文件话,就会造成大量的磁盘空间浪费。
接下来给大家演示配置一台YUM源服务器,客户端只需要配置YUM源文件即可。

1. 测试环境

准备两台CentOS7.6操作系统的服务器或虚拟机,host01作为服务端,host02作为客户端;
CentOS7.6的ISO文件:CentOS-7-x86_64-DVD-1810.iso;
关闭防火墙和SELinux

2. 测试场景

测试场景分两种情况:
(1)仅将ISO文件中的安装包上传到服务器中;
(2)需要自定义软件包,比如将ISO文件中的安装包和自己下载的软件包一起放在YUM源服务器中;

3. 前提条件

需要在服务端安装web服务,这里使用Apache,也可以使用Nginx;
安装Apache:
yum install httpd -y
如果服务端不能访问外面,需要先配置本地YUM源;
启动服务:
systemctl start httpd

4. 仅使用ISO文件中的安装包

这个需求是最简单的,因为ISO文件中自带软件包索引文件,不需要额外创建。

4.1 挂载ISO文件

挂载ISO文件后,可以看到以下目录及文件:

 

重点是Packages和repodata两个目录,KEY文件可以不使用。
基本Packages包含所有软件包,repodata包含软件包的索引文件。

4.2 拷贝ISO中的软件包到服务端

创建目录:
mkdir /var/www/html/CentOS7.6
拷贝文件:
cp -a /mnt/Packages /var/www/html/CentOS7.6cp -a /mnt/repodata /var/www/html/CentOS7.6
此时打开网页就可以看到刚上传的目录:
http://192.168.211.101/CentOS7.6/

 

4.3 配置客户端测试

4.3.1 配置YUM文件

将原有的配置文件删除,新建一个:
rm -rf /etc/yum.repos.d/*touch /etc/yum.repos.d/local.repo  #注意文件名必须以repo结尾
vi /etc/yum.repos.d/local.repo
#文件中写入以下内容[Local_YUM]name=Local_YUMbaseurl=http://192.168.211.101/CentOS7.6enable=1gpgcheck=0

 

4.3.2 更新YUM缓存

yum clean allyum makecache

4.3.3 安装软件包

安装一个系统中未安装的软件包,这里以wget软件为例:
rpm -qa | grep wget    #查看wget软件包是否安装yum install wget -y    #安装wget

 

可以查看到软件包已经可以正常安装了。

5. 添加自定义安装包到YUM服务器中

5.1 准备软件包

比如需要安装数据库:MariaDB-server-10.11.7,此时YUM服务器是不存在这些软件包的,先把软件包上传到服务器中,如:

 

MariaDB-server目录中包含了MariaDB-server-10.11.7和MariaDB-client-10.11.7所需要的依赖包,但只有rpm包还不能使用,需要为它们创建索引文件。

5.2 创建索引

创建索引需要使用createrepo命令,默认情况下未安装该命令,安装createrepo:
yum install createrepo -y
创建索引信息:
createrepo -v /var/www/html/MariaDB-server

 

执行命令后,会在同目录下生成一个repodata目录,目录中包含和索引配置。

5.3 配置客户端测试

配置前测试一下是否可以安装:
yum install MariaDB-server-10.11.7 MariaDB-client-10.11.7 -y

 

因为之前配置ISO文件中的软件包不包含MariaDB 10.11.7版本,所以还无法安装成功。

5.3.1 配置YUM文件

touch /etc/yum.repos.d/mariadb.repo
vi /etc/yum.repos.d/mariadb.repo
#文件中写入以下内容[Mariadb_YUM]name=Mariadb_YUMbaseurl=http://192.168.211.101/MariaDB-serverenable=1gpgcheck=0

 

5.3.2 更新YUM缓存

yum clean allyum makecache

5.3.3 安装软件包

再次安装软件包MariaDB-server-10.11.7和MariaDB-client-10.11.7:
yum install MariaDB-server-10.11.7 MariaDB-client-10.11.7 -y

 

已经可以安装成功了。

6. 总结

至此,我们已经拥有一台内网的YUM服务器了;
当然也可以将所有软件包放在同一个目录中,使用createrepo命令创建索引即可;
在客户端配置YUM文件中的baseurl时,路径为repodata目录所在的目录,比如repodata目录在MariaDB-server中,则写成:
baseurl=http://192.168.211.101/MariaDB-server

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/80522.html

(0)
guozi's avatarguozi
上一篇 2024年5月31日 上午9:54
下一篇 2024年5月31日 上午9:56

相关推荐

  • 网站被屏蔽是什么意思,被网站屏蔽了怎么办

    互联网行业是一个充满活力、不断变化的行业,但也随之而来一些挑战。其中之一是网站页面被阻止且无法访问的问题。那么,您知道为什么被阻止的网站的页面无法再访问吗?如何检查网站的页面是否被…

    行业资讯 2024年5月13日
    0
  • JSON是什么?

    在当今网络互联网服务器行业中,你一定听说过JSON这个名词。那么,JSON究竟是什么?它有什么特点和优势?与XML相比,它又有何不同?更重要的是,在网络互联网服务器中,JSON又是…

    行业资讯 2024年3月29日
    0
  • 百度诚信

    云服务器,这个词在近几年来已经变得家喻户晓。它代表着互联网时代的发展和进步,也是企业数字化转型的必备工具。而作为国内最大的互联网公司之一,百度推出了自己的云服务器产品——百度诚信。…

    行业资讯 2024年4月19日
    0
  • csv文件单元格格式,csv格式是什么意思

    本文分享自华为云社区《CSV—简单格式下隐藏的那些坑-云社区-华为云》,作者:aKi。前言CSV(Comma-Separated Values),是一种通用的、

    2024年5月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注