Fedora 23 cloud image (and, for that matter, minimal anything) bloat
Pádraig Brady
P at draigBrady.com
Mon Sep 21 16:36:29 UTC 2015
On 21/09/15 16:07, Matthew Miller wrote:
> Fedora-Cloud-Base-20141203-21.x86_64.qcow2: 151M
> Fedora-Cloud-Base-23_Beta-20150915.x86_64.qcow2: 275M
>
> In just one year — 82% more awesome?
>
> I'd really like this to stay below 200MB as a competitive threshold.
> Or, if we're going to be bigger than that, be bigger for REASONS, not
> just accretion.
>
> tl;dr: grub2 is a lot to blame, but there seem to be some new
> questionable dep chains from systemd, and general dep growth across the
> board.
>
>
> Disk use at first boot:
>
> [f21]$ df -h /
> Filesystem Size Used Avail Use% Mounted on
> /dev/vda1 20G 359M 19G 2% /
>
> [f23b]$ df -h /
> Filesystem Size Used Avail Use% Mounted on
> /dev/vda1 20G 578M 19G 4% /
>
> RPMs installed:
>
> [f21]$ rpm -qa | wc -l
> 226
>
> [f23b]$ rpm -qa | wc -l
> 264
>
> Top 20 rpms by reported size:
>
> $ rpm -qa --qf '%{size} %{name}\n'|sort -nr|head -20
> 120417342 glibc-common
> 42307839 kernel-core
> 25000497 python-libs
> 22438155 systemd
> 14623272 coreutils
> 14000291 glibc
> 11282056 ruby-libs # hey, at least we lost this
> 10845519 glib2
> 10593004 selinux-policy-targeted
> 9389116 cracklib-dicts # https://bugzilla.redhat.com/show_bug.cgi?id=865521
> 9078043 python-boto
> 8792531 util-linux
> 7084188 bash
> 6669884 gnupg2
> 5844544 yum
> 4893790 policycoreutils
> 3786564 file-libs
> 3540004 shadow-utils
> 3458312 groff-base # who doesn't love groff?
> 2997717 tar
>
>
> $ rpm -qa --qf '%{size} %{name}\n'|sort -nr|head -20
> 125195206 glibc-common
> 86298752 linux-firmware # sadface, but hard
> 53291365 kernel-core
> 36004297 grub2-tools # this is ridiculous
> 28453336 python3-libs # 13% growth
> 27233273 systemd # 21% growth
> 16648994 grub2 # *sigh*
> 14486819 glibc
> 14287847 coreutils # this package got _smaller!_
... and more secure, due to lots of hard work minimizing dependencies,
like using glibc's printf implementation rather than our own.
Thanks for noticing :)
Note coreutils also got a new ./configure --enable-single-binary
option recently to build all tools to a single binary like busybox.
The tradeoff is somewhat higher startup cost, and RAM cost,
due to all shared libs being linked. Chromium is using this
build configuration I understand.
cheers,
Pádraig.
More information about the devel
mailing list