在 Linux 中修复或替换 /bin/ 文件夹

在 Linux 中修复或替换 /bin/ 文件夹

断电后,我的 CentOS 服务器开始出现问题,许多系统命令都损坏了。结果,我在执行 rm 或 mv 等关键命令时收到“无法执行二进制文件”的消息。使用 linux 救援 CD,我设法替换了一些文件,让我回到了大多工作状态,但我仍然遇到不太重要的命令(如 sed 或 tar)的问题。我不想单独查找和替换每个可能损坏的文件,而是想直接将这些系统命令完全替换或修复为默认状态。我曾尝试从 CentOS 光盘运行升级过程,但这只导致我的 initrd 文件出现问题,并没有纠正我的系统命令的任何问题。有人能建议我在哪里可以找到一个软件包来重新安装这些文件,而不必重新安装 CentOS 吗?

答案1

正如@Ency 所建议的:

rpm --verify --all

将会向您展示所有发生的变化。

但是,我建议安装“yum-verify”,如果尚未安装,则使用以下命令:

yum verify --verify-filenames='*bin/*'

这与“rpm --verify”非常相似,但您可以将其限制到某些目录,并且默认不显示配置文件更改。

输出实际上并没有告诉您某些东西来自哪个包,因此您需要使用:

rpm -qf /full/path/to/file

或者

yum provides /full/path/to/file

查看该文件属于哪个包

然后你可以使用:

yum reinstall packagename

重新安装 RPM,即使是相同的版本。

不过,我建议备份您需要的文件(/home、、/etc`/var/ 等)并从头开始重新安装所有内容。从您的描述来看,我怀疑您不会发现系统上隐藏的所有问题。

相关内容