目录
1.createrepo简介
createrepo
是一个用于创建 RPM 包的工具,它可以帮助你创建一个本地的 YUM 仓库。createrepo
并不是用于运行 YUM 仓库服务的软件,而是用来生成仓库的元数据,使得 YUM 可以理解和使用这个仓库。
2.repo搭建思路
如果你想要运行一个 YUM 仓库服务,你需要使用如 Apache 或 Nginx 这样的 HTTP 服务器来托管你的仓库。以下是一个基本的设置步骤:
-
安装
createrepo
和一个 HTTP 服务器(例如 Apache)。 -
创建你的仓库目录并添加 RPM 包。
-
使用
createrepo
生成仓库元数据。 -
配置 HTTP 服务器来托管你的仓库。
-
客户端配置 YUM 仓库并测试。
3.安装
# 安装createrepo和httpd
sudo yum install -y createrepo httpd
# 创建仓库目录
mkdir -p /data/repo
#下载yumdownloader
yum install yum-utils -y
#离线下载rpm包,--resolve下载依赖
yumdownloader --resolve --destdir=/data/repo/ httpd
#或者如此离线下载包
yum install -y libmetalink --downloaddir=/data/repo/ --downloadonly
# 在仓库目录中生成元数据
cd /data/repo
createrepo .
# 配置Apache来托管仓库
sudo vi /etc/httpd/conf/httpd.conf
...
DocumentRoot "/data"
<Directory "/data/repo">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...
# 确保有以下行,然后重启Apache
sudo systemctl restart httpd
# 客户端配置(假设你的服务器IP是192.168.1.100)
sudo vi /etc/yum.repos.d/myrepo.repo
# 添加以下内容
[myrepo]
name=My Repository
#如果只是本服务器使用可以不用httpd apache服务,这里直接写成file:///data/repo/就好了,安装用yum安装就好了
baseurl=http://192.168.1.100/repo
enabled=1
gpgcheck=0
# 清除缓存并测试仓库
sudo yum clean all
sudo yum repolist
centos开启端口:
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
或者关闭防火墙
4.使用
客户端服务器配置:
# 客户端配置(假设你的服务器IP是192.168.1.100)
sudo vi /etc/yum.repos.d/myrepo.repo
# 添加以下内容
[myrepo]
name=My Repository
#如果只是本服务器使用可以不用httpd apache服务,这里直接写成file:///data/repo/就好了,安装用yum安装就好了
baseurl=http://192.168.1.100/repo
enabled=1
gpgcheck=0
# 清除缓存并测试仓库
sudo yum clean all
sudo yum repolist
或者 访问地址:http://192.168.1.100/repo下载