我知道什么Debian 包管理说:
不要删除或更改
/var/lib/dpkg/
.
但是,该文件夹中有 11,501 个 2006 年的文件:
$ ls -l /var/lib/dpkg/info | wc -l
11502
sudo find /var/lib/dpkg/info -type f -printf '%T+ %p\n' | sort | head -n 20 | awk '{print $NF}' | xargs ls -l
-rwxr-xr-x 1 root root 184 Jul 19 2008 /var/lib/dpkg/info/extra-xdg-menus.postrm
-rw-r--r-- 1 root root 27 Aug 10 2006 /var/lib/dpkg/info/freepats.conffiles
-rw-r--r-- 1 root root 12993 Aug 10 2006 /var/lib/dpkg/info/freepats.md5sums
如何判断档案的状态以及正确的管理方法?
看到那里的日期为 2006 年的文件让我感到惊讶,因为这台小机器(Acer Aspire One 上网本)是 2008 年才发布的,在那之后的几年里我都没有得到它(它之前运行的是 Windows,在 Linux 给它提供了一个新生活)。
答案1
dpkg 安装的文件(包括 中的元数据文件)的修改时间/var/lib/dpkg/info
是它们在包存档文件(.tar.gz
或包含在.deb
)内的修改时间。这通常是维护者最后一次更改手动写入的文件的时间。对于由包构建工具自动生成的文件,通常是构建包的时间,或者,可重复的构建,更改日志文件中最新条目的日期。它与安装包的时间无关。
一些包元数据文件在很长一段时间内没有发生变化也就不足为奇了。即使包的内容因为程序有更新、新功能等而发生变化,有些东西也不会经常改变。例如,.postrm
脚本包含卸载的最后一步要做的事情,而大多数软件包根本不需要这样做;毫不奇怪,此时需要做的事情很少发生变化。在 的情况下freepats.md5sum
,.md5sum
只要包发生变化,文件就会发生变化;这是一个数据文件(一些音频合成数据),多年来没有改变(它只是数据,没有代码,因此出现错误的风险相当低,而且没有人有兴趣对其进行任何增强)。
每个包平均有大约六个文件/var/lib/dpkg/info
,Debian 倾向于将软件分割成细粒度的包(每个库都有自己的包,数据和文档通常与代码分开打包等)。因此,通常有大约 10k 个文件。
您的系统状态正常,无需采取任何措施。
答案2
文件的时间戳/var/lib/dpkg/info
反映了它们上次更改的日期和时间。对于其中许多来说,这是包裹被送达的日期和时间建成:文件是在构建过程中生成的。在某些情况下,它是存储在源存档中的原始文件的时间戳。为了.list
文件,它是安装包的日期和时间和导致文件列表发生变化。的版本freepats
目前 Debian 10最后更新于 2006 年...
/var/lib/dpkg/info
然而,当清除相应的包时,确实会出现文件残留的情况。所有文件均以其所属包命名;删除扩展,然后检查该软件包是否已安装dpkg -l
- 如果没有,您可以删除它们。