梅州市网站建设_网站建设公司_服务器部署_seo优化
2025/12/21 2:03:03 网站建设 项目流程

一分钟快速构建本地yum/dnf软件仓库——以OpenEuler服务器为例https://blog.csdn.net/xiaochenXIHUA/article/details/155276471

一、搭建本地yum/dnf仓库所需的HTTP服务

#使用Nginx作为【Http Server】 #1-下载nginx yum install nginx -y #2-修改Nginx的配置文件【nginx.conf】开启目录索引功能 cd /etc/nginx vi nginx.conf #主要在nginx.conf的server下开启目录索引功能 autoindex on; autoindex_exact_size on; autoindex_localtime on; #3-重启nginx并查看进程信息 systemctl restart nginx.service ps -ef | grep nginx

Nginx中的内置变量、指令、URL重写功能及其虚拟主机配置、负载均衡配置https://coffeemilk.blog.csdn.net/article/details/151138716

二、添加rpm文件到yum/dnf仓库中

#添加rpm文件到yum/dnf仓库中 #1-Nginx的存放内容目录是【/usr/share/nginx/html】 #2-在Nginx的存放内容目录创建soft目录,然后将需要将共享的各类软件rpm包,都复制到这个soft目录下或者在soft目录下创建子目录进行分类存储 cd /usr/share/nginx/html/ mkdir soft #3-获取rpm包的方法【注意:在配置这些rpm包的时候不能只是配置rpm包的主程序,还需要将主程序所涉及的依赖包也配置上才行】 #3.1-获取rpm包的方法一(直接从各个镜像地址 #【如:https://developer.aliyun.com/mirror】 #【如:https://mirrors.huaweicloud.com/home】 #找到对应版本下载对应系统版本的rpm文件后复制到soft指定系统版本的目录下)【适合rpm较少的情况】 #3.2-获取rpm包的方法二(使用yum/dnf命令只下载不安装rpm包【使用该命令的前提是,这个rpm包没有在本系统中安装过】) yum -y install --downloadonly --downloaddir=/tmp vsftpd #3.3-获取rpm包的方法三(从公网镜像同步已经存在的源到本地)【可从中科大、阿里云、华为云拉取】 #如centos源【中科大:rsync://rsync.mirrors.ustc.edu.cn/centos/】【阿里云:rsync://mirrors.aliyun.com/centos】【华为云:rsync://mirrors.huaweicloud.com/centos】 #如epel源【中科大:rsync://rsync.mirrors.ustc.edu.cn/epel/】【阿里云:rsync://mirrors.aliyun.com/epel/7/x86_64/】【华为云:rsync://mirrors.huaweicloud.com/epel/7/x86_64/】 #手动同步示例: mkdir -p /data/centos/8/AppStream/x86_64/os/Packages rsync -avrtP --delete --bwlimit=5000 --ignore-errors --timeout=600 --protocol=31 --log-file=/var/log/centos8_appstream_sync.log rsync://mirrors.ustc.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/ /data/centos/8/AppStream/x86_64/os/Packages/ #定时同步示例(每天凌晨3点执行同步任务): crontab -e 0 3 * * * /usr/bin/rsync -avrtP --delete --bwlimit=5000 --ignore-errors --timeout=600 --log-file=/var/log/centos8_appstream_sync.log rsync://mirrors.ustc.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/ /data/centos/8/AppStream/x86_64/os/Packages/ >/dev/null 2>&1 mkdir -p /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os/Packages ln -s /data/centos/8/AppStream/x86_64/os/Packages /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os/Packages #3.4-获取rpm包的方法四(直接将对应系统的iso镜像文件挂载后找到对应的rpm包拷贝到我们本地的仓库目录中) #4-放开防火墙的80端口 firewall-cmd --list-port firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --list-port

三、生成索引库

3.1、生成索引库

已经指定了yum/dnf仓库的根目录是【/usr/share/nginx/html/soft】,但为了让yum/dnf能识别【/usr/share/nginx/html/soft】下的所有目录,因此需要创建yum/dnf存储库;而创建存储库需要【createrepo】命令,所以要先安装这个命令,然后再创建存储库。

#生成索引库 #1-安装【createrepo】 yum install createrepo -y #2-创建存储库【该命令可以多次执行(即只要该目录下的内容有变动,执行该命令,变动的部分才会被创建索引关联上)】 #2.1-(给【/usr/share/nginx/html/soft】目录下的所有目录内容创建存储库,会在该目录下自动生成一个名为【repodata】的目录) createrepo /usr/share/nginx/html/soft #2.2-(给【/usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os】目录下的所有目录内容创建存储库,会在该目录下自动生成一个名为【repodata】的目录) createrepo /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os

3.2、测试本地搭建的yum/dnf仓库

#测试本地搭建的yum/dnf仓库 #1-在另一台主机上创建本地搭建的yum/dnf仓库 vi /etc/yum.repos.d/local.repo #【/etc/yum.repos.d/local.repo】文件的内容如下 [localdnf] name=local_dnf baseurl=http://192.168.1.42/soft/ gpgcheck=1 enabled=1 #2-清空缓存、生成原数据和查看仓库信息 yum clean all yum makecache yum repolist #3-测试安装redis(如下图所示:仓库显示localdnf且可以获取对一个的内容下载安装则表示本地yum/dnf仓库配置成功) yum install redis -y #或【/etc/yum.repos.d/local.repo】文件的内容如下 [localcentos] name=local_centos baseurl=http://172.16.213.239/soft/centos/8/AppStream/x86_64/os gpgcheck=1 enabled=1 #清空缓存、生成原数据和查看仓库信息 yum clean all yum makecache yum repolist #测试安装nginx yum install nginx -y

到这里恭喜你测试搭建的本地yum/dnf仓库完成了,可以正常使用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询