[步骤] Rocky Linux & RHEL 自定义 YUM 源的制作

步骤一:制作自定义 YUM 源

1.1 安装从软件源下载安装包和依赖包到本地的工具

# yum install yum-utils -y

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.2 获取某软件的安装包和此软件的依赖包

# yumdownloader --resolve --destdir /tmp/ansible ansible

(补充:这里以将 ansible 安装包和 ansible 的依赖包下载到本地的 /tmp/ansible 目录为例)

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.3 获取生成 YUM 源的工具软件包

# yumdownloader --resolve --destdir /tmp/ansible createrepo

(补充:这里以将 createrepo 安装包和 createrepo 的依赖包下载到本地的 /tmp/ansible 目录为例)

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.4 制作 YUM 源

1.4.1 进入到软件的安装包、依赖包和生成 YUM 源的工具软件包所在的目录
# cd /tmp/ansible

(补充:这里以进入到目录 /tmp/ansible 为例)

1.4.2 安装生成 YUM 源的工具
# rpm -ivh deltarpm & rpm -ivh python-deltarpm & rpm -ivh createrepo


补充:这里安装的软件包有
1) deltarpm
2) python-deltarpm
3) createrepo

1.4.3 进入到上一级目录
# cd ../
1.4.4 创建 ansible 的 YUM 源
# createrepo ansible

(补充:这里以用 ansible 目录里的软件包创建 YUM 源为例)

步骤二:使用自定义 YUM 源

2.1 创建新的 repo 文件

# vim /etc/yum.repos.d/ansible.repo

创建以下内容:

[ansible]
name=ansible
baseurl=file:///tmp/ansible
gpgcheck=0
enabled=1


补充:这里以
1) 文件名为 ansible
2) 文件标题为 ansible
3) YUM 源的软件包位置在 /tmp/ansible
4) 不进行 gpgcheck 检测
5) 启用此 YUM 源
为例

2.2 使用自定义 YUM 源安装软件

# yum install ansible -y

(补充:这里以安装 ansible 软件为例)

[步骤] Linux Kdump 的开启 (用于收集内核崩溃时的信息) (CentOS 7 & Rocky Linux 8 & RHEL 7 & RHEL 8 版)

步骤一:开启 Kdump

1.1 确保 crash 和 kernel-debuginfo 两个软件包已安装

# rpm -qa | grep crash || yum install crash ; rpm -qa | grep kernel-debug || yum install kernel-debug

1.2 设置内核崩溃信息的存放位置

# vim /etc/kdump.conf

修改以下内容:

......
path /var/crash
......


补充:
1) 默认的存放位置是 /var/crash
2) 把这里修改成想要存放内核崩溃信息的目录
3) 为了保险起见存放内核崩溃信息的位置最好有大于内存大小的剩余空间

1.3 重新启动 kdump 服务并设置为开机自启

# systemctl restart kdump ; systemctl enable kdump

1.4 确保 kdump 服务已经开启

# systemctl status kdump

(补充:当显示输出结果里包含 operational 或者 Active: active (exited) 时,则说明 Kdump 已经启用)

步骤二:设置收集内核崩溃信息的触发条件

2.1 当内核崩溃时自动收集内核崩溃信息

2.1.1 修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
kernel.hung_task_panic=1
2.1.2 让修改的 /etc/sysctl.conf 文件生效
# sysctl -p /etc/sysctl.conf
2.1.3 当内核崩溃时,系统会自动收集内核崩溃信息并重启

(步骤略)


注意:
1) 只有 task hang 住,或者处理器线程 soft lock 时才会自动产生 dump
2) 此过程系统会自动重启

2.2 当内核崩溃时使用魔术键收集内核崩溃信息

2.2.1 修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
kernel.sysrq = 1
2.2.2 让修改的 /etc/sysctl.conf 文件生效
# sysctl -p /etc/sysctl.conf
2.2.3 当内核崩溃时,使用魔术键收集内核崩溃信息并让系统自动重启

同时先后按下以下三个按键:

ALT + PRINTSCREEN + C


注意:
1) 此过程会让系统自动重启
2) 只是系统死机并不代表有 kernel panic

2.3 当内核崩溃时使用硬件发送 NMI 收集内核崩溃信息

2.3.1 修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
kernel.unknown_nmi_panic = 1
kernel.panic_on_unrecovered_nmi = 1
kernel.panic_on_io_nmi = 1
2.3.2 让修改的 /etc/sysctl.conf 文件生效
# sysctl -p /etc/sysctl.conf
2.3.3 当内核崩溃时,联系硬件技术支持使用硬件发送 NMI 收集内核崩溃信息

(步骤略)

步骤三:手动触发内核崩溃测试 Kdmup

# echo c > /proc/sysrq-trigger

(注意:此操作会造成系统重启)

参考文献:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/system_design_guide/installing-and-configuring-kdump_system-design-guide
https://access.redhat.com/solutions/916043
https://access.redhat.com/solutions/3698411
https://access.redhat.com/solutions/6038
https://access.redhat.com/solutions/23069

[步骤] SLES 软件库的启用和禁用

注意:

在启用或禁用 SLES 的软件库前,要先注册此 SLES

正文:

步骤一:显示所有可用软件库

# SUSEConnect --list-extensions

步骤二:启用软件库

# SUSEConnect -p sle-module-live-patching/15.3/x86_64

(补充:这里以启用 sle-module-live-patching/15.3/x86_64 软件库为例)

步骤三:禁用软件库

# SUSEConnect -d -p sle-module-basesystem/15.3/x86_64

(补充:这里以禁用用 sle-module-live-patching/15.3/x86_64 软件库为例)

[步骤] SLES 到 SUSE 官网的注册和取消注册

正文:

步骤一:注册到 SLES 官网

# SUSEConnect -r <ActivationCode> -e <EmailAddress>

(补充:这里的 <ActivationCode> 和 <EmailAddress> 是在注册了 SUSE 账号并购买了对应的的订阅以后获得)

内容二:取消注册 SLES 到 SUSE 官网

2.1 取消注册 SLES 到 SUSE 官网

# SUSEConnect –de-register

或者:

# SUSEConnect -d

2.2 清空客户端与 SUSE 官网相关的缓存

# SUSEConnect --cleanup

2.3 删除客户端与 SUSE 官网相关的文件

# rm -f /etc/SUSEConnect
# rm -rf /etc/zypp/credentials.d/*
# rm -rf /etc/zypp/repos.d/*
# rm -f /etc/zypp/services.d/*

参考文献:

https://www.suse.com/support/kb/doc/?id=000018564