8

我使用 Linux Mint 16 并且在通过 apt-get install 安装软件包时总是出错:

正在读取包列表... 完成 构建依赖树 正在读取状态信息... 完成 sqlitebrowser 已经是最新版本。0 升级,0 新安装,0 删除和 26 未升级。1 未完全安装或拆除。此操作后,将使用 0 B 的额外磁盘空间。您要继续 [Y/n] 吗?Y 在 /usr/share/perl5/Debconf/DbDriver/File.pm 第 44 行,块 3 处使用连接 (.) 或字符串中的未初始化值。在 /usr/share/perl5/Debconf/ 处使用 -e 中的未初始化值DbDriver/File.pm 第 46 行,块 3。在 /usr/share/perl5/Debconf/DbDriver/File.pm 第 47 行,块 3 处的模式匹配 (m//) 中使用未初始化值。使用未初始化值 $directory在 /usr/share/perl5/Debconf/DbDriver/File.pm 第 48 行,块 3 处的 -d 中。

跑步

sudo apt-get install debconf --reinstall

或者

sudo apt-get update --fix-missing
sudo apt-get autoremove && sudo apt-get clean && sudo apt-get install -f

只是暂时解决了(直到下次重新启动)

也许我已经安装了一次 perl,而不是使用 apt-get。我还尝试使用突触重新安装 perl,但没有帮助。我能做些什么?

4

1 回答 1

10

我自己发现了问题。

我正在使用 SSD。这就是我将 /var/cache 安装到 RAM(通过 tmpfs)以限制对 SSD 的写访问的原因。Debconf 在安装时将它的缓存放到 /var/cache/debconf 中。但这是在 RAM 上。因此,每次重新启动后,apt-get 仅在我重新安装 deconf 时才有效。

当然,在这种情况下,明确的解决方案是运行

mkdir /var/cache/debconf

在启动脚本中。

于 2014-03-25T15:45:27.563 回答