我目前正在运行Ubuntu 20.04.4 LTS
。
在过去的一两年里,我的数据库有四次apt
不知何故搞砸了(我不知道是怎么回事),下次我运行apt
时apt-get
,aptitude
我被告知我有超过 1,000 个包被设置为删除。如果我这样做是autoremove
为了稍后尝试重新安装,我的整个系统将变得无法使用,因为大多数正常的日常程序将在此期间被删除autoremove
。
我没有(!!!)删除顶级桌面包,也没有删除任何顶级包。发生此错误的原因是(???我不知道是什么)以某种方式破坏了apt
我机器上数据库的完整性。
我每次都可以通过执行我在“答案”中概述的程序来解决这个问题:修复损坏的 apt **without** 通过“apt autoremove”破坏我的系统
然而,这种情况已经多次发生的事实意味着任何导致这种情况的原因都可能导致它再次发生。如果/当它再次发生时,为了帮助解决这种情况,我想知道以下...
apt
如果我想在任何给定时间保留整个系统的状态,我应该备份系统上的哪些目录?我想对所有这些apt
相关目录进行定期备份,以便下次发生此错误时,我可以apt
通过将所有这些目录恢复到它们上次备份的版本来快速恢复我的环境。
感谢您提供有关我应该备份哪些目录以保持整个apt
环境的完整性的任何指示和建议。
我有部分答案。安装时移
它会为您的系统拍摄快照并让您恢复到以前的状态。我喜欢它,因为您可以创建每日计划并设置要保留的恢复天数。'设置它并忘记它'
让我们知道这是否有帮助以及足够好的解决方案。
apt-clone 似乎是一种选择或
如何备份设置和已安装软件包的列表
这是页面外的一些信息,但还有很多其他想法
我发现这
/var/lib/dpkg
可能是我应该备份和恢复的目录树。但那是专门针对
apt
and的dpkg
,它不一定包含所有aptitude
使用的东西,因为aptitude
它是一个新的实用程序,它建立在apt
.在我找到更多关于
aptitude
存储自己数据的数据库之前,我会将其视为临时答案。更新
我现在看到以下文件:
/etc/cron.daily/dpkg
和/etc/cron.daily/aptitude
. 它们分别对dpkg
数据库和aptitude
数据库进行备份。所以,我的工作已经由操作系统完成,如果我的
apt
环境再次受到影响,我相信我可以通过从这些备份中恢复来恢复它。向前!