无法通过 Yum 安装 openssh-server

无法通过 Yum 安装 openssh-server

操作系统:Centos 7.4

最终目标:安装 openssh-server

当前的问题:删除 sshd 的先前副本

先前的场景:由于 yum 错误,openssh-server 无法更新。我尝试删除 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 目录中的项目可能是不可变的。但是,我能够重命名其中的其他文件(我将它们重命名回来了!)并且我能够在其他 centos 7 服务器上重命名 sshd。

在做研究时,我发现了运行命令的建议lsattr。但是,无论我在哪个文件/目录上运行此命令,都没有输出。我尝试在其他 Centos 7 服务器上运行它,它在那里可以正常工作。

似乎也是如此chattr,但我不确定它是否应该显示任何输出。如果不使用lsattr,我无法确认它是否chattr做了任何事情。我运行了以下命令,尽管 /usr/sbin/sshd 可能是不可变的:

chattr -i /usr/sbin/sshd

该文件仍然无法重命名。我以 root 身份执行所有命令,该文件归 root 所有,并且具有 root 的 r/w/x 权限。

-rwxr-xr-x. 1 root root     500K Dec 30 21:08 sshd

此外,根据 lsof 或 ps,没有以 sshd 形式运行的进程。

我不太清楚该如何解释,也许我的问题应该是lsattr不输出任何内容,而不是这个问题。我怀疑我需要提供更多信息,但不确定是什么。所以我会尝试根据要求更新问题并提供更多信息。有人对我可以尝试进一步解决问题的方法有什么建议吗?

答案1

好的,以下是我对这个问题的解决方案:

我制作了 lsattr 和 chattr 的新副本。我使用这些副本修复了这些程序的系统副本上的属性。我删除了系统副本并用我的新副本替换它们。然后我使用 chattr 修复了 /usr/sbin/sshd 的属性。我删除了 /usr/sbin/sshd。我通过 Yum 安装了 openssh-server。

3 个有问题的文件设置了 a 和 u attr 标志。我需要上传新副本,因为用于更改属性的文件本身已损坏。

相关内容