内容一:系统 UUID
1) UUID 全名 Universally Unique Identifier,即通用唯一识别码
2) 系统 UUID 是主板产品的 UUID
内容二:系统 UUID 的显示
如果是虚拟机:
# cat /sys/devices/virtual/dmi/id/product_uuid
如果是虚拟机或物理机:
# dmidecode -s system-uuid
1) UUID 全名 Universally Unique Identifier,即通用唯一识别码
2) 系统 UUID 是主板产品的 UUID
如果是虚拟机:
# cat /sys/devices/virtual/dmi/id/product_uuid
如果是虚拟机或物理机:
# dmidecode -s system-uuid
(步骤略)
# mount /dev/cdrom /mnt
(补充:这里以挂载 /dev/sr1 到 /mnt 目录为例)
# zypper ar file:/mnt/Module-Basesystem SLE15-Base
# zypper ar file:/mnt/Module-Legacy SLE15-Legacy
# zypper ar file:/mnt/Module-Development-Tools SLE15-Tools
或者:
# zypper ar -f /mnt/Module-Basesystem SLE15-Base
# zypper ar -f /mnt/Module-Legacy SLE15-Legacy
# zypper ar -f /mnt/Module-Development-Tools SLE15-Tools
(
补充:这里以将
1) /mnt/Module-Basesystem 添加到软件源并命名为 SLE15-Base
2) /mnt/Module-Legacy 添加到软件源并命名为 SLE15-Legacy
3) /mnt/Module-Development-Tools 添加到软件源并命名为 SLE15-Tools
为例
)
# vim /etc/zypp/repos.d/SLE15-Base.repo
创建以下内容:
[SLE15-Base]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Development-Tools
# vim /etc/zypp/repos.d/SLE15-Legacy.repo
创建以下内容:
[SLE15-Legacy]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Legacy
# vim /etc/zypp/repos.d/SLE15-Tools.repo
创建以下内容:
[SLE15-Tools]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Basesystem/
(
补充:这里以将
1) /mnt/Module-Basesystem 添加到软件源并命名为 SLE15-Base
2) /mnt/Module-Legacy 添加到软件源并命名为 SLE15-Legacy
3) /mnt/Module-Development-Tools 添加到软件源并命名为 SLE15-Tools
为例
)
系统运行的 kernel 内核已经被删除,此 kernel 内核相关的文件集都已经被删除,包括 ko 文件。安装新版本的 kernel 内核,并重启选择新版本的 kernel 内核,就能修复相关 kernel 内核文件集。
如果是 Rocky Linux & RHEL:
# yum update kernel*
如果是 openSUSE & SLES:
# zypper update kernel*
# reboot
如果是虚拟机:
# dmidecode -s system-product-name
VMware7,1
(补充:从输出结果可以看出此为 VMware7,1 虚拟机)
或者:
# systemd-detect-virt
vmware
(补充:从输出结果可以看出此为 vmware 虚拟机)
如果是物理机:
# dmidecode -s system-product-name
PowerEdge R940
(补充:从输出结果可以看出此为 PowerEdge R940 物理机)
或者:
# systemd-detect-virt
none
(补充:从输出结果可以看出此为物理机)
(步骤略)
(步骤略)
(步骤略)
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/<volume group>/<logical volume> 例如救援模式里的 /dev/vg/lv,openSUSE & SUSE 的系统根 “/” 分区就是救援模式里的 /dev/mapper/<volume group>-<logical volume> 例如救援模式里的 /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 根 “/” 目录 下的目录)
bash-4.3# mkdir /media
bash-4.3# mount /dev/dvd /media
bash-4.3# cp /media/suse/x86_64/rpm-4.11.2-16.21.1.x86_64.rpm .
(补充:这里以拷贝 rpm-4.11.2-16.21.1.x86_64.rpm RPM 文件 (软件包) 为例)
bash-4.3# mkdir pkg
bash-4.3# cd pkg
bash-4.3# rpm2cpio ../rpm-4.11.2-16.21.1.x86_64.rpm | cpio -ivd
(补充:这里以提取 rpm-4.11.2-16.21.1.x86_64.rpm RPM 文件 (软件包) 为例)
bash-4.3# cp bin/rpm /bin/
bash-4.3# exit
tty1:rescue:~ # reboot
https://www.suse.com/support/kb/doc/?id=000018770