tro*_*ine 8 debian puppet chef gitolite debian-squeeze
安装 gitolite 时,我发现:
# aptitude install gitolite
The following NEW packages will be installed:
gitolite
0 packages upgraded, 1 newly installed, 0 to remove and 29 not upgraded.
Need to get 114 kB of archives. After unpacking 348 kB will be used.
Get:1 http://security.debian.org/ squeeze/updates/main gitolite all 1.5.4-2+squeeze1 [114 kB]
Fetched 114 kB in 0s (202 kB/s)
Preconfiguring packages ...
Selecting previously deselected package gitolite.
(Reading database ... 30593 files and directories currently installed.)
Unpacking gitolite (from .../gitolite_1.5.4-2+squeeze1_all.deb) ...
Setting up gitolite (1.5.4-2+squeeze1) ...
No adminkey given - not initializing gitolite in /var/lib/gitolite.
Run Code Online (Sandbox Code Playgroud)
最后一行是我感兴趣的。如果我运行,dpkg-reconfigure -plow gitolite
我会看到一个对话框并且可以修改:
我更喜欢使用git
系统用户并在安装时提供管理员公钥,比如这样说:
# aptitude install gitolite --user git --admin-pubkey 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAc7kCAi2WkvqpAL1fK1sIw6xjpatJ+Ms2nrwLJPhdovEY3MPZF7mtH+rv1CHFDn66fLGiWevOFp...'
Run Code Online (Sandbox Code Playgroud)
那当然行不通。可以做类似的事情吗?如何提前确定配置参数?例如,当通过 puppet 或 Chef 自动安装 gitolite 时,这将非常有用。
fre*_*eit 14
我还没有测试过,但我相信dpkg-reconfigure
在示例机器上运行后,您可以运行debconf-get-selections | egrep "^gitolite\s"
以获取设置的内容。(debconf-utils
如果你没有它,它在包装中)。
然后在 CLI 上,debconf-set-selections $FILENAME
在运行 apt 之前。
然后用木偶它会是这样的:
file {
"/var/cache/debconf/gitolite.preseed":
source => '...'; # someplace with that output
}
package {
"gitolite":
require => File["/var/cache/debconf/gitolite.preseed"],
responsefile => "/var/cache/debconf/gitolite.preseed";
}
Run Code Online (Sandbox Code Playgroud)
有关 puppet 网站的更多信息:
我怀疑 Chef 有一个类似的机制来指定响应文件或预置文件或类似的东西,但我不是 Chef 用户。
归档时间: |
|
查看次数: |
6531 次 |
最近记录: |