安装新版本前无法创建“./usr/bin/ssh”的备份链接 不允许操作

Posted

技术标签:

【中文标题】安装新版本前无法创建“./usr/bin/ssh”的备份链接 不允许操作【英文标题】:unable to make backup link of './usr/bin/ssh' before installing new version operation not permitted 【发布时间】:2021-06-24 19:07:48 【问题描述】:

最近我的实验室 ubuntu 服务器遇到了一个棘手的问题。我想重新安装我的 openssh 服务器,所以我运行命令

sudo apt-get install openssh-client
sudo apt-get install openssh-server

但是,命令失败并显示反馈

Unpacking replacement openssh-server ... 
 dpkg: error processing /var/cache/apt/archives/openssh-server_1%3a7.6p1-4ubuntu0.3_amd64.deb (--unpack): 
 unable to make backup link of `./usr/sbin/sshd' before installing new version: Operation not permitted 

根据一种可行的解决方案(https://www.howtoforge.com/debian-ubuntu-unable-to-make-backup-link-of-usr-bin-sshd-before-installing-new-version-operation-not-permitted),它说我们应该使用 chattr 和 lsattr 命令检查我的/usr/bin/ssh/usr/bin/sshd 的属性。但是当我跑的时候

sudo lsattr /usr/bin/ssh
sudo chattr /usr/bin/ssh

,它没有任何输出。似乎我的 lsattr/chattr 命令是错误的,因为我检查了 lsattr 和 chattr 的大小,在我的其他 ubuntu 服务器中有 10576 b 和 10592 b。但是在这个服务器中,只有 10 个 b。如果我使用less -SN lsattr/chattr,它们都会显示:

#!/bin/sh
/usr/bin/chattr (END)
#!/bin/sh
/usr/bin/lsattr (END)

如果我想用从其他服务器复制的那些 chattr 和 lsattr 替换(用 root),它会显示 Operation not permitted

所以任何人都可以帮助我解决这个 openssh 问题或重新安装 chattr/lsattr

【问题讨论】:

【参考方案1】:

我最近遇到了和你一样的问题。您之前的所有操作都是正确的。但是在替换lsattrchattr之前,需要使用复制的chattr修改/usr/bin/lsattr/usr/bin/chattr的属性。

sudo ./chattr -a -i /usr/bin/chattr
sudo ./chattr -a -i /usr/bin/lsattr

然后可以进行替换操作,可以修改/usr/sbin/sshd的属性。

sudo mv ./lsattr /usr/bin/lsattr 
sudo mv ./chattr /usr/bin/chattr 
sudo chattr -a -i /usr/sbin/sshd

然后你可以尝试安装openssh. 为了安全起见,最后将ai 属性添加到替换的lsattrchattr

sudo chattr +a +i /usr/bin/chattr
sudo chattr +a +i /usr/bin/lsattr

【讨论】:

好的,非常感谢。其实我在其他路径重新安装chattr/lasttr,然后使用新安装的chattr/lasttr 删除旧的chattr/lasttr,然后将新安装的chattr/lasttr 复制到/usr/bin,并使用它们来检查/删除ssh ,然后我可以安装 ssh。 希望这些可以帮助遇到同样问题的人。

以上是关于安装新版本前无法创建“./usr/bin/ssh”的备份链接 不允许操作的主要内容,如果未能解决你的问题,请参考以下文章

ssh

误删:[root@m01 scripts]# rm -f /usr/bin/ssh-copy-id

ssh秘钥分发错误“/usr/bin/ssh-copy-id: ERROR: No identities found”

centos7安装docker社区版

ssh scp sftp简易用法

LinuxSSH服务