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.
마지막 줄은 저에게 관심이 있습니다. 실행 dpkg-reconfigure -plow gitolite
하면 대화 상자가 표시되고 수정할 수 있습니다.
- gitolite의 시스템 사용자 이름
- gitolite 리포지토리의 위치
- 관리자 pubkey를 제공하십시오.
git
시스템 사용자 를 사용하고 설치시 관리자 pubkey를 제공 하고 싶습니다 .
# aptitude install gitolite --user git --admin-pubkey 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAc7kCAi2WkvqpAL1fK1sIw6xjpatJ+Ms2nrwLJPhdovEY3MPZF7mtH+rv1CHFDn66fLGiWevOFp...'
물론 그것은 작동하지 않습니다. 비슷한 일을 할 수 있습니까? 미리 구성 매개 변수를 어떻게 결정합니까? 예를 들어 꼭두각시 또는 요리사를 통해 자동으로 gitolite를 설치할 때 매우 유용합니다.
답변
나는 이것을 테스트하지는 않았지만 dpkg-reconfigure
예제 머신에서 실행 한 후에 debconf-get-selections | egrep "^gitolite\s"
는 설정된 것을 얻기 위해 실행할 수 있다고 생각합니다 . ( debconf-utils
없는 경우 패키지에 있음).
그런 다음 debconf-set-selections $FILENAME
apt를 실행하기 전에 CLI에서 .
그런 다음 꼭두각시와 같이 다음과 같습니다.
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";
}
꼭두각시 사이트에 대한 추가 정보 :
- http://projects.puppetlabs.com/projects/1/wiki/Debian_Preseed_Patterns
- http://projects.puppetlabs.com/projects/1/wiki/Debian_Patterns
- http://docs.puppetlabs.com/references/latest/type.html#package
Chef가 응답 파일이나 미리 설정 파일 등을 지정하는 비슷한 메커니즘을 가지고 있다고 생각하지만 Chef 사용자는 아닙니다.