После отключения электроэнергии на моем сервере CentOS возникла проблема, связанная с повреждением многих системных команд. В результате я получаю сообщения о том, что «не удается выполнить двоичный файл» для критических команд, таких как rm или mv. Используя спасательный компакт-диск linux, мне удалось заменить несколько файлов, чтобы вернуть меня к в основном рабочее состояние, но я все еще сталкиваюсь с проблемами с менее важными командами, такими как sed или tar. Вместо того, чтобы искать и заменять каждый файл, который может быть поврежден по отдельности, я хотел бы просто пойти дальше и полностью заменить или восстановить эти системные команды до их состояния по умолчанию. Я попытался запустить процесс обновления со своего диска CentOS, но это вызвало проблему только с моим файлом initrd и не устранило никаких проблем с моими системными командами. Может ли кто-нибудь подсказать, где я могу найти пакет для переустановки этих файлов без переустановки CentOS?
Как предлагает @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 / и т. д.) и переустановить все с нуля. Из того, что вы описали, я подозреваю, что вы не найдете всех проблем, скрывающихся в системе.