# ldd `which ls`
[步骤] Linux 重启后网卡上没有 IP 地址的处理方法
步骤一:在硬件管理页面检查物理网卡是否联通
记录需要使用的网络端口的网卡机器码 (MAC) 地址
(步骤略)
(
注意:
1) 只有物理机才需要完成这步
2) 当物理机 1 个网络模块上有 2 个网络端口时,要特别注意 2 个网络端口各自的网卡机器码 (MAC) 地址,例如:戴尔服务器网络端口的网卡机器码 (MAC) 地址在页面的最下方
)
步骤二:在系统中查看对应的网卡是否联通
2.1 使用 IP 命令查看对应的网卡是否联通
# ip a s
或者:
# ip address show
(补充:当出现 ”UP“ 字样时代表网卡已经启动)
(注意:nmcli device show 命令不能确认此时网卡是否联通)
2.2 使用 ethtool 命令查看对应的网卡是否联通
# ethtool eth0
(注意:nmcli device show 命令不能确认此时网卡是否联通)
步骤三:尝试配置临时 IP 地址和临时网关 (只有当确认网卡是联通的时候才进行以下操作)
3.1 尝试配置临时 IP 地址
# ifconfig eth0 192.168.0.2/24
或者:
# ip a add 192.168.0.2/24 dev eth0
(补充:这里以给 eth0 网卡添加临时 IP 地址 192.168.0.2/24 为例)
(注意:只有当确认网卡是联通的时候才进行此操作)
3.2 尝试配置临时网关
# route add default gw 192.168.0.1
或者:
# ip route add default via 192.168.0.1
(注意:只有当确认网卡是联通的时候才进行此操作)
3.3 查看配置的临时 IP 地址和临时网关
3.3.1 查看配置的临时 IP 地址
# ip a s
3.3.2 查看配置的临时网关
# route -n
[步骤] Linux 进入紧急模式后的操作建议
步骤一:查看系统日志判断是什么原因导致系统进入了紧急模式
# journalctl -xb
步骤二:判断软件的哪些文件发生了改变或者有缺失
# rpm -Va
步骤三:查看关键的模块是否还在
3.1 查看所需要的模块是否还在
3.1 查看所有的模块是否还在
# depmod -a
3.2 查看所需要的模块是否还在
# lsmod | grep bonding
(补充:这里以查看 bonding 模块是否还在为例)
3.2 尝试加载所需要的模块
# modprobe bonding
(补充:这里以尝试加载 bonding 模块为例)
步骤四:尝试配置临时 IP 地址和临时网关
4.1 查看当前网卡是否接入网络
# ethtool eth0
(补充:这里以查看 eth0 网卡是否接入网路为例)
4.2 尝试配置临时 IP 地址
# ifconfig eth0 192.168.0.2/24
或者:
# ip a add 192.168.0.2/24 dev eth0
(补充:这里以给 eth0 网卡添加临时 IP 地址 192.168.0.2/24 为例)
4.3 尝试配置临时网关
# route add default gw 192.168.0.1
或者:
# ip route add default via 192.168.0.1
4.4 查看配置的临时 IP 地址和临时网关
4.4.1 查看配置的临时 IP 地址
# ip a s
4.4.2 查看配置的临时网关
# route -n
[步骤] Linux 救援模式的进入
步骤一:挂载官方镜像
(步骤略)
步骤二:登录拯救模式
2.1 选择通过光盘启动
(步骤略)
2.2 进入拯救模式
(步骤略)
2.3 登录拯救模式
rescue login:root
步骤三:在救援模式确定系统的根 “/” 目录分区
(步骤略)
(
补充:
1) 物理分区可以使用 lsblk 命令、fdisk -l 或 cat /proc/partitions 命令辅助确定
2) 逻辑分区还可以可以使用 pvs 命令、lvs 命令或 lvdisplay 命令辅助确定
)
步骤四:在救援模式将系统的分区挂载到救援模式的 /mnt 目录
4.1 在救援模式将系统的根 “/” 分区挂载到救援模式的 /mnt 目录
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
)
4.2 在救援模式将救援模式的 /dev 目录关联到救援模式的 /mnt/dev 目录
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
)
4.3 在救援模式将救援模式的 /proc 目录关联到救援模式的 /mnt/proc 目录
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
)
4.4 在救援模式将救援模式的 /sys 目录关联到救援模式的 /mnt/sys 目录
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
)
4.5 在救援模式将救援模式的 /run 目录关联到救援模式的 /mnt/run 目录 (选做)
tty1:rescue:~ # mount --rbind /run /mnt/run
(补充:此时所有对救援模式的 /mnt/run 目录的访问都会变成对救援模式的 /run 目录的访问)
步骤五:将当前的根 “/” 目录从救援模式的根 “/” 目录切换到系统的根 “/” 目录
5.1 将当前的根 “/” 目录从救援模式的根 “/” 目录切换到系统的根 “/” 目录
tty1:rescue:~ # chroot /mnt
(补充:这里以 /mnt 作为系统根 “/” 目录为例)
5.2 在系统模式挂载所有需要开机自动挂载的目录
bash-4.3# mount -a
5.3 在系统模式确认当前根 “/” 目录下的目录
bash-4.3# ls
bin boot dev home lib lib64 mnt opt proc root run sbin selinux srv sys tmp usr var
(补充:这里显示的是常见的 Linux 根 “/” 目录 下的目录)
步骤六:重启系统
6.1 从当前系统的根 “/” 目录切换回救援模式的根 “/” 目录
bash-4.3# exit
6.2 重启系统
tty1:rescue:~ # reboot
[步骤] Linux GRUB2 排错模式的开启
步骤一:修改 /ETC/DEFAULT/GRUB 配置文件
# vim /etc/default/grub
在这一行里:
GRUB_CMDLINE_LINUX="......"
添加:
GRUB_CMDLINE_LINUX="...... systemd.default_timeout_start_sec=500s"
步骤二:使刚刚的修改生效
# grub2-mkconfig -o /boot/grub2/grub.cfg