過去数年間、私はdebootstrapを使用してデスクトップDebianをインストールし(毎日の使用)、もう一度使用する予定ですが、今まではdebootstrapデフォルトオプション、今回は代わりに最小限のシステムをインストールしたいと思います。
私はいくつかの検索を行いましたが、これまでのところ、私がまだ知らないものは何も見つかりませんでした。ほとんどの記事はbare minimalと言っていますが、デフォルトのオプションも使用しているだけです。代わりに、 exclude
オプションを使用して、それを削減し、システムを稼働させることができます。
私はdebootstrapを調査する予定ですが、前にここで質問したいと思っていました。おそらく誰かがすでに知っているか知っているので、時間を節約できます。
編集
最小限のDebianは、優先度required
およびimportant
のパッケージで構成されています
dpkg-query -f '${binary:Package} ${Priority}\n' -W \
| grep -w 'required\|important'
minbase
オプションは、一部のextra
、optional
、standard
をインストールしますが、最終的には一部のimportant
をインストールできます削除されました(またはまったくインストールされていません。--exclude
は動作するはずですが、チェックされていません)
シェルdeboostrapのsid
のサブスクリプトは/usr/share/debootstrap/scripts/sid
、(バックアップと)カスタマイズが簡単。
インストール後、ダウンロードしたディスクから多くのディスク領域が取得されます.deb
、apt-get clean
、apt-get autoclean
は一部を解放する必要があります。
一部のスペースは、ロケール、ドキュメント、マニュアルページ、dpkg-reconfigure locales
とパッケージlocalepurge
が役立つはずです。
オプション--variant=minbase
を使用していますが、これはかなり最小限(約150MB)のようです。テキストエディターはありませんが、重要なGNUツール、パッケージマネージャー、およびiproute2のネットワーク機能。
コンテナーイメージは現在広く利用されているため、コンテナーイメージから最小限のインストールを実現できます。たとえば、aarch64 debianストレッチDockerコンテナーのインストールは57.3Mのみです。これは、debootstrap minbaseバリアントよりもはるかに小さいです。
詳細情報は次のとおりです。
PCで次のコマンドを実行して、tarされたディレクトリにdebianストレッチコンテナイメージを取得します。
docker pull arm64v8/debian:stretch-2020-0130-slim
docker save -o stretch-root.tar arm64v8/debian:stretch-2020-0130-slim
Stretch-root.tarを抽出します。インストールディレクトリはlayer.tar
という名前のファイル内にあります。このファイルのコンテンツをaarch64ターゲットに配置します。du -sh
によって返されるディレクトリツリーのサイズは57.3Mです。
このコンテナーイメージディレクトリへのルートでマウントとPID名前空間を開始します。または、このイメージディレクトリでchrootを実行します。これは機能するはずですが、試していません。
私にもグリッチがあります。名前空間では、apt-get update
はヘッダーを待ち続けます。どういうわけか、サンドボックスユーザーrootをコマンドに追加して、コマンドがapt-get -o APT::Sandbox::User=root update
になるようにすることで解決できます。ストレッチaarch64バージョンは問題について不満を述べていませんが、ストレッチarm32v5バージョンで問題があったため、インターネットで簡単に答えを見つけることができます。
コンテナー内にdebootstrapパッケージをインストールします。次のコマンドを実行して、2つのdebianバスターインストールをインストールします。
debootstrap --include=apt,bash,dpkg buster /root/buster-root-1/
debootstrap --variant=minbase buster /root/buster-root-2/
2つのインストールでdu -sh
によって返されるサイズは、それぞれ266.4Mおよび8.1Mです。