步骤一:进入 Python 环境
# python3
步骤二:导入 UUID 模块
>>> import uuid
步骤三:生成 UUID
>>> uuid.uuid4()
步骤四:生成 UUID 并以十六进制进行显示
>>> uuid.uuid4().get_hex()
# python3
>>> import uuid
>>> uuid.uuid4()
>>> uuid.uuid4().get_hex()
# ifconfig | grep HW
# arp -n
(步骤略)
(步骤略)
(步骤略)
rescue login:root
(步骤略)
(
补充:
1) 物理分区可以使用 lsblk 命令、fdisk -l 或 cat /proc/partitions 命令辅助确定
2) 逻辑分区还可以可以使用 pvs 命令、lvs 命令或 lvdisplay 命令辅助确定
)
tty1:rescue:~ # mount <root spartition> /mnt
(
补充:
1) 如果是物理分区,系统的根 “/” 分区就在救援模式的 /dev/ 目录里,例如救援模式的 /dev/sda1
2) 如果是逻辑分区,Rocky Linux & RHEL 的系统根 “/” 分区就是救援模式里的 /dev// 例如救援模式里的 /dev/vg/lv,openSUSE & SLES 的系统根 “/” 分区就是救援模式里的 /dev/mapper/- 例如救援模式里的 /dev/mapper/vg-lv
)
tty1:rescue:~ # mount --rbind /dev /mnt/dev
(
补充:
1) 此时所有对救援模式的 /mnt/dev 目录的访问都会变成对救援模式的 /dev 目录的访问
2) 步骤 4.2、步骤 4.3 和步骤 4.4 也可以用以下命令代替:
tty1:rescue:~ # for i in proc sys dev; do mount --rbind /$i /mnt/$i ; done
)
tty1:rescue:~ # mount --rbind /proc /mnt/proc
(
补充:
1) 此时所有对救援模式的 /mnt/proc 目录的访问都会变成对救援模式的 /proc 目录的访问
2) 步骤 4.2、步骤 4.3 和步骤 4.4 也可以用以下命令代替:
tty1:rescue:~ # for i in proc sys dev; do mount --rbind /$i /mnt/$i ; done
)
tty1:rescue:~ # mount --rbind /sys /mnt/sys
(
补充:
1) 此时所有对救援模式的 /mnt/sys 目录的访问都会变成对救援模式的 /sys 目录的访问
2) 步骤 4.2、步骤 4.3 和步骤 4.4 也可以用以下命令代替:
tty1:rescue:~ # for i in proc sys dev; do mount --rbind /$i /mnt/$i ; done
)
tty1:rescue:~ # mount --rbind /run /mnt/run
(补充:此时所有对救援模式的 /mnt/run 目录的访问都会变成对救援模式的 /run 目录的访问)
tty1:rescue:~ # chroot /mnt
(补充:这里以 /mnt 作为系统根 “/” 目录为例)
bash-4.3# mount -a
bash-4.3# ls
bin boot dev home lib lib64 mnt opt proc root run sbin selinux srv sys tmp usr var
(补充:这里显示的是常见的 Linux 根 “/” 目录 下的目录)
(步骤略)
(
补充:
1) 物理分区可以使用 lsblk 命令、fdisk -l 或 cat /proc/partitions 命令辅助确定
2) 逻辑分区还可以可以使用 pvs 命令、lvs 命令或 lvdisplay 命令辅助确定
)
bash-4.3# grub2-install <disk which GRUB2 in>
bash-4.3# grub2-mkconfig -o /boot/grub2/grub.cfg
bash-4.3# exit
bash-4.3# reboot
如果以上步骤都不起作用,且 /boot 是单独分区的话,则可能是 boot 分区的文件系统损坏,可以尝试以下补充:
1) 重复本文步骤五和之前步骤的内容
2) 将 /boot 目录里的内容全部拷贝出来
3) 取消挂载 /boot 目录的分区
4) 将挂载 /boot 目录的分区重新格式化成 ext4 格式
5) 格式化后分区的 UUID 会改变,所以需要更新 /etc/fstab 文件中挂载 /boot 目录分区的 UUID
6) 将格式化后的分区重新挂载 /boot 目录
7) 将刚刚从 /boot 目录拷贝出来的内容拷贝回 /boot 目录
8) 重复此文的步骤六
(注意:不建议使用 Btrfs 文件系统给 /boot 目录分区)
https://www.suse.com/support/kb/doc/?id=000018770
# vim /etc/ssh/sshd_config
将以下内容:
#Banner none
修改为:
Banner eternalcenter
或者:
# sed -i 's/.*Banner.*/Banner eternalcenter/' /etc/ssh/sshd_config
(补充:这里以将 ssh 登录提示信息修改为 eternalcenter 为例)
# systemctl restart sshd
# echo 'eternalcenter.com' > /etc/issue
# echo 'eternalcenter.com' > /etc/issue.net
(补充:这里以将本地登录提示信息修改为 eternalcenter.com 为例)
# echo 'eternalcenter' > /usr/lib/issue.d/10-openSUSE.conf
# issue-generator network remove eth0
# vim /etc/sysconfig/issue-generator
将以下内容:
......
NETWORK_INTERFACE_REGEX="^[be]"
......
修改为:
......
NETWORK_INTERFACE_REGEX="^[b]"
......
或者:
# sed -i 's/NETWORK_INTERFACE_REGEX="^\[be\]"/NETWORK_INTERFACE_REGEX="^\[b\]"/' /etc/sysconfig/issue-generator
(
补充:
1) 这里以将本地登录提示信息修改为 eternalcenter.com 为例
2) 将 NETWORK_INTERFACE_REGEX=”^[be]” 修改为 NETWORK_INTERFACE_REGEX=”^[b]” 是不再显示网卡信息
)
# echo 'Welcome' /etc/issue.d/issue
(
补充:
1) 这里以添加 Welcome 本地登录提示信息为例
2) 结合上文的案例,这里将同时显示 eternalcenter.com 和 Welcome
)
# echo 'eternalcenter' > /usr/lib/issue.d/10-SUSE
# issue-generator network remove eth0
# vim /etc/sysconfig/issue-generator
将以下内容:
......
NETWORK_INTERFACE_REGEX="^[be]"
......
修改为:
......
NETWORK_INTERFACE_REGEX="^[b]"
......
或者:
# sed -i 's/NETWORK_INTERFACE_REGEX="^\[be\]"/NETWORK_INTERFACE_REGEX="^\[b\]"/' /etc/sysconfig/issue-generator
(
补充:
1) 这里以将本地登录提示信息修改为 eternalcenter.com 为例
2) 将 NETWORK_INTERFACE_REGEX=”^[be]” 修改为 NETWORK_INTERFACE_REGEX=”^[b]” 是不再显示网卡信息
)
# echo 'Welcome' /etc/issue.d/issue
(
补充:
1) 这里以添加 Welcome 本地登录提示信息为例
2) 结合上文的案例,这里将同时显示 eternalcenter.com 和 Welcome
)