为Red Hat和CentOS创建一个Yum存储库服务器
时间:2020-01-09 10:37:55 来源:igfitidea点击:
说明
本教程将向我们展示如何配置Yum存储库服务器。
安装Createrepo
要创建和初始化Yum存储库,必须首先下载并安装默认CentOS仓库中可用的createrepo软件包。如果我们无法访问Internet,则可以使用Red Hat或者CentOS安装光盘作为存储库进行安装。
- 安装Createrepo
yum install createrepo
创建存储库
准备存储库目录
存储库需要一个目录,其中存储软件包。理想情况下,我们将希望存储库位于其自己的卷中,最好在其自己的磁盘上。为了展示如何创建存储库,我将其添加到根卷中。我的存储库将在/ repos / CentOS / 6/5 /中创建。在处理多个基于Red Hat的发行版和版本时,最好创建一个易于理解和管理的目录结构。
- 为存储库创建一个新目录。
mkdir -p /repos/CentOS/6/5/Packages
- 将RPM软件包添加到我们刚刚创建的目录中。
初始化存储库
存储库使用一个简单的数据库来跟踪所有软件包及其相关性。这样可以为我们提供如此迅速安装所需的所有软件包。初始化步骤将创建数据库并准备目录以托管存储库,从而允许客户端连接到该存储库。
- 初始化存储库。
createrepo /repos/CentOS/6/5
更新资料库
并非所有存储库都停滞不前。通常,我们将要添加新软件包或者软件包更新。将它们添加到Packages目录不足以使其可供客户端使用。我们还需要更新存储库的软件包数据库。
- 将新软件包添加到存储库Package目录。
- 更新存储库的数据库。
createrepo --update /repos/CentOS/6/5
镜像基本存储库
使用ISO或者安装光盘
Red Hat和CentOS的安装光盘随附基本软件包的完整库,该库可镜像联机存储库。这些软件包将过期,但是我们可以稍后自己更新它们。使用安装光盘为存储库添加种子是创建基础存储库的简便方法。
- 挂载安装光盘或者ISO。
- 将光盘上的软件包复制到存储库中。例如,我已将光盘安装到/ media / CentOS。
cp -arv /media/CentOS/Packages/* /repos/CentOS/6/5/
- 创建存储库。
createrepo /repos/CentOS/6/5
镜像在线基础存储库
另一种方法是从在线存储库下载软件包。这将确保我们具有用于存储库的软件包的最新版本。
- 通过转到http://centos.org/download/mirrors/找到现有的镜像。查找我们附近的站点,然后在" Rysnc位置"列下获取地址。例如,我将在我所在位置附近使用大学。
- 使用Rsync下载整个存储库。我只对CentOS 6.5感兴趣,所以我将其定位为本地大学的目录。
rsync -rz --progress rsync://mirror.csclub.uwaterloo.ca/centos/os/x86_64/ /repos/CentOS/6/5/
发布本地存储库
该存储库已准备就绪,但是除非我们使用HTTP或者FTP发布该存储库,否则客户端将无法使用它。
通过HTTP使用Apache
- 安装Apache。
yum install httpd
- 在默认的Apache根目录中创建一个指向我们新存储库的符号链接。我们将创建链接,使其指向我们的CentOS存储库目录的根目录。这样可以减少在向仓库中添加新版本时所需的精力。
ln -s /var/www/html/CentOS /repos/CentOS
- 启动Apache守护程序以开始托管回购文件。
通过FTP使用VSFTPD
- 安装VSFTP
yum install vsftpd
- 在默认的VSFTP根目录中创建指向我们新存储库的smbolic链接。我们将创建链接,使其指向我们的CentOS存储库目录的根目录。这样可以减少在向仓库中添加新版本时所需的精力。
ln -s /var/ftp/public/CentOS /repos/CentOS
- 启动VSFTPD守护程序以开始托管回购文件。
在客户端上配置存储库
现在我们的存储库已为客户准备就绪。在他们可以访问它之前,我们需要创建一个Yum存储库配置文件。
- 登录到客户端计算机。
- 导航到托管Yum存储库配置文件的目录。
cd /etc/yum.repos.d
- 为本地存储库创建配置文件。
nano local.repo
- 将以下行添加到文件中。替换baseurl值以指向HTTP主机或者FTP主机。
[mylocalrepo] name=Local CentOS Repo baseurl=http://my-repo-server/CentOS/6/5 gpgcheck=0
- 保存更改并退出文本编辑器。