“在安装新版本之前无法创建 /binary 的备份链接:没有这样的文件或目录”是什么意思?

“在安装新版本之前无法创建 /binary 的备份链接:没有这样的文件或目录”是什么意思?

我正在尝试升级虚拟机中的某些软件包,但由于以下原因,我 dpkg 拒绝应用升级:

dpkg: error processing /var/cache/apt/archives/ifupdown_0.7.5ubuntu2.2_amd64.deb (--unpack):
 unable to make backup link of `./sbin/ifquery' before installing new version: No such file or directory
Preparing to replace unzip 6.0-8ubuntu1 (using .../unzip_6.0-8ubuntu2_amd64.deb) ...
Unpacking replacement unzip ...
dpkg: error processing /var/cache/apt/archives/unzip_6.0-8ubuntu2_amd64.deb (--unpack):
 unable to make backup link of `./usr/bin/unzip' before installing new version: No such file or directory
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

这是什么意思?权限很好并且文件确实存在:

ls -l /sbin/ifquery
-rwxr-xr-x 1 1500000 1500000 58496 dic 12  2012 /sbin/ifquery

答案1

ls -lsa /sbin/ifquery还不够,请检查文件属性lsattr,您很可能会看到类似以下内容的内容:

$ lsattr /sbin/ifquery
----ia-------e- /sbin/ifquery

e为需要和想要;删除其他人。就我而言: sudo chattr -ia /sbin/ifquery

$ sudo chattr -ia /sbin/ifquery 
$ sudo lsattr /sbin/ifquery
-------------e- /sbin/ifquery

就我而言i, 和a分别意味着该文件无法修改,只能附加。现在,再次尝试升级。

答案2

这意味着出于某种动机,您无法在文件系统中移动二进制文件:

sudo mv /sbin/ifquery{,.bk}
[sudo] password for braiam:          
mv: cannot move ‘/sbin/ifquery’ to ‘/sbin/ifquery.bk’: Input/output error

您应该检查文件系统是否存在问题或询问系统管理员。

相关内容