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
-
https://src.fedoraproject.org/rpms/httpd/pull-request/5
-
-
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.
-
-
https://bugzilla.redhat.com/show_bug.cgi?id=1753696
-
-
postgresql
-
Drop systemd ?
-
-
systemd
-
Can we pull it out of more package dependencies
-
https://pagure.io/minimization/issue/2
-
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 ›