尽管几年前我尝试过建立一个基于 GUI 的 Linux,但我之前并没有真正获得过 *nix 系统的经验可以借鉴。这次我直接跳到 BSD,因为我喜欢它的哲学和对质量的严格关注以及由此产生的稍微保守的发布开发周期方法,并且因为我比其他 *nix 有更多的经验。
我真正不自信的一个领域是跟踪我设置的配置更改。所有配置都是“编辑/path/rc.things”或“将这些行添加到pkg-x.conf”或“在环境或pkg中设置这些变量”的情况。我对这样的指示很满意;困扰我的是维护和重用 - 我如何准确跟踪我在设置和使用它时所做的更改,并且如果我将来想在另一个系统上再次进行这些更改而无需 3 个月的时间,那么如何让自己轻松地进行更改区分眼前的每个文件并逐行检查。我预计一开始我会得到很多这样的东西,因为我会从经验中学习。
我的目标是,如果我想设置第二台服务器,其大部分系统/pkg 配置相似或相同的设置(在单个 LAN 上很常见),或者作为我学习曲线的一部分进行备份、擦除和重新安装,或者只是为了更新系统,我真的不想要一个我保留的txt文件列表,其中列出了400个带有碎片配置的文件,所有这些都需要费力地手动重新创建或在控制台中编辑多行。我也不想不假思索地恢复所有文件,或者找到确实包含我不知道的配置或其他历史/活动信息的文件,或者丢失环境数据,并花费大量时间试图找出在哪里需要在新系统上复制或编辑的内容可能会被隐藏。
我不确定是否有一个真正简单的解决方案(在任何主要操作系统上) - 即使是带有 GUI 的 Windows,我也必须考虑存储在各种目录、注册表分支等中的文件和条目。但至少我在 Windows 上进行了多年的尝试和错误,所以我很清楚要根据机器的使用方式来获取什么,并且我可以相当快速地逐个包地完成它。我知道我使用哪些软件包,我可以恢复其配置目录或注册表设置,以及我需要通过其 GUI 或其他方式执行哪些操作,以及需要添加有用的系统调整。
我还知道在哪些情况下只需复制文件夹来恢复以前的配置或状态是安全的,在哪些情况下最好不要这样做,因为还需要设置其他内容,并让 system/pkg 来完成很长的路要走。
我对 BSD 还不太了解。
从积极的角度来看,我觉得我有足够的知识和经验来粗略地弄清楚我需要做什么,当我这样做时,并获得足够的安全感和良好的实践,以免造成彻底的灾难 -或者我希望我能这么做。因此,目前,使用 BSD 实践是我学习的唯一真正方法。
我如何处理 BSD 使用/管理的这个领域,了解 BSD 的人最终倾向于使用哪些解决方案?
换句话说,当我开始使用 BSD 时,如何以一种不那么费力或耗时的方式跟踪、简化和恢复设置(以便选择性地恢复,而无需花费数天的控制台文件编辑和比较!)正确地,或者如果涉及工作流程和流程,哪些知识或包装会有帮助?
答案1
很多工作可以被孤立。 /etc 中有很多常用的编辑文件,可以镜像到/usr/local/etc
.将您的本地更改放入其中,通常它们会被采纳。
rc.conf
有点乱,但是你可以在那里放一行来从其他地方获取东西。periodic.conf
其工作方式大致相同。
rc.d
文件(如果有)可以放入/usr/local/etc/rc.d
,将它们与系统文件分开。
您不必进行编辑syslog.conf
,newsyslog.conf
因为您可以使用小文件来/usr/local/etc/{newsyslog,syslog}.conf.d
执行您想要的操作。复制这些目录比编辑原始单个文件要容易得多。还有各种其他以 .d 结尾的目录,您可以在其中放置所有作为原始单个文件的一部分执行的小文件。提防syslog.conf.d
。您必须以结尾所有文件名,.conf
否则它们将被忽略!
还有(例如,in/etc
和/boot
)以.local
.这些包括/boot/loader.conf.local
。这些目录并没有很好地与主系统目录分离,但事实上它们的命名使它们更容易注意到和维护。
如果您有内核配置文件,请将它们保存在(例如)中/root/config
。然后,在构建内核之前,在/sys/i386/conf
(或任何地方)中创建指向它们的符号链接。否则,更新将/usr/src
清除它们 - 重新创建符号链接比重新创建(甚至恢复)内核配置文件更容易。
请记住,并非所有这些有用的辅助文件默认都存在。这就是为什么您必须查看“主”文件的手册页以了解可用的替代方案。
总之
对于您发现自己正在编辑的每个文件,请仔细阅读其手册页。大多数情况下,您可以编辑或创建本地文件或将文件放入本地目录中。这几乎将所有内容集中在/usr/local/etc
.