mmdebstrapは、debootstrapよりももっと小さいchroot環境をつくれるすごいやつ
基本的な使い方
SYNOPSIS mmdebstrap [OPTION...] [*SUITE* [*TARGET* [*MIRROR*...]]]
一応はこれで普通に作れる
mmdebstrap buster unko http://ftp.jp.debian.org/debian/
うちでは最終的にこうなった
mmdebstrap --variant=apt \ --dpkgopt='path-exclude=/usr/share/man/*' \ --dpkgopt='path-exclude=/usr/share/doc/*' \ --dpkgopt='path-exclude=/usr/share/locale/*' \ --dpkgopt='path-include=/usr/share/doc/*/copyright' \ --include=tree,jq \ buster unko http://ftp.jp.debian.org/debian/
SUITE
スイート、スイーツ名。 メジャーバージョンの名前。 stableとかtestingとかいうやつ。
busterとかsidとか、ubuntuならBionicとかメジャーバージョンに振られた名前は コード名 というらしい。
スイート名とコード名は大差ないのでここでも buster を指定できる。
というか、時代によってコロコロ変わる以上 stable とか指定するのはやめた方が良いと思う。
TARGET
作成するディレクトリ。 勝手に作ってくれるけど、もうあるなら空にしておく必要がある
MIRROR
aptするディレクトリ。 最近のバージョンなら指定しなくても作れるけど、なんとなく書いといた方がいい気がする。
古いやつを作るときは http://archive.debian.org/debian/ を指定する
OPTION
たぶんよく使うのは次の3つだと思う。
- --variant
- 最初にapt installするおすすめセット。
variant名 | 説明 | サイズ感 |
essennsial | 一番小さいセット。 aptなし apt等と関連ライブラリが無い |
76MB |
apt | essensialにapt等を入れた分 これが基本でいいと思う |
95MB |
minbase | さらにe2fsprogs, mount, tzdataが入ってる tzdataは必要かも |
101MB |
armhfでのサイズ感は上表の感じ。 あとはマニュアルを読む
- --dpkgopt
- dpkgに渡すオプション
ここでは指定ディレクトリのファイルを削除するとかしないとかのオプションしか使ってない。詳細はマニュアルを読む
--dpkgopt='path-exclude=/usr/share/man/*' \ --dpkgopt='path-exclude=/usr/share/doc/*' \ --dpkgopt='path-exclude=/usr/share/locale/*' \ --dpkgopt='path-include=/usr/share/doc/*/copyright' \
これをやると、 apt の場合95MBだったのが52MBまで減る。
- --include
- ついでにapt install するパッケージ
カンマで区切って書く。
あとで自分でchrootしてからapt installしてもいいけど、後入れの分はmanとかも少し入っちゃうのでちょっともったいない。
後からapt installするとき
chrootしてからaptコマンド使うと、/varの下にパッケージのリストとか残って無駄に容量を食うので、後始末をちゃんとする
apt clean rm -rf /var/lib/apt/lists
/var/lib/apt/listsをうっかり削除 - 揮発性のメモ2