「Minimal Ubuntu」とは?Google Compute Engineで早速試してみた!

Ubuntu

2018年7月9日、Ubuntuの開発を支援しているCanonical社が、「Minimal Ubuntu」というクラウドやコンテナ向けの向けのイメージをリリースしました。以下のブログでアナウンスされています。

Minimal Ubuntu, on public clouds and Docker Hub | Ubuntu blog

「Minimal Ubuntu」は、人が直接ログインしないクラウド向けの最小構成としたことで、イメージサイズが通常のUbuntuサーバーの50%となっており、起動時間も40%短くなっているとのことです。

Ubuntu 16.04 LTSとUbuntu 18.04 LTSのUbuntu Minimalイメージが、Amazon EC2、Google Compute Engine(GCE)、LXD、KVM、OpenStackで利用可能となっています。

プライベートクラウド用のイメージは、次のURLからダウンロードできます。

Ubuntu Minimal Cloud Images (RELEASED)

また、Amazon EC2のAMIイメージとしても利用可能となっていることを確認できました。

このリンクから、東京リージョンのイメージを参照できます(参照するにはEC2へのログインが必要)。

また、Google Compute Engine(GCE)でもUbuntu Minimalが選択可能となっています。

そこで、GCEで「Ubuntu 18.04 LTS Minimal」と「Ubuntu 18.04 LTS」をインストールして比較してみました。

まず、「Ubuntu 18.04 LTS Minimal」のディスク消費量は、以下の通り「802MB」でした。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       9.6G  802M  8.8G   9% /
devtmpfs        288M     0  288M   0% /dev
tmpfs           291M     0  291M   0% /dev/shm
tmpfs           291M  844K  290M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           291M     0  291M   0% /sys/fs/cgroup
/dev/sda15      105M  3.4M  102M   4% /boot/efi
/dev/loop0       87M   87M     0 100% /snap/core/4917
/dev/loop1       49M   49M     0 100% /snap/google-cloud-sdk/41
tmpfs            59M     0   59M   0% /run/user/1001

一方、通常の「Ubuntu 18.04 LTS」は、「1.1GB」でした。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            279M     0  279M   0% /dev
tmpfs            59M  852K   58M   2% /run
/dev/sda1       9.6G  1.1G  8.5G  12% /
tmpfs           291M     0  291M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           291M     0  291M   0% /sys/fs/cgroup
/dev/sda15      105M  3.4M  102M   4% /boot/efi
/dev/loop0       87M   87M     0 100% /snap/core/4650
/dev/loop1       48M   48M     0 100% /snap/google-cloud-sdk/38
tmpfs            59M     0   59M   0% /run/user/1001

イメージサイズほどの違いはないですが、Minimalのほうが約30%小さくなっています。

インストールされているパッケージを比較したところ、「Ubuntu 18.04 LTS」にインストールされていて、「Ubuntu 18.04 LTS Minimal」にインストールされていないパッケージは以下のリストの通り「163」ありました。

accountsservice
apport-symptoms
apt-utils
bash-completion
bind9-host
bsdmainutils
busybox-initramfs
busybox-static
byobu
cloud-initramfs-copymods
cloud-initramfs-dyn-netconf
command-not-found
command-not-found-data
console-setup
console-setup-linux
cpio
debconf-i18n
dmidecode
dnsutils
dosfstools
ed
eject
file
friendly-recovery
ftp
geoip-database
git
hdparm
info
init
initramfs-tools
initramfs-tools-bin
initramfs-tools-core
install-info
iputils-ping
iputils-tracepath
iso-codes
kbd
keyboard-configuration
klibc-utils
landscape-common
language-selector-common
less
libaccountsservice0
libbind9-160
libcurl3-gnutls
libdns1100
libdrm-common
libdrm2
libdumbnet1
liberror-perl
libevent-2.1-6
libfribidi0
libgeoip1
libicu60
libirs160
libisc169
libisccc160
libisccfg160
libklibc
liblwres160
libmagic-mgc
libmagic1
libmspack0
libnewt0.52
libnih1
libntfs-3g88
libnuma1
libparted2
libpcap0.8
libpci3
libpipeline1
libplymouth4
libpolkit-agent-1-0
libpolkit-backend-1-0
libpolkit-gobject-1-0
libpython3.6
libslang2
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libunwind8
libusb-1.0-0
libutempter0
libx11-6
libx11-data
libxau6
libxcb1
libxdmcp6
libxext6
libxml2
libxmlsec1
libxmlsec1-openssl
libxmuu1
libxslt1.1
locales
lshw
lsof
ltrace
man-db
manpages
mlocate
mtr-tiny
nano
ncurses-term
netcat-openbsd
ntfs-3g
open-vm-tools
overlayroot
parted
pastebinit
pciutils
plymouth
plymouth-theme-ubuntu-text
policykit-1
popularity-contest
powermgmt-base
psmisc
publicsuffix
python3-attr
python3-automat
python3-click
python3-colorama
python3-commandnotfound
python3-constantly
python3-gdbm
python3-hyperlink
python3-incremental
python3-newt
python3-pam
python3-pyasn1
python3-pyasn1-modules
python3-service-identity
python3-software-properties
python3-twisted
python3-twisted-bin
python3-zope.interface
run-one
screen
shared-mime-info
software-properties-common
strace
tcpdump
telnet
time
tmux
tzdata
ubuntu-advantage-tools
ubuntu-minimal
ubuntu-server
ubuntu-standard
ufw
ureadahead
usbutils
uuid-runtime
vim
vim-common
vim-runtime
vim-tiny
whiptail
xauth
xdg-user-dirs
xkb-data

なお、「Ubuntu 18.04 LTS」はパッケージ数が510、「Ubuntu 18.04 LTS Minimal」はパッケージ数が347でした。

「人がログインして操作すること」は想定されていないため、Vimやnanoといったテキストエディター、ページャー(less)、ターミナルマルチプレクサ関係(byobu・tmux・screen)、Tab補完を強化するbash-completionなどなど、多くのパッケージが削除されていることが分かります。「Minimal Ubuntu」に含まれるパッケージの一覧は、次のURLで確認できます。

Minimal Ubuntu 18.04 LTS のイメージに含まれるパッケージ
https://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.manifest
Minimal Ubuntu 16.04 LTS のイメージに含まれるパッケージ
https://cloud-images.ubuntu.com/minimal/releases/xenial/release/ubuntu-16.04-minimal-cloudimg-amd64-root.manifest

パッケージを最小限に絞ることで、クラウドやコンテナで用いるUbuntuのサイズが小さくなるだけでなく、セキュリティリスクも最小化することができます。
クラウドやコンテナで最も用いられているUbuntuですが、今後は「Minimal Ubuntu」の採用が広がっていくように思われます。

Ubuntu
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました