只是有时,我忘记备份给定的 Linux 文件,例如/etc/rc.local
、/etc/rsyslog.conf
、/etc/dhcpcd.conf
等,后来我希望我这样做了。发行不可知论,是否有一个好的方法可以稍后获取未更新副本的副本?
答案1
虽然配置文件备份/版本控制主题表面上看起来很简单,但它是系统/基础设施管理的热门主题之一。
与发行版无关,要保持 /etc 的自动备份作为一个简单的解决方案,您可以安装 etckeeper。
默认情况下,它将 /etc 提交到安装在同一系统上的存储库/版本控制系统。
默认情况下,每天和/或每次有软件包更新时都会进行提交/备份。
etckeeper 软件包几乎存在于所有 Linux 发行版中。
看:https://help.ubuntu.com/lts/serverguide/etckeeper.html
或者https://wiki.archlinux.org/index.php/Etckeeper
可以说安装这个软件包是一个很好的行业标准。
如果你没有安装etckeeper,并且需要特定的etc文件,有几种方法;您可以从类似的系统复制它你的,您可以要求您的软件包管理器下载安装文件或手动下载,并从中提取etc文件;最简单的方法之一是使用 mc(午夜指挥官)在包内导航,就像它们是目录一样。
您还可以使用发行版存储库来获取软件包,对于 debian 来说是http://packages.debian.org
最终,如果等/配置被破坏得无法识别,您始终可以选择重新安装特定的软件包。将 etc 文件移动到备份名称/目录,例如在 Debian 中:
apt-get install --reinstall package_name
您还可以为您的特定发行版/版本配置和安装源存储库,安装源包,并从那里获取等文件。
https://wiki.debian.org/apt-src(又是 Debian 的例子)
在某些软件包中,您可能还可以在 /usr/share/doc/package_name 处找到配置文件的示例,这些示例可能适合使用,也可能不适合使用。
作为最后的手段,如果相应的开源项目,您还可以在存储库/github 地址中找到 etc 文件,请记住,发行版经常更改默认设置和周围的事物。
显然,这些替代方案都不能免除您制定健全的备份策略并从那里检索丢失的 /etc 文件的义务。
时代发展得很快,如果遵循 DevOps 理念,您也可能选择完全放弃某些系统并重新部署它们,以防某些文件损坏;您还可以使用 CI 并重新部署文件,例如来自 jenkins 的文件。
答案2
如果您的发行版有实时ISO,或者你不介意做一个虚拟安装到虚拟机(VirtualBox、VMWare 等),然后您就可以看到它的默认文件,而无需手动挖掘包文件。
并且在虚拟机中安装/重新安装/重新配置任何软件包都不会更改您的“真实”系统文件。