ОС: Centos 7.4
Конечная цель: Установить openssh-server
текущая проблема: удаление предыдущей копии sshd
Предыдущий сценарий: openssh-server не обновляется из-за ошибок yum. Я попытался удалить openssh-server, а затем установить его через yum в надежде, что запуск с нуля устранит любые проблемы. Однако текущая проблема такая же, как и исходная.
Проблема: При попытке установить openssh-server я получаю сообщение об ошибке, когда Yum пытается переименовать существующий файл sshd:
Installing : openssh-server-7.4p1-13.el7_4.x86_64 1/1
Error unpacking rpm package openssh-server-7.4p1-13.el7_4.x86_64
error: unpacking of archive failed on file /usr/sbin/sshd: cpio: rename
Я предполагаю, что установщик пытается переименовать старый файл, прежде чем сможет установить его версию. . Итак, я попытался переименовать его как root:
mv /usr/sbin/sshd /usr/sbin/sshd.old
mv: cannot move ‘/usr/sbin/sshd’ to ‘/usr/sbin/sshd.old’: Operation not permitted
Во-первых, возможно, элементы в каталоге / usr / sbin неизменяемы. Однако я могу переименовать там другие файлы (я переименовал их обратно!) И я смог переименовать sshd на других серверах centos 7.
В ходе исследования я нашел рекомендации по запуску команды lsattr
. Однако независимо от того, в каком файле / каталоге я запускаю эту команду, вывода нет. Я пробовал запускать его на других серверах Centos 7, и он там работает.
То же самое, похоже, для chattr
, хотя я не уверен, что он должен отображать какой-либо вывод. Без использования lsattr
я не могу подтвердить, сделал ли chattr
что-нибудь. Я выполнил следующую команду, хотя, возможно, / usr / sbin / sshd неизменяем:
chattr -i /usr/sbin/sshd
Файл по-прежнему не может быть переименован. Я выполняю все команды как root, файл принадлежит root и имеет разрешения r / w / x для root.
-rwxr-xr-x. 1 root root 500K Dec 30 21:08 sshd
Кроме того, нет процессов, работающих как sshd в соответствии с lsof или ps.
Я не совсем уверен, что с этим делать, и, возможно, мой вопрос должен быть о том, что lsattr
ничего не выводит вместо этого вопроса. Я подозреваю, что мне нужно будет предоставить дополнительную информацию, но не знаю, что именно. Поэтому я постараюсь обновить вопрос, добавив дополнительную информацию по запросу. У кого-нибудь есть рекомендации, как я могу попытаться устранить эту неполадку в дальнейшем?
Хорошо, вот мое решение этой проблемы:
Я сделал новые копии lsattr и chattr. Я использовал эти копии, чтобы исправить атрибуты в системных копиях этих программ. Я удалил системные копии и заменил их своими новыми копиями. Затем я использовал chattr, чтобы исправить атрибуты для / usr / sbin / sshd Я удалил / usr / sbin / sshd Я установил openssh-server через Yum.
В трех проблемных файлах были установлены флаги a и u attr. Мне нужно было загрузить новые копии, потому что сами файлы для изменения атрибутов были сломаны.