Redhat8 内部yum源部署手册
Yum (全称 Yellow Dog Updater)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包.
主要流程:
1、 选择一台可以联网的 RHEL 虚拟机,在其上安装 virt-who 软件包,并配置 virt-who 服务。
安装 virt-who 软件包可以通过挂载 ISO 镜像,配置本地 yum 源进行安装:
|
[root@yumserver8 ~]# yum install virt-who |
2、 配置 virt-who 服务,需要您创建并编辑如下文件 :
|
[root@yumserver8 ~]# cat /etc/virt-who.d/virt-who.conf [vmware] type=esx server=10.xx.xx.13 username=administrator@vsphere.local password=77b6513b6baf65d0b4e858a6d5bea92c1f4c7b21d697dafb895e6e34da940597 owner=17xxx593 env=Library hypervisor_id=hostname |
|
注:实际vcenter 密码错误也不会影响 |
# vim /etc/virt-who.d/virt-who.conf
[vmware]
type=esx
server=[vCenter.domain.com] [1]
username=[vCenterusername] [2]
password=[vCenterpassword] [3]
owner=[org ID] [4]
env=Library
hypervisor_id=hostname
[1][2][3][4] 处需要您根据实际情况修改:
[1] 处请替换问 VCenter 的域名或IP,[2]处替换为 VCenter 具有管理员权限的账户名,[3]处替换为[2]处用户名所对应的密码。
[4] 处请在 RHEL 虚拟机执行如下命令来获取 org ID(会需要您输入登录客户门户网站时用户名和密码):
# subscription-manager register
|
[root@yumserver8 ~]# subscription-manager register Registering to: subscription.rhsm.redhat.com:443/subscription Username: nixxd Password: The system has been registered with ID: 4e3b164c-1151-4f2b-aa03-4fee80b03f71 The registered system name is: yumserver8 [root@yumserver8 ~]# |
# subscription-manager identity
|
[root@yumserver8 ~]# subscription-manager identity system identity: 4e3b164c-1151-4f2b-aa03-4fee80b03f71 name: yumserver8 org name: 17xxx593 org ID: 17xxx593 [root@yumserver8 ~]# |
如何使用加密密码配置virt-who
# virt-who-password
#password:(在此处输入字符后系统返回字符串,填入[3])
|
[root@yumserver8 ~]# virt-who-password Password: Use following as value for encrypted_password key in the configuration file: 77b6513b6baf65d0b4e858a6d5bea92c1f4c7b21d697dafb895e6e34da940597 [root@yumserver8 ~]# |
3 、完毕后,请执行如下命令开启 virt-who 服务:
|
[root@yumserver8 ~]# systemctl start virt-who [root@yumserver8 ~]# systemctl enable virt-who |
4 、在此之后,如果 virt-who 配置正确,此服务会将 VCenter 中的宿主机的信息映射到我们的客户门户网站,然后您需要登录客户门户网站为宿主机附加上 Physical 类型的 VDC 订阅,附加完毕后,会自动解锁 Virtual 类型的 VDC 订阅供虚拟机使用。


5、 最后,使用如下命令查看注册状态:
|
[root@yumserver8 ~]# subscription-manager status +-------------------------------------------+ System Status Details +-------------------------------------------+ Overall Status: Disabled Content Access Mode is set to Simple Content Access. This host has access to content, regardless of subscription status.
System Purpose Status: Disabled
[root@yumserver8 ~]# |
6、 最后,查看yum源状态并尝试用红帽yum源安装一个软件测试一下
|
[root@yumserver8 ~]# yum repolist enabled Updating Subscription Management repositories. repo id repo name rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) |
|
[root@yumserver8 ~]# yum install net-tools 测试安装ok |
|
[root@yumserver8 ~]# cat /etc/redhat-release Red Hat Enterprise Linux release 8.5 (Ootpa) |
(为部署httpd服务准备)
|
[root@yumserver8 yum.repos.d]# firewall-cmd --add-port=80/tcp --permanent success [root@yumserver8 yum.repos.d]# firewall-cmd --reload success [root@yumserver8 yum.repos.d]# firewall-cmd --list-ports 80/tcp |
|
[root@yumserver8 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX= permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted |
|
[root@yumserver8 ~]# yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd yum-utils |
指定目录/mirror(自定义目录)
Redhat8 不用createrepo了,直接用reposync,所有都搞定了
|
reposync -p /mirror --download-metadata --repoid=rhel-8-for-x86_64-appstream-rpms reposync -p /mirror --download-metadata --repoid=rhel-8-for-x86_64-baseos-rpms |
实际包大概有30000+个,时间有点久
配置httpd服务,找到/etc/httpd/conf/httpd.conf中的DocumentRoot,并添加以下的内:
|
[root@yumserver8 ~]# cat /etc/httpd/conf/httpd.conf #DocumentRoot "/var/www/html" DocumentRoot "/mirror/" <Directory "/mirror/"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all Require all granted </Directory> # # Relax access to content within /var/www. |
|
[root@yumserver8 ~]# systemctl start httpd [root@yumserver8 ~]# systemctl enable httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. [root@yumserver8 ~]# systemctl status httpd |
### 修改 Apache 默认首页 index.html
|
cat << EOF > /usr/share/httpd/noindex/index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Redhat 8 镜像</title> <script>document.createElement("myHero")</script> <style> myHero { display: block; background-color: #ddd; padding: 10px; font-size: 20px; } </style> </head> <body> <h1> 简介</h1> <hr> <p>Redhat ,是基于 Red Hat Linux 提供的企业级 Linux 发行版本。</p> <hr> <br> <br> <h1> Redhat 8 配置内部YUM 源</h1> <br> <h2>1 、备份</h2> <myHero>mkdir /etc/yum.repos.d/backup </myHero> <myHero>mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/</myHero> <br> <h2>2 、下载新的 redhat.repo 到 /etc/yum.repos.d/ </h2> <myHero>curl -o /etc/yum.repos.d/redhat.repo http:/ /x.x.x.x/repo/ redhat.repo</myHero>
<br> <h2>3 、运行 yum makecache 生成缓存</h2> <br> <h2>4 、运行 yum repolist 查看已经生成缓存</h2> <br> <br> </body> </html> EOF |
在浏览器输入: 即可访问客户端升级方法
|
[root@yumserver8 repo]# cat /mirror/repo/redhat.repo [AppStream] name=AppStream baseurl= http xxxxxxxxx/rhel-8-for-x86_64-appstream-rpms/ enable=1 gpgcheck=0
[BaseOS] name=BaseOS baseurl= http xxxxxxxxx/ rhel-8-for-x86_64-baseos-rpms/ enable=1 gpgcheck=0
|
再需要配置的客户端上操作。
|
mkdir /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ curl -o /etc/yum.repos.d/redhat.repo |
|
[root@yum8test ~]# yum repolist all Updating Subscription Management repositories. Unable to read consumer identity
This system is not registered with an entitlement server. You can use subscription-manager to register.
repo id repo name status AppStream AppStream enabled BaseOS BaseOS enabled |
|
[root@yum8test yum.repos.d]# yum install net-tools |
测试 ok
### 配置脚本 ###
|
[root@yumserver8 mirror]# mkdir -p /var/log/yumupdatelog/
[root@yumserver8 mirror]# cat /mirror/redhat_yum_update.sh #!/bin/bash echo 'Updating Redhat Source' DATETIME=`date +%F_%T` exec > /var/log/yumupdatelog/Redhat_$DATETIME.log reposync -p /mirror --download-metadata --repoid=rhel-8-for-x86_64-appstream-rpms reposync -p /mirror --download-metadata --repoid=rhel-8-for-x86_64-baseos-rpms if [ $? -eq 0 ];then echo "SUCESS: $DATETIME Redhat_yum update successful" else echo "ERROR: $DATETIME Redhat_yum update failed" fi [root@yumserver8 mirror]# |
### 添加定时任务 ### 每周一凌晨 1 点执行
|
[root@yumserver8 mirror]# crontab -l 0 1 * * 1 /bin/bash /mirror/redhat_yum_update.sh |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70004783/viewspace-2992107/ ,如需转载,请注明出处,否则将追究法律责任。