有很多原因可能需要一个本地的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
最后的想法
完成本地存储库的设置有许多不同的方法,我当然没有发明这个轮子。 请参阅下面的资料,了解更多有关您的设置的信息和见解。