More Smaller Ubuntu Installation

ubuntu

mmdebstrapと追加パッケージ厳選の Ubuntu 22.04 インストール

この 記事(以降は前回と呼びます) で小さなUbuntuのインストール方法を紹介しましたが、追加パッケージを選ぶことで更に小さな Ubuntu を構築します。

環境

必要とする環境は前回と変わりません。

  • Ubuntu 22.04 インストールメディア
  • インストール対象の外付けストレージ(余裕をもって 1GByte 程度を用意します)
  • インターネット環境(mmdebstrapでネットワーク越しにダウンロードするため)
  • インストール済み Ubuntu 22.04 本体(mmdebstrapを実行する環境です)

前回のインストール手順と同じ個所

以下については前回の手順と同様です。

  • 「パーティション作成 (インストール済み Ubuntu でコマンド実行①)」
  • 「mmdebstrap 実行(インストール済み Ubuntu でコマンド実行②)」
  • 「細かな設定(インストール済み Ubuntu でコマンド実行③)」の root パスワード設定まで

追加パッケージ(linuxカーネルイメージ)をインストールする手順(変更点)

前回のコマンドライン

root@UbuntuTest:/# apt-get install linux-image-generic

今回のコマンドライン(カーネルの番号指定と netplan および systemd の個別指定)

root@UbuntuTest:/# apt-get install linux-image-6.5.0-21-generic netplan.io systemd-sysv

実行すると以下のログが表示されます。

root@UbuntuTest:/# apt-get install linux-image-6.5.0-21-generic netplan.io systemd-sysv
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  busybox-initramfs cpio dbus dmsetup gettext-base gir1.2-glib-2.0 grub-common
  grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common initramfs-tools
  initramfs-tools-bin initramfs-tools-core iproute2 klibc-utils kmod libapparmor1
  libargon2-1 libatm1 libbpf0 libbrotli1 libbsd0 libcap2-bin libcryptsetup12
  libdbus-1-3 libdevmapper1.02.1 libefiboot1 libefivar1 libelf1 libexpat1
  libfreetype6 libfuse3-3 libgirepository-1.0-1 libglib2.0-0 libglib2.0-data
  libicu70 libip4tc2 libjson-c5 libklibc libkmod2 libmd0 libmnl0 libmpdec3
  libnetplan0 libnss-systemd libpam-cap libpam-systemd libpng16-16
  libpython3-stdlib libpython3.10-minimal libpython3.10-stdlib libreadline8
  libsqlite3-0 libxml2 libxtables12 libyaml-0-2 linux-base
  linux-modules-6.5.0-21-generic media-types networkd-dispatcher os-prober python3
  python3-dbus python3-gi python3-minimal python3-netifaces python3-yaml python3.10
  python3.10-minimal readline-common shared-mime-info systemd systemd-hwe-hwdb
  systemd-timesyncd ucf udev xdg-user-dirs zstd
Suggested packages:
  libarchive1 default-dbus-session-bus | dbus-session-bus multiboot-doc grub-emu
  mtools xorriso desktop-base console-setup bash-completion iproute2-doc fuse3
  fdutils linux-doc | linux-hwe-6.5-source-6.5.0 linux-hwe-6.5-tools
  linux-headers-6.5.0-21-generic linux-modules-extra-6.5.0-21-generic
  network-manager | wpasupplicant openvswitch-switch python3-rich iw iw
  | wireless-tools python3-doc python3-tk python3-venv python-dbus-doc
  python3.10-venv python3.10-doc binutils binfmt-support readline-doc
  systemd-container libfido2-1 libtss2-esys-3.0.2-0 libtss2-mu0 libtss2-rc0
  policykit-1
The following NEW packages will be installed:
  busybox-initramfs cpio dbus dmsetup gettext-base gir1.2-glib-2.0 grub-common
  grub-gfxpayload-lists grub-pc grub-pc-bin grub2-common initramfs-tools
  initramfs-tools-bin initramfs-tools-core iproute2 klibc-utils kmod libapparmor1
  libargon2-1 libatm1 libbpf0 libbrotli1 libbsd0 libcap2-bin libcryptsetup12
  libdbus-1-3 libdevmapper1.02.1 libefiboot1 libefivar1 libelf1 libexpat1
  libfreetype6 libfuse3-3 libgirepository-1.0-1 libglib2.0-0 libglib2.0-data
  libicu70 libip4tc2 libjson-c5 libklibc libkmod2 libmd0 libmnl0 libmpdec3
  libnetplan0 libnss-systemd libpam-cap libpam-systemd libpng16-16
  libpython3-stdlib libpython3.10-minimal libpython3.10-stdlib libreadline8
  libsqlite3-0 libxml2 libxtables12 libyaml-0-2 linux-base
  linux-image-6.5.0-21-generic linux-modules-6.5.0-21-generic media-types
  netplan.io networkd-dispatcher os-prober python3 python3-dbus python3-gi
  python3-minimal python3-netifaces python3-yaml python3.10 python3.10-minimal
  readline-common shared-mime-info systemd systemd-hwe-hwdb systemd-sysv
  systemd-timesyncd ucf udev xdg-user-dirs zstd
0 upgraded, 82 newly installed, 0 to remove and 0 not upgraded.
Need to get 75.7 MB of archives.
After this operation, 290 MB of additional disk space will be used.

約 290 MB を消費します。前回はこのサイズが  1685 MB でしたので大幅に追加サイズを少なくできました。

インストール後の全体サイズ

インストール後の全体サイズを計測してみました。

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           790M  1.2M  789M   1% /run
/dev/sda2       987M  548M  372M  60% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           790M     0  790M   0% /run/user/0

約 600M Byte でルートファイルシステムが構築されています。更にもう少し小さくできればと思っています。