Debootstrapのミニベースバリアントと一緒にインストールしたいパッケージのセットがあります。 debootstrapの実行時にベースだけでなくchrootにインストールされるように、バリアントをカスタマイズする方法を考え出すのが一番大変です。これを達成する方法はありますか?
debootstrapにカスタムパッケージを追加して独自のバリアントを追加するのは非常に簡単です。
debootstrap設定/ランタイムスクリプトは、/usr/share/debootstrap/scripts
にあります。パッケージallmybase
およびminbase
と共にhtop
のすべてを含むtraceroute
バリアントを作成しましょう。
エディターで/usr/share/debootstrap/scripts/precise
を開きます。
/usr/share/debootstrap/scripts/gutsy
へのシンボリックリンクであることに注意してください。特定のリリースのみに影響を与える場合は、リンクを解除して、代わりにgutsyスクリプトのコピーにします。22行目付近でvariants
で始まる行を見つけ、最後にカスタムバリアントを追加します。
variants-buildd fakechroot minbase allmybase
34行目のwork_out_debs()
関数を見つけ、「ベース」バリアントのbase
変数のデフォルト設定を確認します(ここでは、minbase
):
Elif doing_variant fakechroot || doing_variant minbase; then base = "apt"
関数の最後にカスタムパッケージを使用して独自のバリアントを追加します。
Elif doing_variant allmybase; then base = "apt htop traceroute"
保存して終了し、--print-debs
"simulation"フラグを使用してテストします。
Sudo debootstrap --print-debs --variant = allmybase precise /tmp/prec-chroot
htop
およびtraceroute
パッケージがallmybase chrootに含まれることを示します。