我说的是一个程序,它可以向你展示你对系统所做的所有更改,以防我需要排除系统故障?CLI 会更好,以防万一
答案1
安装etckeeper
打包并运行(一劳永逸)sudo etckeeper init
。这会将/etc
(包含所有系统配置文件的目录)置于版本控制之下(市场默认情况下)。在默认配置下,更改会被记录
- 每次使用
apt-get
、、aptitude
Synaptic 或其他基于 apt 的包管理器之前和之后; - 每天一次;
- 无论何时运行
sudo etckeeper commit
,或者bzr commit
;/etc
这都使您有机会输入有意义的提交消息。
Etckeeper 不会记录已安装软件包的名称,但您可以在/var/log/apt/
和中找到它(具有不同的详细信息集)。这些文件会轮换,因此它们会在几个月后消失;如果您想保留它们更长时间,可以在和/var/log/dpkg.log
中进行配置。/etc/logrotate.d/dpkg
/etc/logrotate.d/apt
对于您的个人配置文件,请参阅如何对“点文件”进行版本控制?。
答案2
我很想说copyfs
:
NAME
CopyFS - Versioning File System for FUSE
DESCRIPTION
CopyFS is a copy-on-write, versioning file system for FUSE. CopyFS can
be used to maintain the revision history of a directory containing
files for which you want to track changes, and be able to revert to any
older version. CopyFS lets you do that by transparently making backups
of each file that you modify so that you can review and revert to any
previous revision.
但它几乎不能用于整个根目录或任何与系统(非用户)相关的内容。
答案3
我不确定除了查看日志文件之外您是否可以追踪所有更改......
如果您想要“备份”对系统所做的更改(以排除故障或重新安装),您可以:
- 导出已安装软件包列表: dpkg --get-selections > installed_packages
- 复制包含配置文件的 /home 目录(所有以 . 开头的文件和目录)
如果你想恢复你的软件包:apt-get update && dpkg --set-selections < installed_packages && apt-get upgrade
稍后,你将能够比较你的软件包列表和配置文件
答案4
请参阅有关在 ubuntu 中查看日志的页面: