sob*_*bia 2 package-management apt dpkg software-installation
我想在 Ubuntu 14.04 中安装一个软件包,但每次运行./configure命令时都会出现此错误:
E: Cannot get debconf version. Is debconf installed?
debconf: apt-extracttemplates failed: No such file or directory
Extracting templates from packages: 35%E: Cannot get debconf version. Is debconf installed?
debconf: apt-extracttemplates failed: No such file or directory
Extracting templates from packages: 70%E: Cannot get debconf version. Is debconf installed?
debconf: apt-extracttemplates failed: No such file or directory
Extracting templates from packages: 100%
dpkg: error: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory
E: Sub-process /usr/bin/dpkg returned an error code (2)
Run Code Online (Sandbox Code Playgroud)
似乎您对目录做了一些可怕的事情,/var/lib/dpkg请参阅此处的帖子以了解有关dpkg 此和此的更多信息
回到你的问题,要解决问题,你应该尝试做以下事情,
第一个选项
status仅当目录出错时才返回目录。
sudo mkdir /var/lib/dpkg/updates
Run Code Online (Sandbox Code Playgroud)
然后做
sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
然后正常安装软件包
第二个选项(这个解决方案假设你已经完全搞砸了 /var/lib/dpkg
恢复/dpkg/status/ 来自/var/backups/或/var/lib/dpkg/因为status保存数据库的备份dpkg,您可能能够恢复数据库,一切都会恢复正常。
在dir/var/backups/你将有类似的文件夹dpkg.status.0,并压缩文件dpkg.status.1,dpkg.status.2等等,这是我们的目标,我们将使用备份的备份dpkg.status.0,恢复,请执行以下操作:
由于您已经拥有 dir/var/lib/dpkg
将备份复制到该目录
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/
Run Code Online (Sandbox Code Playgroud)
注意:最新的备份是dpkg.status.0文件,但如果你想从存档文件备份,即dpkg.status.#.gz做
sudo cp /var/backups/dpkg.status.#.gz /var/lib/dpkg/
gunzip -d /var/lib/dpkg/dpkg.status.#.gz
Run Code Online (Sandbox Code Playgroud)
然后重命名dpkg.status.#以status即dpkg.status.0
sudo mv /var/lib/dpkg/dpkg.status.0 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
然后创建文件夹 update
sudo mkdir /var/lib/dpkg/update
Run Code Online (Sandbox Code Playgroud)
然后sudo apt-get update和sudo apt-get upgrade
之后就可以正常安装软件了!
| 归档时间: |
|
| 查看次数: |
14209 次 |
| 最近记录: |