天天看点

如何在公司内网搭建YUM仓库镜像源

作者:说骂你海盗

1.首先安装一个web服务器来作为yum源的服务器。例如Apache、Nginx等web服务器都可以作为yum源的服务器。

2.然后安装createrepo工具来生成yum仓库元数据。在Linux系统上,您可以通过运行命令sudo yum install createrepo来安装该工具。

3.在yum源服务器上创建一个新目录,比如/var/www/html/yumrepo,并使用createrepo命令来初始化该目录,生成yum仓库的清单元数据。运行命令createrepo /var/www/html/yumrepo。

4.将需要安装的软件包上传到刚才创建的yum源目录中。您可以从公共yum源或官方软件源下载rpm文件并将其复制到/var/www/html/yumrepo目录中。 配置客户端yum源文件,使其指向您的新yum源,而不是默认的公共yum源。

5.在客户端机器上打开yum配置文件,该文件通常位于/etc/yum.repos.d/目录中,然后编辑配置文件,将baseurl设置为指向您的私有yum仓库。本例以Centos7.9系统为例,服务端IP地址为A,客户端IP地址为B。

一、在服务端上:需要创建Yum仓库,通过配置WEB服务器或FTP服务器来把Yum仓库分享给局域网内其它Linux机器使用。

如何在公司内网搭建YUM仓库镜像源

(1)环境准备

1. 关闭selinux
   sestatus
   vi /etc/selinus/config      #SELINUX 修改为 disabled, 需重启机器才生效
2. 关闭防火墙
   firewall-cmd --state
   systemctl stop firewalld    #停止firewall
   systemctl disable firewalld #禁用 firewall 开机启动           

(2)导入rpm包,生成索引文件。

在本例中,以镜像包的方式导入rpm包。
1. 挂载磁盘镜像/epel镜像
   mkdir -p /media/cdrom
   mkdir -p /media/cdrom-epel
   mount -o loop -t iso9660 /home/bk_offline_repo-7.5.1804.iso  /media/cdrom-epel
   mount -o loop -t iso9660 /home/CentOS-7-x86_64-DVD-1810.iso  /media/cdrom
2. 复制rpm包至/yum/Packages
   cd /media/cdrom
   cp -R Packages/ /yum/
   unalias cp
   cd /media/cdrom-epel
   cp -rf *.rpm /yum/Packages/
   alias cp='cp -i'
3. 按照先后顺序执行以下命令,不然会报错缺少依赖包。
   rpm -ivh  deltarpm-3.6-3.el7.x86_64.rpm
   rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 
   rpm -ivh libxml2-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm    #createrepo主要是为后续生成仓库数据使用
4. 创建仓库数据,建立索引 
   createrepo -v /yum  #运行完成后会生成repodata文件夹
5. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak
   vi /etc/yum.repos.d/local.repo
   [localrepo] #注意,该地方不能有空格,不然后续执行 yum repolist all时会报错
   repolist:0   
   name=local-yum  
   baseurl=file://yum      # file://告诉yum为本地仓库,/xtkyum为绝对路径
   enabled=1
   gpgcheck=0 #关闭rpm包的gpg校验功能;个人环境,建议关闭,参数值为0;生产环境,建议打开,参数值为1。
   保存退出。
6. yum clean all #清理缓存
   yum repolist all #检查仓库列表,在列表中能看到localrepo
7. 测试能否成功安装。
   yum -y install gcc
   yum -y install ntp           

(3)配置web或http分享yum仓库。

>>>使用ftp服务器(vsftpd)分享yum仓库
1. yum -y install vsftpd  
2. 把yum仓库下的文件拷贝到vsftpd的默认根目录 /var/ftp/pub,包括repodate
   cd /yum
   cp -R Packages /var/ftp/pub
   cp -R repodate /var/ftp/pub
   chmod 755 -R /var/ftp/pub
3. systemctl restart vsftpd
   systemctl status vsftpd
     
>>>使用web服务器(apache)分享yum仓库
1. yum -y install httpd 
2. 把yum仓库下的文件拷贝到默认根目录 /var/www/html/,包括repodate
   cd /yum
   cp -R Packages /var/www/html
   cp -R repodate /var/www/html
   chmod 755 -R /var/www/html
3. systemctl restart httpd
   systemctl status httpd           

二、在客户端上:创建repo配置文件,测试yum仓库是否能正常使用。

1. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak

2. vi local.repo (ftp)
[localrepo]
name=localyum
baseurl=ftp://服务器ip地址A/pub/
enabled=1
gpgcheck=0
保存后退出
>>>如果是web服务器,baseurl修改成:baseurl=http://服务器IP地址A           

3. 最后,测试客户端是否可以成功连接到您的私有yum源,并从中下载安装包。您可以尝试运行yum命令,例如sudo yum update或者sudo yum install package_name进行测试。

文章来源:如何在公司内网搭建YUM仓库镜像源 - 裕普网络-裕普网络

继续阅读