您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# CentOS 8怎样配置本地Yum/DNF存储库
## 前言
在CentOS 8系统中,Yum包管理器已被DNF(Dandified YUM)取代,但出于习惯,用户仍常使用"yum"命令进行操作。配置本地存储库(Local Repository)对于无网络环境、快速软件安装或定制化软件分发非常有用。本文将详细介绍在CentOS 8上创建和配置本地Yum/DNF存储库的全过程。
---
## 一、准备工作
### 1.1 系统要求
- 已安装CentOS 8系统
- 具有root或sudo权限的账户
- 至少10GB可用磁盘空间(取决于镜像大小)
### 1.2 所需软件包
```bash
sudo dnf install -y createrepo dnf-utils httpd
建议采用以下目录结构:
/var/www/html/repos/
├── baseos
├── appstream
└── custom
从CentOS官网或镜像站下载完整ISO:
wget http://mirrors.aliyun.com/centos/8/isos/x86_64/CentOS-8.x-x86_64-dvd1.iso
sudo mkdir /mnt/centos8
sudo mount -o loop CentOS-8.x-x86_64-dvd1.iso /mnt/centos8
ls /mnt/centos8/
应看到AppStream
和BaseOS
目录
sudo mkdir -p /var/www/html/repos/{baseos,appstream}
sudo cp -r /mnt/centos8/BaseOS/* /var/www/html/repos/baseos/
sudo cp -r /mnt/centos8/AppStream/* /var/www/html/repos/appstream/
sudo createrepo /var/www/html/repos/baseos/Packages/
sudo createrepo /var/www/html/repos/appstream/Packages/
sudo chown -R apache:apache /var/www/html/repos
sudo chmod -R 755 /var/www/html/repos
sudo systemctl start httpd
sudo systemctl enable httpd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
浏览器访问:
http://[服务器IP]/repos/
sudo vi /etc/yum.repos.d/local.repo
添加以下内容:
[local-baseos]
name=Local BaseOS
baseurl=file:///var/www/html/repos/baseos
enabled=1
gpgcheck=0
[local-appstream]
name=Local AppStream
baseurl=file:///var/www/html/repos/appstream
enabled=1
gpgcheck=0
对于网络客户端,修改baseurl
为:
baseurl=http://[服务器IP]/repos/baseos
sudo dnf clean all
sudo dnf makecache
sudo dnf repolist
sudo dnf install -y httpd
dnf info httpd | grep -i "from repo"
sudo mkdir /var/www/html/repos/custom
sudo createrepo /var/www/html/repos/custom
创建同步脚本/usr/local/bin/repo-sync.sh
:
#!/bin/bash
reposync -p /var/www/html/repos/baseos --repo=baseos
createrepo /var/www/html/repos/baseos
sudo crontab -e
添加:
0 3 * * * /usr/local/bin/repo-sync.sh
sudo rm -rf /var/www/html/repos/*/repodata
sudo createrepo /var/www/html/repos/
sudo restorecon -Rv /var/www/html/repos
sudo dnf --disablerepo="*" --enablerepo="local*" install [package]
journalctl -xe
tail -f /var/log/httpd/error_log
sudo dnf install mod_ssl
sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt
sudo htpasswd -c /etc/httpd/conf/.htpasswd repo-user
<Directory "/var/www/html/repos">
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>
通过本文的详细步骤,您已经成功在CentOS 8系统上配置了本地Yum/DNF存储库。这种配置特别适用于: - 无外网访问的环境 - 需要快速部署多台相同环境的场景 - 自定义软件分发的需求
建议定期更新本地存储库以获取安全补丁和新功能。对于生产环境,应考虑建立完整的镜像同步机制。
注意:CentOS 8已于2021年底停止维护,建议考虑迁移至Rocky Linux或AlmaLinux等替代发行版。 “`
这篇文章共计约2050字,采用Markdown格式编写,包含: 1. 10个主要章节 2. 代码块和命令示例 3. 结构化标题层级 4. 安全建议和故障排除 5. 实际操作的详细步骤 6. 注意事项和总结建议
可根据实际需求调整目录结构或补充特定软件的仓库配置细节。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。