[步骤] Linux 第三方库的添加

步骤一:添加第三方库

# vi /etc/ld.so.conf

或者:

# vi /etc/ld.so.conf.d/*.conf

添加以下内容:

......
/root/lib

(补充:这里以添加位于目录 /root/lib 的库为例)

(注意:这里的 /etc/ld.so.conf.d/*.conf 是指 /etc/ld.so.conf.d/ 目录下任意以 .conf 结尾的文件,例如 /etc/ld.so.conf.d/one.conf)

步骤二:创建新的 initramfs 文件为例

2.1 备份已有的 initramfs 文件

# cp /boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img  /boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img.backup


补充:
1) 这里以将:/boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img 备份为:/boot/initramfs-4.18.0-553.89.1.el8_10.x86_64.img.backup 为例
2) initramfs 是压缩的 cpis 文件,是临时的根文件系统包含一些脚本、程序和配置文件,在 Linux 启动过程中被加载在内存里,负责 Linux 操作系统在挂载根目录前加载内核模块、检查硬件、加载驱动以及挂载真正的根文件系统等)

2.2 创建新的 initramfs 文件

# dracut -f /boot/initramfs-(uname -r).img $(uname -r)

(补充:这里以将正在运行的内核版本生成一个新的 initramfs 为例)

(注意:此时原来启动系统时使用的那个 initramfs 文件会被覆盖)

步骤三:重启系统

# reboot

步骤四:确认第三方库已经添加

4.1 确认在现在的缓存中包含了第三方库

# ldconfig -p -M -X | grep out


补充:
1) 这里的 -N 和 -X 必须一起使用,作用是不更新相关链接和不重建相关缓存
2) 这里的 -p 作用是打印现在在缓存中的相关目录和相关候选库
3) 这条命令会显示目前在缓存中的第三方库

4.2 确认加载的库中没有重复的

# for l in $(ldconfig -p -N -X | awk '{ print $1 }') ; do matches=$(ldconfig -p -N -X | awk "\$1 == \"$l\" { print }"); if [ $(echo "$matches" | wc -l) -ge 2 ]; then echo "$matches"; echo; fi; done |wc -l

(补充:如果加载的库中没有重复的则这里不会有任何输出结果)

[排错] 解决 openSUSE & SLES 使用 zypper migration 命令时报错 “are not activated on the system”

报错命令

# zypper migration

报错代码

'The requested products 'SAP Applications Module 15 SP6 x86_64' are not activated on the system.' (422)

'/usr/lib/zypper/commands/zypper-migration' exited with status 1

(补充:从这里输出可以看出,本次缺失的软件库是 SAP Applications Module 15 SP6 x86_64)

解决方法

解决方法一:添加缺失的软件库 (必须要有相关软件库的订阅才能使用此解决方法)

1.1 显示所有的软件库

# SUSEConnect --list-extensions

或者:

# SUSEConnect -l

(补充:如果此时有相关的软件库订阅的话,此命令就会显示添加相关软件库的方法)

1.2 添加相应的软件库

按照上一步显示的方法,添加相应的软件库

解决方法二:删除缺失的软件库

# zypper remove -y sle-module-sap-applications-release

(补充:这里以删除 sle-module-sap-applications-release 软件库为例)

渐变

混沌多变的理论缠绕在一起
死锁着令人向往的魔法
炙热的心在渐渐冰冷
赤诚的胸会失去希望

悄悄流走的奇迹
令人费解的幻想
世界轮回往复
却总是有尝试的回响

悬于朦胧夜色的微弱星光
指引着传奇的方向
在风中摇曳旋转的枯叶
把思绪从虚化中拉回现实

在模糊的历史中搜寻真相
开始洞察渐渐清晰的战场
在蓝色的星球上举起光芒
背负起逐渐明确的希望

在格式化的世界中不再屈意逢迎顺从
直率地表达当下的真实
在正在变革的世界的映射下发现自己
即使与残酷和愤怒相伴

怎样的幸福和怎样的约定
怎样的信仰和怎样的誓言
怎样的道德和怎样的秩序
怎样的怎样

即使最后只会是一个稍纵即逝的机会
直面混沌
握紧希望
这故事还很漫长

[步骤] OpenShift 集群所属 Red Hat 账号的切换

步骤一:确认此 Openshift 集群迁移的源账号和目标账号

(步骤略)

步骤二:在源账号里允许此 OpenShift 机器可以迁移

(注意:只在源账号上执行以下操作)

Login website https://console.redhat.com/openshift/details –> Cluster List –> Three points ‘…’ in the end of the cluster line which need migration –> Transfer cluster ownership –> Initiate transfer

步骤三:在目标账号里复制 pull-secret

3.1 在目标账号里复制 pull-secret

(注意:只在目标账号上执行以下操作)

Login website https://cloud.redhat.com/openshift/install/pull-secret –> Copy pull secret

3.2 粘贴目标账号的 pull-secret

(注意:只在 OpenShift 集群上的管理机上执行以下步骤)

# vi /root/pull-secret-onetime

(粘贴刚刚复制的内容)

(补充:这里以在文件 /root/pull-secret-onetime 里粘贴刚刚复制的内容为例)

步骤四:让刚刚粘贴的 pull-secret 生效

4.1 让刚刚粘贴的 pull-secret 生效

(注意:只在 OpenShift 集群上的管理机上执行以下步骤)

# oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=/root/pull-secret-onetime

(补充:这里的文件 /root/pull-secret-onetime 是在上 1 步中粘贴了 pull-secret 的文件)

4.2 查看 pull-secret 生效的进度

(注意:只在 OpenShift 集群上的管理机上执行以下步骤)

# watch -n1 oc get mcp

(补充:当输出的 READYMACHINECOUNT 的数量和 MACHINECOUNT 的数量相等后,再等大概十多分钟后,通常就切换成功了。)

步骤五:检验切换是否成功

(注意:只在目标账号上执行以下操作)

Login website https://console.redhat.com/openshift/details

(补充:如果在此网页看到要被切换的 OpenShift 的 Cluster ID 则代表切换成功了)