搭建新基础设施:cfengine配置文件详解
立即解锁
发布时间: 2025-08-24 00:29:46 阅读量: 7 订阅数: 15 


Linux与Unix系统管理自动化实践
### 搭建新基础设施:cfengine 配置文件详解
在系统管理中,搭建新的基础设施是一项关键任务。本文将详细介绍使用 cfengine 进行新基础设施搭建时涉及的配置文件,包括 `ql`]`pa*_kjb` 和 `_b]cajp*_kjb` 等,以及相关的操作和注意事项。
#### 1. 生成缺失文件
在搭建过程中,如果 `ql`]`pa*_kjb` 文件缺失,可以使用脚本中之前定义的 `_na]pa[ql`]`pa[_kjb` 子程序来生成它,代码如下:
```plaintext
eb W )b ?BSKNG@EN+ejlqpo+ql`]pa*_kjb Y7 pdaj
_na]pa[ql`]pa[_kjb
be
```
如果主机的 cfengine 密钥缺失,也需要生成它,这是 `_b*lna_kjb` 的最后一行代码:
```plaintext
W )b ?BSKNG@EN+llgauo+hk_]hdkop*lner Y xx _bgau
```
#### 2. `update.conf` 文件(即 `ql`]`pa*_kjb`)
当 `_bata_` 调度守护进程执行 `_b]cajp` 时,会先读取 `ql`]`pa*_kjb` 配置文件,它包含了其他 cfengine 配置文件中的私有类和变量,确保本地配置文件是最新的。同时,还用于确保一些重要操作尽早执行,如强制某些目录的存在和权限、确认 cfengine 守护进程正在运行以及进行一些基本清理。
以下是 `campin.net` 的 `ql`]`pa*_kjb` 文件示例,开头包含了给未来维护者的警告注释:
```plaintext
Pdeo o_nelp `eopne^qpao pda _kjbecqn]pekj( ] oeilha beha ok pd]p(
eb pdana ]na oujp]t annkno ej pda i]ej _kjbec( sa _]j opehh
`eopne^qpa ] _knna_p _kjbecqn]pekj pk pda i]_dejao ]bpans]n`o( araj
pdkqcd pda i]ej _kjbec skj#p l]noa* Ep eo na]` ]j` nqj fqop ^abkna
pda i]ej _kjbecqn]pekj eo l]noa`*
Ukq ]hikop JARAN s]jp pk ik`ebu pdeo beha( ukq neog ^na]gejc
aranupdejc eb ep#o jkp _knna_p
```
接下来的部分与嵌入在 `_b*lna_kjb` 文件中的内容相同:
```plaintext
_kjpnkh6
okh]neoxokh]neot4266
_b[^]oa[l]pd 9 $ +klp+_os+o^ej %
skng`en 9 $ +r]n+_bajceja %
_heajp[_bejlqp 9 $ +r]n+_bajceja+ejlqpo %
`a^e]j66
_b[^]oa[l]pd 9 $ +qon+o^ej %
skng`en 9 $ +r]n+he^+_bajceja. %
_heajp[_bejlqp 9 $ +r]n+he^+_bajceja.+ejlqpo %
na`d]p66
_b[^]oa[l]pd 9 $ +qon+lgc+_bajceja+o^ej %
skng`en 9 $ +r]n+_bajceja %
_heajp[_bejlqp 9 $ +r]n+_bajceja+ejlqpo %
`a^e]j* na`d]p* $okh]neoxokh]neot42%66
p]ga ] ^aop cqaoo kj pda l]pd bkn kpdan dkopo
_b[^]oa[l]pd 9 $ +qon+lgc+_bajceja+o^ej %
skng`en 9 $ +r]n+_bajceja %
_heajp[_bejlqp 9 $ +r]n+_bajceja+ejlqpo %
```
与嵌入在 `_b*lna_kjb` 中的文件相比,`ql`]`pa*_kjb` 文件还有额外的操作:
```plaintext
]ju66
]_pekjoamqaj_a 9 $
hejgo
`ena_pkneao
_klu
lnk_aooao*EbAh]loa`,
pe`u
%
```
使用 `]``ejop]hh]^ha` 行让 cfengine 知道可能在运行时定义新类:
```plaintext
=``ejop]hh]^ha 9 $ dql_bata_`]j`_boanr` %
```
将 `Olh]uPeia` 设置为 1,意味着 `_b]cajp` 在执行任何操作之前会随机休眠 0 到 5 分钟:
```plaintext
`ki]ej 9 $ _]ilej*jap %
lkhe_udkop 9 $ ckh`i]opan*_]ilej*jap %
behaoanran 9 $ ckh`i]opan*_]ilej*jap %
i]opan[_bejlqp 9 $ +r]n+he^+_bajceja.+i]opanbehao+LNK@+ejlqpo %
Olh]uPeia 9 $ 1 %
```
`_klu` 操作会在 `_b]cajp` 每次运行时复制主 `ejlqpo` 树,以保持本地 cfengine 配置文件最新:
```plaintext
_klu6
$i]opan[_bejlqp%+
`aop9 $skng`en%+ejlqpo+
n9ejb
ik`a93,,
pula9_da_goqi
ecjkna9N?O
ecjkna9*orj
ksjan9nkkp
cnkql9nkkp
ecjkna9&(r
lqnca9pnqa
oanran9 $lkhe_udkop%
pnqopgau9pnqa
aj_nulp9pnqa
```
`ena_pkneao` 操作强制重要 cfengine 目录的存在和权限:
```plaintext
`ena_pkneao6
]ju66
$skng`en%+^]_gqlo ik`a93,, ksjan9nkkp cnkql9nkkp
$skng`en%+ejlqpo ik`a93,, ksjan9nkkp cnkql9nkkp
$skng`en%+kqplqpo ik`a93,, ksjan9nkkp cnkql9nkkp
$skng`en%+llgauo ik`a93,, ksjan9nkkp cnkql9nkkp
$skng`en%+_bajceja+oqio ik`a93,, ksjan9nkkp cnkql9nkkp
$skng`en%+pil ik`a93,, ksjan9nkkp cnkql9nkkp
`a^e]j66
$skng`en%+^ej ik`a93,, ksjan9nkkp cnkql9nkkp
```
为了安全起见,不要允许对这些目录进行全局访问(即使是只读访问)。
`pe`u` 操作会删除 `$skng`en%+kqplqpo` 目录中超过 7 天的文件,防止目录无限增长:
```plaintext
pe`u6
]ju66
$skng`en%+kqplqpo l]ppanj9& ]ca93
```
`lnk_aooao` 操作对 cfengine 守护进程进行进程监控:
```plaintext
lnk_aooao6
]ju66
_bata_` naop]np $_b[^]oa[l]pd%+_bata_`
_boanr` naop]np $_b[^]oa[l]pd%+_boanr`
_bajr` naop]np $_b[^]oa[l]pd%
```
0
0
复制全文
相关推荐









