web-dev-qa-db-ja.com

debootstrapにさらにバリアントまたはカスタムパッケージを追加するにはどうすればよいですか?

Debootstrapのミニベースバリアントと一緒にインストールしたいパッケージのセットがあります。 debootstrapの実行時にベースだけでなくchrootにインストールされるように、バリアントをカスタマイズする方法を考え出すのが一番大変です。これを達成する方法はありますか?

10
Marco Ceppi

debootstrapにカスタムパッケージを追加して独自のバリアントを追加するのは非常に簡単です。

debootstrap設定/ランタイムスクリプトは、/usr/share/debootstrap/scriptsにあります。パッケージallmybaseおよびminbaseと共にhtopのすべてを含むtracerouteバリアントを作成しましょう。

  1. エディターで/usr/share/debootstrap/scripts/preciseを開きます。

    • これは、多くのUbuntuリリースとともに、/usr/share/debootstrap/scripts/gutsyへのシンボリックリンクであることに注意してください。特定のリリースのみに影響を与える場合は、リンクを解除して、代わりにgutsyスクリプトのコピーにします。
  2. 22行目付近でvariantsで始まる行を見つけ、最後にカスタムバリアントを追加します。

     variants-buildd fakechroot minbase allmybase
  3. 34行目のwork_out_debs()関数を見つけ、「ベース」バリアントのbase変数のデフォルト設定を確認します(ここでは、minbase):

     Elif doing_variant fakechroot || doing_variant minbase; then 
     base = "apt" 
    
  4. 関数の最後にカスタムパッケージを使用して独自のバリアントを追加します。

     Elif doing_variant allmybase; then 
     base = "apt htop traceroute" 
    
  5. 保存して終了し、--print-debs "simulation"フラグを使用してテストします。

     Sudo debootstrap --print-debs --variant = allmybase precise /tmp/prec-chroot
    
    • この例では、出力はhtopおよびtracerouteパッケージがallmybase chrootに含まれることを示します。
10
ish