From Fedora Project Wiki

A quick examination of just commands loaded in /usr/bin showed significant differences between the F21 and F22 docker images. Consensus seems to be forming around the idea that the Fedora docker image should be composed of a minimum install of Fedora required to get dnf running. After that all tools desired by the consumer should be added by the consumer. This is inline with the "one process per container" philosphy that many people use when thinking about containers.

However, we did ship more than a minimal image with F21 and we broke that expectation in F22. Additionally, other distributions are shipping images that contain some "non-minimal" tools, such as 'ps' or 'vi', therefore users may expect them be in the Fedora images.

One solution is to include these tools today, but to explicitly note that they are not guaranteed to be included in future versions. Additionally, we should begin to encourage a new best practice of explicitly dnf installing any tools needed. Today these installs will be noops, tomorrow they will actually do the install.

Today the F22 docker image explicitly includes these packages and their dependencies:

  • bash
  • fedora-release
  • rootfiles
  • vim-minimal
  • dnf
  • dnf-yum

See: https://git.fedorahosted.org/cgit/spin-kickstarts.git/tree/fedora-docker-base.ks?h=f22

What do we need to add back and/or consider for future removal

These tools should be explicitly added back to F22 with a proposal to drop them in F23+ (bold indicates the tool is already in F22)

  • cpio
  • file
  • find
  • pgrep
  • pkill
  • pmap
  • ps
  • top
  • unxz
  • uptime
  • vi
  • w
  • watch
  • which
  • xargs
  • xz
  • xzcat
  • xzcmp
  • xzdec
  • xzdiff
  • xzegrep
  • xzfgrep
  • xzgrep
  • xzless
  • xzmore
  • yum

I came up with list using the "scientific" method of eyeballing the list below and considering what was in other distros. It is very much open for amendment.

Full lists are below

In Fedora 21 and not in Fedora 22

  • cpio
  • csslint-0.6
  • dbus-binding-tool
  • dracut
  • envsubst
  • file
  • find
  • fipscheck
  • fipshmac
  • firewall-cmd
  • firewall-offline-cmd
  • free
  • gettext
  • gettext.sh
  • grub2-editenv
  • grub2-file
  • grub2-fstest
  • grub2-glue-efi
  • grub2-kbdcomp
  • grub2-menulst2cfg
  • grub2-mkfont
  • grub2-mkimage
  • grub2-mklayout
  • grub2-mknetdir
  • grub2-mkpasswd-pbkdf2
  • grub2-mkrelpath
  • grub2-mkrescue
  • grub2-mkstandalone
  • grub2-render-label
  • grub2-script-check
  • grub2-syslinux2cfg
  • linux-boot-prober
  • lsinitrd
  • mkinitrd
  • msgattrib
  • msgcat
  • msgcmp
  • msgcomm
  • msgconv
  • msgen
  • msgexec
  • msgfilter
  • msgfmt
  • msggrep
  • msghack
  • msginit
  • msgmerge
  • msgunfmt
  • msguniq
  • ngettext
  • oldfind
  • os-prober
  • pgrep
  • pidof
  • pkill
  • pmap
  • ps
  • pwdx
  • recode-sr-latin
  • skill
  • slabtop
  • snice
  • tload
  • top
  • unxz
  • uptime
  • urlgrabber
  • vmstat
  • w
  • watch
  • which
  • xargs
  • xgettext
  • xz
  • xzcat
  • xzcmp
  • xzdec
  • xzdiff
  • xzegrep
  • xzfgrep
  • xzgrep
  • xzless
  • xzmore

In Fedora 22 and not in Fedora 21

  • applydeltarpm
  • combinedeltarpm
  • dirmngr
  • dirmngr-client
  • dnf
  • dnf-2
  • g13
  • makedeltarpm
  • newgidmap
  • newuidmap
  • rpmdumpheader
  • systemd-hwdb

Complete list for Fedora 22 (ls /usr/bin)

  • [
  • alias
  • applydeltarpm
  • arch
  • awk
  • base64
  • basename
  • bash
  • bashbug
  • bashbug-64
  • bg
  • bootctl
  • busctl
  • ca-legacy
  • cal
  • captoinfo
  • cat
  • catchsegv
  • cd
  • certutil
  • chacl
  • chage
  • chattr
  • chcon
  • chfn
  • chgrp
  • chmod
  • chown
  • chrt
  • chsh
  • cksum
  • clear
  • cmp
  • cmsutil
  • col
  • colcrt
  • colrm
  • column
  • combinedeltarpm
  • comm
  • command
  • coredumpctl
  • cp
  • crlutil
  • csplit
  • curl
  • cut
  • date
  • db_archive
  • db_checkpoint
  • db_deadlock
  • db_dump
  • db_dump185
  • db_hotbackup
  • db_load
  • db_log_verify
  • db_printlog
  • db_recover
  • db_replicate
  • db_stat
  • db_tuner
  • db_upgrade
  • db_verify
  • dbus-cleanup-sockets
  • dbus-daemon
  • dbus-monitor
  • dbus-run-session
  • dbus-send
  • dbus-uuidgen
  • dd
  • df
  • diff
  • diff3
  • dir
  • dircolors
  • dirmngr
  • dirmngr-client
  • dirname
  • dmesg
  • dnf
  • dnf-2
  • du
  • echo
  • egrep
  • eject
  • env
  • ex
  • expand
  • expr
  • factor
  • fallocate
  • false
  • fc
  • fg
  • fgrep
  • findmnt
  • flock
  • fmt
  • fold
  • g13
  • gapplication
  • gawk
  • gdbm_dump
  • gdbm_load
  • gdbmtool
  • gdbus
  • gencat
  • getconf
  • getent
  • getfacl
  • getopt
  • getopts
  • gio-querymodules-64
  • glib-compile-schemas
  • gpasswd
  • gpg-agent
  • gpg-connect-agent
  • gpg-error
  • gpg2
  • gpgconf
  • gpgkey2ssh
  • gpgparsemail
  • gpgv2
  • grep
  • groups
  • gsettings
  • gunzip
  • gzexe
  • gzip
  • head
  • hexdump
  • hostid
  • hostnamectl
  • i386
  • iconv
  • id
  • idn
  • igawk
  • info
  • infocmp
  • infokey
  • infotocap
  • install
  • ionice
  • ipcmk
  • ipcrm
  • ipcs
  • iptables-xml
  • isosize
  • jobs
  • join
  • journalctl
  • kernel-install
  • kill
  • kmod
  • last
  • lastb
  • lastlog
  • lchfn
  • lchsh
  • ldd
  • link
  • linux32
  • linux64
  • ln
  • locale
  • localectl
  • localedef
  • logger
  • login
  • loginctl
  • logname
  • look
  • ls
  • lsattr
  • lsblk
  • lscpu
  • lslocks
  • lslogins
  • lua
  • luac
  • machinectl
  • makedb
  • makedeltarpm
  • mcookie
  • md5sum
  • mesg
  • mkdir
  • mkfifo
  • mknod
  • mktemp
  • modutil
  • more
  • mount
  • mountpoint
  • mv
  • namei
  • networkctl
  • newgidmap
  • newgrp
  • newuidmap
  • nice
  • nl
  • nohup
  • nproc
  • nsenter
  • numfmt
  • od
  • p11-kit
  • paste
  • pathchk
  • pinentry
  • pinentry-curses
  • pinky
  • pk12util
  • pkg-config
  • pldd
  • pr
  • printenv
  • printf
  • prlimit
  • ptx
  • pwd
  • pwmake
  • pwscore
  • pydoc
  • python
  • python2
  • python2.7
  • raw
  • read
  • readlink
  • realpath
  • rename
  • renice
  • reset
  • rev
  • rm
  • rmdir
  • rpcgen
  • rpm
  • rpm2archive
  • rpm2cpio
  • rpmdb
  • rpmdumpheader
  • rpmkeys
  • rpmquery
  • rpmverify
  • runcon
  • rvi
  • rview
  • script
  • scriptreplay
  • sdiff
  • sed
  • seq
  • setarch
  • setfacl
  • setpriv
  • setsid
  • setterm
  • setup-nsssysinit
  • setup-nsssysinit.sh
  • sg
  • sh
  • sha1sum
  • sha224sum
  • sha256sum
  • sha384sum
  • sha512sum
  • shred
  • shuf
  • signtool
  • signver
  • sleep
  • sort
  • sotruss
  • split
  • sprof
  • sqlite3
  • ssltap
  • stat
  • stdbuf
  • stty
  • su
  • sum
  • sync
  • systemctl
  • systemd-analyze
  • systemd-ask-password
  • systemd-cat
  • systemd-cgls
  • systemd-cgtop
  • systemd-delta
  • systemd-detect-virt
  • systemd-escape
  • systemd-firstboot
  • systemd-hwdb
  • systemd-inhibit
  • systemd-machine-id-setup
  • systemd-notify
  • systemd-nspawn
  • systemd-path
  • systemd-run
  • systemd-stdio-bridge
  • systemd-sysusers
  • systemd-tmpfiles
  • systemd-tty-ask-password-agent
  • tabs
  • tac
  • tail
  • tailf
  • taskset
  • tee
  • test
  • tic
  • timedatectl
  • timeout
  • toe
  • touch
  • tput
  • tr
  • true
  • truncate
  • trust
  • tset
  • tsort
  • tty
  • tzselect
  • udevadm
  • ul
  • umask
  • umount
  • unalias
  • uname
  • uname26
  • unexpand
  • uniq
  • unlink
  • unshare
  • update-ca-trust
  • update-crypto-policies
  • update-mime-database
  • users
  • utmpdump
  • uuidgen
  • vdir
  • vi
  • view
  • wait
  • wall
  • watchgnupg
  • wc
  • wdctl
  • whereis
  • who
  • whoami
  • write
  • x86_64
  • x86_64-redhat-linux-gnu-pkg-config
  • xmlcatalog
  • xmllint
  • xmlwf
  • yes
  • yum
  • zcat
  • zcmp
  • zdiff
  • zegrep
  • zfgrep
  • zforce
  • zgrep
  • zless
  • zmore
  • znew