解决安装 / 卸载 MegaRAID Storage Manager 后系统功能大量失效的问题

0

因为有在 Proxmox VE 上在线修改 LSi MegaRAID SAS 9240-8i 阵列卡配置的需求,到网上搜了一圈,大部分推荐 MegaCLI,也有推荐 MegaRAID Storage Manager(MSM) 的。我比较嫌麻烦,看中了 MSM 的 GUI 管理功能,因此就选了 MSM。然而,由于 LSi(现已被 Broadcom 收购)发行的 MegaRAID Storage Manager 仅有 RPM 包,就需要用 Alien 来把 RPM 包转换为 Deb 包并安装。或许是因为转换过程存在兼容性问题,导致卸载后系统大部分功能失效,报 System Error 或 Permission Denied。网上搜了一圈也没有效的解决方案。

先上结论:/ 目录下的所有目录被取消了执行权限,导致几乎所有文件的访问都出现问题。

解决方案:

sudo chmod +x /*

就这么简单。如果担心有文件被错误加上了执行权限,可以根据实际情况调整。

更新:

  1. 根据 Proxmox Staff Member t.lamprecht 的提醒,root 文件夹的权限应为 0700 (drwx——) 以保证安全。请一并检查其它文件和文件夹的权限,确保它们是正确且安全的。他还建议重新安装一下系统基础文件包,命令为  apt install --reinstall base-files 。
  2. tmp 文件夹权限应为 1755 (drwxr-xr-t) ,请注意修改,否则可能导致 tmp/ 目录访问不正常。

其实我挺纳闷的,因为 dpkg 工具理应不会导致系统出现问题,最多是多删了部分关键软件包导致部分功能失效,修复一下就能恢复的。这种大面积报 System Error 或 Permission Denied 的情况还是第一次见。搜索了半天,最接近的一篇文章来自 Proxmox 官方论坛 ,虽然故障现象和原因都完全一致,但是帖子里并没有给出解决方案。简单挑几个故障展示一下:

apt 无法正常使用,直接原因是无法解析域名,根本原因是 systemd-resolved 服务无法启动

systemd-resolved 服务无法启动,原因是无法访问配置文件

PVEProxy 服务无法启动,原因是无法读取锁

无法 ping 域名,根本原因也是 systemd-resolved 服务无法启动

我也不知道为什么我会心血来潮鬼使神差地执行了一波  ls -l / 命令,结果“惊喜地”发现所有的目录(权限为 d 开头)都没有执行权限(Linux 的目录应当具有执行权限,默认似乎是 0755,在图中应该显示为 drwxr-xr-x,这里变成了 0644),感觉这就是问题所在了。

于是执行 chmod +x /* 命令,再次查看权限,已经恢复正常。尝试之前失败的命令,也都已恢复正常,问题解决!