aptitudeまたはapt-getにdpkg構成パラメーターを提供するにはどうすればよいですか?


8

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のシステムユーザー名
  • ジトールリポジトリの場所と
  • 管理pubkeyを提供します。

私はgitシステムユーザーを使用し、インストール時に管理者pubkeyを提供したいと思います。

# aptitude install gitolite --user git --admin-pubkey 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAc7kCAi2WkvqpAL1fK1sIw6xjpatJ+Ms2nrwLJPhdovEY3MPZF7mtH+rv1CHFDn66fLGiWevOFp...'

もちろん、それは機能しません。同様のことができますか?構成パラメーターを事前に決定するにはどうすればよいですか?これは、人形やシェフを介して自動的にgitoliteをインストールする場合などに非常に便利です。

回答:


14

私はこれをテストしていませんがdpkg-reconfigure、サンプルマシンでを実行した後、実行してdebconf-get-selections | egrep "^gitolite\s"設定を取得できると思います。(debconf-utilsパッケージがない場合はパッケージに含まれています)。

次に、debconf-set-selections $FILENAMEaptを実行する前に、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";
}

人形のサイトの詳細:

Chefにはresponsefileやpreseedファイルなどを指定するための同様のメカニズムがあると思いますが、私はChefユーザーではありません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.