500M未満にDebianをインストールする方法は?

500M未満にDebianをインストールする方法は?

apt5億以下のDebianシステムを構築することは可能ですか?私はDebianのネットワークインストーラを試してみて、最も基本的な設定を選択しました(実際には何もインストールしませんでした)。次に、必須ではないいくつかのパッケージを起動して削除します。システムのパッケージ数を約160個に減らしました。しかし、オペレーティングシステムはまだ1G以上です。bashsystemd

$ df -h
Filesystem     Size  Used Avail Use% Mounted on
udev           2.1G     0  2.1G   0% /dev
tmpfs          414M  5.6M  409M   2% /run
/dev/sda1       13G  1.1G   11G  10% /
tmpfs          2.1G     0  2.1G   0% /dev/shm
tmpfs          5.3G     0  5.3G   0% /run/lock
tmpfs          2.1G     0  2.1G   0% /sys/fs/cgroup

/ devがなぜそんなに大きいのですか?

色々試してみたマイクロオペレーティングシステムただし、奇妙で混乱したパッケージ管理および/または永続的なファイルシステムを有効にする奇妙で混乱した方法があるか、インストーラが破損または混乱しています。私にとって必要なのは、超小型Debianオペレーティングシステムだけです。

答え1

debootstrap はバリアントを渡すことができます。現在(2020-08-19) Arm64 Debian 10のminbaseバリアントはカーネルなしで184MB、systemdなしで約18MB、以降のバージョンはapt-get clean

小規模なGNU / Linux用のいくつかのプロジェクトがあります。

  • OSMCは300MBで、
  • Alpine Linuxの場合は130MB
  • Termuxは69MBです。
  • クソ小さなLinuxは50MBしかありません。
  • dd-wrtメガは26MBです。

独自のものを作成する方法に関するガイドもあります(例:Linux From Scratch)。

Debianパッケージを除外し、カーネルをさらに減らすように設定できます。問題は、誰かが何かをしようとするとすぐに大きなパッケージをインストールすることです。

dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -rn | head
15200   coreutils
9805    perl-base
9746    libc6
6673    dpkg
6482    bash
4106    util-linux
3944    apt
3098    libapt-pkg5.0
3064    libc-bin
3036    tzdata

上記は、小規模ディストリビューションがBusyBox、カスタムパッケージマネージャを使用し、ランタイム(perl / python / php / etc)を回避する理由を明確に説明しています。

ただし、16TB ドライブと TB NVMe を使用すると、コンテナや組み込み操作の外側の人にとっては、展開サイズは重要ではありません。

答え2

完全な機能を備えたシステムではありません。

# debootstrap buster /var/tmp/bustertest
# chroot /var/tmp/bustertest apt update
# chroot /var/tmp/bustertest apt install linux-image-amd64
# chroot /var/tmp/bustertest apt policy systemd
systemd:
  Installed: 241-7~deb10u4
  Candidate: 241-7~deb10u4
  Version table:
 *** 241-7~deb10u4 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status
# du -hsx /var/tmp/bustertest
651M    /var/tmp/bustertest

このインストールで欠けている唯一のことはgrub実行機能です。これは非常にマイナーです。しかし、これはまだ5億の目標より多いです。

コアがない場合は365Mに達します。

/ devがなぜそんなに大きいのですか?

これはディスクではなくメモリ内にあるため、RAMサイズを/sys/fs/cgroup実際のものと同じに反映します。

関連情報