Dpkg

什麼是“無法在安裝新版本之前製作 /binary 的備份連結:沒有這樣的文件或目錄”?

  • June 13, 2017

我正在嘗試升級 VM 中的某些軟體包,但由於以下原因,我 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

這意味著出於某種動機,您不能在文件系統中移動二進製文件:

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

您應該檢查文件系統是否有問題或詢問您的系統管理員。

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

在我的情況下ia分別表示文件不能修改,只能附加。現在,再次嘗試升級。

引用自:https://unix.stackexchange.com/questions/120964