如何创建本地红帽存储库

有很多原因可能需要一个本地的Red Hat Enterprise Linux存储库。 带宽是下载互联网更新可能是时间和带宽消耗的主要因素。 另一个原因可能是您的服务器未连接到Internet,因此需要从本地来源获取更新。 您可能有一个开发环境,您不想花费许可证,但仍需要更新。 无论您的原因如何,本教程将引导您完成获取本地存储库设置的过程。

注意:作为您的存储库的服务器只能用作存储库。

安装存储库所需的软件包

yum install yum-utils createrepo httpd

为您的存储库创建目录

mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc

有用的命令

在您的服务器上列出启用和禁用的回馈。

yum repolist all

列出您订阅的可用资料

subscription-manager repos --list

启用系统上的备份

subscription-manager repos --enable=rhel-6-server-optional-rpms

禁用系统上的备份

subscription-manager repos --disble=rhel-6-server-optional-rpms

我们希望在存储库中启用服务器,dts和rhsc(软件集合)存储库

同步Repos

一旦所有这些repos都被启用,对所有这些repos都执行以下命令, 以便为每个repos更改每个的download_path以匹配该repo的download_path

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

注意:服务器回购将占用最长时间。 像整个晚上一样 其他人应该要短得多。

Createrepo命令

一旦下载了所有软件包,就需要为每个repo下面的createrepo命令

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

注意:-g comps.xml仅用于服务器备份。

设置客户端服务器

现在您有一个本地存储库,但是您需要在Red Hat服务器上进行一些更改,这些更改将使用这些存储库。

首先确保所有其他repos的启用标志在/etc/yum.repos.d中的repo文件中设置为0(零)。 我现在不会删除该资料,因为你可能需要它们。 只需更改启用的标志即可。

现在,您需要创建一个.repo文件,该文件将添加到使用存储库的每个服务器上的/etc/yum.repos.d目录中。 该文件应该类似于以下文件。

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

创建脚本和Cron作业来更新您的存储库

创建一个名为update-repository.sh的脚本,并将其放在/ usr / local / bin中 ,其中包含以下内容:

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

请注意,我已将其放入已设置为每月轮播的日志中。

/etc/cron.d中创建一个文件, 并将其命名具有以下内容的update-repository

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh

最后的想法

完成本地存储库的设置有许多不同的方法,我当然没有发明这个轮子。 请参阅下面的资料,了解更多有关您的设置的信息和见解。

来源

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏