linux-Centos 搭建http yum源

在centos 中搭建本地yum 源

yum源是什么?

   总所周知我们安装软件,是需要软件包的,而且软件在安装的时候会有许多依赖包。这样导致我们手动通过软件包安装软件是十分繁琐的, yum 源是解决这个繁琐的过程,他将我们管理的软件包规整到一起,解决了安装时候各个软件的依赖问题。 

centos 搭建http 方式的yum 源方法

1. 准备环境 关闭防火墙 selinux 

检查防火墙,防火墙需要是关闭状态

[root@centos-vm1 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)

Feb 24 18:06:13 centos-vm1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 24 18:06:19 centos-vm1 systemd[1]: Started firewalld - dynamic firewall daemon.
Feb 24 18:06:20 centos-vm1 firewalld[716]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.
Feb 24 22:32:11 centos-vm1 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Feb 24 22:32:13 centos-vm1 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@centos-vm1 ~]#

检查selinux ,selinux 为disabled

[root@centos-vm1 ~]# getenforce
Disabled

或者检查selinux 配置文件

[root@centos-vm1 ~]# cat /etc/selinux/config | grep SELINUX
# SELINUX= can take one of these three values:
SELINUX=disabled

 2. 需要提供yum 源的server 上搭建配置http 服务

[root@centos-vm1 ~]# yum install -y httpd 

启动httpd 服务,使用本地ip 尝试登录http 验证httpd 是否正常

[root@centos-vm1 ~]# systemctl status httpd.service     (检查服务,如果服务不是为running 请将服务先start )
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-02-24 22:38:48 EST; 1h 28min ago
Docs: man:httpd(8)
man:apachectl(8)

/etc/httpd/conf/httpd.conf     此文件是httpd 的核心配置文件

我们httpd 中默认提供web 界面的位置是我们/var/www/html 目录,如果我们yum 源想指定目录,需要修改/etc/httpd/conf/httpd.conf 此文件

DocumentRoot "/var/www/html"      修改为DocumentRoot "/usr/local/"       {此处的/usr/local 是我们指定的目录}

<Directory "/var/www/html">      修改为<Directory "/usr/local/">     

如果不需要指定目录,可以在/var/www/html/ 自己新建一个目录即可

这里演示新建目录 

新建的目录是用来存放软件的安装包的,在centos 中软件的安装包大都是rpm 安装包

在/usr/local/ 新建yumrepo 目录

mkdir /usr/local/yumrepo      

我这里是挂载镜像,将镜像的rpm 软件包cp到/usr/local/yumrepo   此目录使用的。 

先将我们的iso 镜像挂载

查询当前的镜像是否存在

[root@centos-vm1 ~]# ls
anaconda-ks.cfg CentOS-7-x86_64-Minimal-1804.iso
创建一个挂载目录  PS 新建一个目录或者使用/mnt/ 目录都可以
[root@centos-vm1 ~]# mkdir test

将iso 镜像挂载到我们的挂载目录上
[root@centos-vm1 ~]# mount -t iso9660 -o loop CentOS-7-x86_64-Minimal-1804.iso test/
mount: /dev/loop0 is write-protected, mounting read-only
查看挂载目录,里面会有数据,我们要用的Packages 目录 此目录是存放rpm 包的目录
[root@centos-vm1 ~]# ls test/
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL

将此目录的rpm 包cp 到我们的设置的http目录下

[root@centos-vm1 ~]# cp test/Packages/*  /usr/local/yumrepo/

给/usr/local/yumrepo 配置权限,因为我们的httpd 的服务使用的是apache用户,该目录需要有普通用户的执行权限

chmod -R 755 /usr/local/yumrepo 

重启httpd 服务

[root@centos-vm1 ~]# systemctl restart  httpd.service

 重启服务可以通过本地地址登录界面看到我们的yum 源

在同一局域网中另一个server 上配置http  yum 源

配置http yum 源 

进入到/etc/yum.repos.d/ 目录下创建一个备份的目录,将我们/etc/yum.repos.d/ 下的yum 源 mv移动到我们的新建的备份目录下

[root@centos-vm2 ~]# cd /etc/yum.repos.d/
[root@centos-vm2 yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo CentOS-x86_64-kernel.repo
[root@centos-vm2 yum.repos.d]#
[root@centos-vm2 yum.repos.d]# mkdir backup
[root@centos-vm2 yum.repos.d]# mv CentOS-* backup/
[root@centos-vm2 yum.repos.d]# ls
backup

新建我们http yum源文件

[root@centos-vm2 yum.repos.d]# vim basics.repo
[root@centos-vm2 yum.repos.d]#
[root@centos-vm2 yum.repos.d]# cat basics.repo
[basics]
name=basics-repo                 #我们yum 源命名
enabled=1                     #启用yum源,0为不启用,1为启用
gkgcheck=0                  #检查GPG-KEY,0为不检查,1为检查
baseurl=http://192.168.8.99/yumrepo      #是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件

yum clean all #清除yum缓存

yum makecache #缓存本地yum源中的软件包信息

yum repolist    #查看源软件包

 尝试安装任意一个软件包检查是否可以使用http yum 源

原文地址:https://www.cnblogs.com/yk0625/p/14450672.html