----- Original Message -----
From: "Matthew Miller" mattdm@fedoraproject.org To: "Fedora Development List" devel@lists.fedoraproject.org Sent: Monday, September 21, 2015 5:07:40 PM Subject: Fedora 23 cloud image (and, for that matter, minimal anything) bloat
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!_ 11143743 glib2 11129880 selinux-policy-targeted 9389116 cracklib-dicts 9261499 python3-boto 9237998 util-linux 9224255 fedora-logos # this is also grub's fault. 7517574 gnupg2 7143418 bash 6574678 python3-pip # :( 5888883 hwdata # this is ALSO grub's fault 5423400 xkeyboard-config # really???? looks like a systemd dep chain involving plymouth
When it comes to python3, one way to shave off ~9MiB from python3-libs, and possibly quite a bit more overall, would be to not install both optimized and unoptimized bytecode, as we do now, but just the unoptimized one (the performance hit should be very small).
I'll look into if that could be done.
We could also move few things from -libs to -devel, possibly.
Matt
Okay, let's look on disk:
[f21]$ sudo du -sh * 2>/dev/null|sort -h [...] 36K home 40K root 228K run 21M boot 22M etc 34M var 276M usr
[f23b]$ sudo du -sh * 2>/dev/null|sort -h [...] 40K root 264K run 16M etc 45M boot # ugh 171M var # oww 463M usr # oww oww oww
Breakdown:
boot is mostly grub, but initramfs is also doubled
var: DNF cache is full of stuff! 123M... oh, hey, that wasn't there when we booted. `df -h /` is now up to 702M. Maybe multiple repos would help here, or some other more clever design. Does every cloud image in the world _really_ need to replicate dependency data so I can `dnf install /usr/share/minetest/builtin/mainmenu/init_simple.lua`?
usr:
- linux-firmware is the biggest thing here
- python3 is another good chunk
- also kernel modules, but, eh, whatchagonnado
- oh, and of course, grub2.
-- Matthew Miller mattdm@fedoraproject.org Fedora Project Leader -- devel mailing list devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct