用 warning 中具體的軟體名代替上面命令中的 package name比如:dpkg: warning: files list file for package "libcap2:amd64" missing; assuming package has no files currently installed重新安裝的命令就是:
sudo apt-get install --reinstall "libcap2:amd64"
如果想偷懶,只需執行下面一行命令,原理同上——過濾出被 dpkg warning 的軟體,然後安裝
sudo -i; for package in $(apt-get upgrade 2>&1 | grep "warning: files list file for package "" | sed -rn "s/.*package "\""([^"\""]+).*/\1/p"); do apt-get install --reinstall "$package"; done
你需要重新安裝那些被 “dpkg warning” 缺失的軟體。嘗試修復:
強制修復sudo apt-get -f install
2. 如果上一步無效。你需要過濾出被 dpkg warning 的軟體,然後執行下面的命令,重新挨個安裝sudo apt-get install --reinstall "package name"
用 warning 中具體的軟體名代替上面命令中的 package name比如:dpkg: warning: files list file for package "libcap2:amd64" missing; assuming package has no files currently installed重新安裝的命令就是:sudo apt-get install --reinstall "libcap2:amd64"
如果想偷懶,只需執行下面一行命令,原理同上——過濾出被 dpkg warning 的軟體,然後安裝sudo -i; for package in $(apt-get upgrade 2>&1 | grep "warning: files list file for package "" | sed -rn "s/.*package "\""([^"\""]+).*/\1/p"); do apt-get install --reinstall "$package"; done
參考csdn
英語1
英語2