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