Discoveries
This page contains random discoveries that we make. We’ll bring some structure to this page as we go.
Techniques
dnf
- 
--nodocs or --setopt=tsflags=nodocs - 
Average shrink is 5 to 10M 
 
- 
- 
--setopt=install_weak_deps=false - 
Depending on the package could shrink alot, could shrink nothing 
- 
Can remove some functionality 
 
- 
- 
install glibc-minimal-langpack <package(s)> - 
Average shrink is 200M 
- 
Can remove some language based functionality 
 
- 
Packages
These headings can/should be changed. They are what they currently are just for placeholders.
Investigating Minimization
- 
httpd - 
Remove systemd from main package 
- 
https://src.fedoraproject.org/rpms/httpd/pull-request/7 - 
/usr/sbin/apachectl requires /usr/bin/systemctl so this will require some package/subpackage shuffling. 
 
- 
 
- 
- 
nginx - 
Remove systemd from main package 
 
- 
- 
mariadb - 
Drop perl ? - 
The two perl scripts in mariadb (mysqlaccess and mysql_find_rows) and might be considered being moved to a sub-package -client-utils, similiar to the perl scripts in -server-utils. 
 
- 
- 
Drop systemd ? - 
The mariadb containers start with run-mysqld. systemd is not involved at all. 
 
- 
 
- 
- 
postgresql - 
Drop systemd ? 
 
- 
- 
systemd - 
Can we pull it out of more package dependencies 
- 
Systemd is in all Fedora containers due to a bug in anaconda. Although the bug has been fixed, updating the koji image builders still hasn’t happened. 
 
- 
- 
polkit - 
Currently depends on mozjs60 - 
It’s rather large, (25M - 30M) can it be removed from some package dependencies ? 
- 
Possibly use duktape instead of mozjs 
- 
Request for information has been sent out, no replies yet. 
 
- 
 
- 
- 
perl - 
It’s rather large, can it be removed from some package dependencies ? 
 
- 
Finished Investigation
- 
dnf [changed] - 
removed systemd as a dependency. Dropped container size by 30M. 
 
- 
- 
anaconda-core [not-changed] - 
Can we shift flatpack-libs dependency to anaconda-gui ? 
- 
https://src.fedoraproject.org/rpms/anaconda/pull-request/5 - 
No, it needs to be where it is. 
 
- 
 
- 
External Articles
- 
Building tiny container images: https://opensource.com/article/18/7/building-container-images 
- 
Creating small containers with Buildah: https://opensource.com/article/18/5/containers-buildah 
- 
Buildah images not so small?: https://github.com/containers/buildah/issues/532 
Want to help? Learn how to contribute to Fedora Docs ›