我在 /var/backups 中发现了很多旧文件,其中大部分是 dpkg 文件。有些文件已有一年多历史。我在 cron 文件中看到 dpkg 创建了这些文件作为备份,但没有看到它们被删除的任何地方。难道不应该有一个吗?
答案1
我认为你指的是创建的文件/etc/cron.daily/dpkg
。它应该只创建7每个文件的版本。这 7 个文件可以追溯到几年前,因为只有发生更改时才会创建新文件。
cron 脚本显示备份数量是硬编码的(因此不可配置),并包含注释
# 备份包含用户数据的 dpkg 数据库的最后 7 个版本。
如果您看到超过 7 个版本的文件,则脚本中存在错误。
答案2
3.3 安装的软件包
Debian 上有两个已安装软件包列表。创建这些列表的原始文件是
/var/lib/dpkg/status
。此文件不能损坏,否则您的系统将受到攻击。这是软件包管理器 的主数据库dpkg
。Debian 软件包系统保留了上次
dpkg
运行的旧副本/var/lib/dpkg/status-old
。为了防止系统在崩溃或文件系统损坏时遭受更大损害,/var/backups
当文件与上一次副本不同时,会创建此文件的每日备份。备份代码位于/etc/cron.daily/standard
。非正式列表是通过命令
dpkg -l
或启动dselect
并使用选择项创建的。或者通过使用任何其他包管理器前端。此列表由包的名称(精简为大约 40 个字符)、每个包的安装版本和简短描述组成。这旨在便于阅读。出于技术目的,您可以
dpkg
生成软件包及其选择状态的列表(即install
、hold
和deinstall
)。这是由 创建的dpkg --get-selections
。此输出旨在由程序再次解析,例如,dpkg --set-selections
这将更改其内部数据库中软件包的状态。随后的dselect-upgrade
操作是apt-get will
安装所有新软件包。
难道不应该有一个吗?
最好有备份但不需要,而不是没有备份但需要备份。最好留给用户去做,而不是自动化,但这只是我的观点。