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


10

debootstrapのminibaseバリアントと一緒にインストールしたいパッケージのセットがあります。debootstrapの実行時にベースだけでなく、chrootにインストールされるようにバリアントをカスタマイズする方法を理解するのに最も苦労しています。これを達成する方法はありますか?

回答:


10

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

debootstrapの設定/実行時のスクリプトは次の場所にあります/usr/share/debootstrap/scriptsallmybaseすべてminbaseのパッケージhtopとを含むバリアントを作成してみましょうtraceroute

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

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

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

        elif doing_variant fakechroot || doing_variantミニベース; その後
                base = "apt"
    
  4. 関数の最後にカスタムパッケージを含む独自のバリアントを追加します。

        elif done_variant allmybase; その後
                base = "apt htop traceroute"
    
  5. 保存して終了し、--print-debs「シミュレーション」フラグを使用してテストします。たとえば、

    sudo debootstrap --print-debs --variant = allmybase正確な/ tmp / prec-chroot
    
    • この例の出力では、htopおよびtracerouteパッケージがallmybase chrootに含まれることが示されています。

うわー、これはバリアントをインストールしてchroot + apt-getをマウントするのと同じくらい汚いように思えます。情報のおかげで!
マルコセッピ

ええと、同じバリアントを繰り返しインストールする場合、少しの苦痛は一度あなたに大きな利益を
もたらし

おそらく、その時点ではそのオプションは存在しませんでしたが、debootstrap --include=htop,traceroutedebootstrapスクリプトを変更しなくても同じ効果が得られます。
raimue
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.