在 Fedora 上从文件系统故障恢复后无法运行某些命令

在 Fedora 上从文件系统故障恢复后无法运行某些命令

我的笔记本电脑由于过热突然断电,之后我遇到了一些文件系统故障问题,通过从 fedora live cd 启动并运行 fsck 解决了这个问题。
之后我能够成功启动我的系统,它几乎可以正常工作,除了我无法运行很多命令,如 fsck - ifconfig -smartctl - shutdown - reboot - ip 结果总是这样的:

[root@lap-tita mtita]# fsck
bash: fsck: command not found...
Install package 'util-linux' to provide command 'fsck'? [N/y] y


  * Waiting in queue... Failed to install packages: util-linux-2.28.2-
  2.fc25.x86_64 is already installed
 [root@lap-tita mtita]# smartctl
 bash: smartctl: command not found...
 Install package 'smartmontools' to provide command 'smartctl'? [N/y] y


 * Waiting in queue... Failed to install packages: smartmontools-1:6.5-
 1.fc25.x86_64 is already installed

[root@lap-tita mtita]# shutdown
bash: shutdown: command not found...
Install package 'systemd' to provide command 'shutdown'? [N/y] y


* Waiting in queue... Failed to install packages: systemd-231-
14.fc25.x86_64 is already installed

[root@lap-tita mtita]# reboot
bash: reboot: command not found...
Similar command is: 'reboot'
[root@lap-tita mtita]# ifconfig
bash: ifconfig: command not found...
Install package 'net-tools' to provide command 'ifconfig'? [N/y] y


* Waiting in queue... Failed to install packages: net-tools-2.0-
0.40.20160329git.fc25.x86_64 is already installed

[root@lap-tita mtita]# 

我不知道是否还有其他命令无法再运行,但现在我不知道是什么原因造成的,特别是我确定硬盘没有损坏,现在文件系统是干净的

答案1

它找不到这些命令的可执行文件。我认为这里发生的情况有三种可能性:

可执行文件已损坏

这些可执行文件的文件已损坏,现在已丢失。如果是这种情况,您需要备份未损坏的数据并重新安装服务器。然后将数据恢复到新安装中。

卸载 /lib 分区

如果您有一个单独的 /lib 分区,但该分区未挂载,则可能会导致此类行为,因为当该分区未挂载时,可执行文件将无法访问。要解决此问题,您只需挂载它即可。您必须对服务器有一定的了解,才能知道您是否有单独的分区以及应该挂载哪个分区。

PATH 环境变量错误

最后,如果您使用的用户的 PATH 环境变量未设置为在正确的位置查找可执行文件,则可能会出现此问题。您可以运行echo $PATHenv | grep -E "^PATH="查看它设置为何。root 用户的 PATH 示例如下:

/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11

相关内容