我有一个基于 Armbian 的 Linux 系统的 SD 卡映像。我已在该系统的不同位置进行了多次修改,并且正在寻找一种解决方案来向该系统添加一些版本控制信息和/或根据给定的零状态跟踪系统的更改。
有什么解决办法来处理吗?
答案1
等等管理员使用您选择的版本控制系统(例如,,,git
等)来保存.mercurial
brz
/etc
在 debian 和基于 debian 的系统上,运行apt-get install etckeeper
以安装它。默认情况下,它使用git
.该软件包还添加了一个每日 cron 作业来定期运行提交,这样您就不必记住,并且它还添加了用于apt
在任何 apt install/upgrade/remove/purge/etc 操作之前立即运行提交的钩子。
从包装信息:
Package: etckeeper
Version: 1.18.16-1
Depends: git | mercurial | brz | darcs, debconf (>= 0.5) | debconf-2.0, python3:any
Recommends: cron-daemon
Suggests: sudo
Description-en: store /etc in git, mercurial, brz or darcs
The etckeeper program is a tool to let /etc be stored in a git, mercurial,
brz or darcs repository. It hooks into APT to automatically commit changes
made to /etc during package upgrades. It tracks file metadata that version
control systems do not normally support, but that is important for /etc, such
as the permissions of /etc/shadow. It's quite modular and configurable, while
also being simple to use if you understand the basics of working with version
control.
顺便说一句,git
作为后端,您可以配置远程存储库(例如使用git remote add ...
),以便您可以git push
将您的 /etc/ 及其历史记录备份到另一台计算机。如果您有多台机器,请为它们提供自己的等存储库以进行推送。除了它之外我没有使用过任何东西git
,但我希望其他人会有某种远程能力。
您可能还想考虑运行类似的东西GitLab,吉泰亚,戈格斯,git 仓库或其他类似的工具来托管 git 存储库。我会自行托管它,而不是使用公共服务,您不希望/etc/shadow
某些服务提供商或随机人员访问您的文件或其他敏感文件。