如何向 Linux 操作系统安装添加版本控制

Kam*_*mpi 2 software-rec version-control

我有一个基于 Armbian 的 Linux 系统的 SD 卡映像。我在这个系统的不同地方做了几次修改,我正在寻找一种解决方案来向这个系统添加一些版本信息和/或根据给定的零状态跟踪系统的变化。

是否有任何解决方案来处理它?

cas*_*cas 5

etckeeper使用您的版本控制系统(例如选择gitmercurialbrz等),以保持文件的修订历史记录/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.
Run Code Online (Sandbox Code Playgroud)

顺便说一句,git作为后端,您可以配置远程存储库(例如 with git remote add ...),以便您可以git push使用它并将 /etc/ 及其历史记录备份到另一台机器。如果您有多台机器,请给它们所有自己的等存储库以推送到。除了git它我什么都没用过,但我希望其他人会有某种远程能力。

您可能还想研究运行gitlabgiteagogsgit-repo或其他类似工具来托管 git repos。我会自行托管而不是使用公共服务,您不希望/etc/shadow某些服务提供商或随机人员访问您或其他敏感文件。