starting Fedora Server SIG

Chris Adams cmadams at
Wed Nov 12 19:15:51 UTC 2008

Once upon a time, John Ellson <john.ellson at> said:
> Are there guidelines somewhere on what packages should not be pulled in 
> on a server?

Well, I guess start with a very minimal install and see what is there.
With rawhide, it appears impossible to install a kernel without pulling
in X libraries (because of plymouth), so I guess the base X libraries
can be considered "core" now.

Here's a script that lets you install packages and their dependencies
into a subdirectory to see what gets pulled in.  If you just install
kernel and grub, you get 116 packages, including python, core X
libraries, and freetype.  Add in yum and you get another 29 packages.

Chris Adams <cmadams at>
Systems and Network Administrator - HiWAAY Internet Services
I don't speak for anybody but myself - that's enough trouble.


# "Install" a specified set of packages (plus dependencies) in a
# subdirectory using yum.
# The subdirectory is the first argument (must not already exist) and
# everything else is taken as a list of packages to install

if (($(id -u) != 0)); then
	echo "Must run as root" 1>&2
	exit 1

if [ -z "$BASE" ]; then
	echo "Must supply top-level directory" 1>&2
	exit 1
if [ -e "$BASE" ]; then
	echo "$BASE exists" 1>&2
	exit 1
if [ -z "$*" ]; then
	echo "Must supply package(s) to install" 1>&1
	exit 1

# make the base fully-specified
mkdir "$BASE"
BASE="$(cd "$BASE"; pwd)"

# rpm init
mkdir -p "$BASE/var/lib/rpm"
rpm --initdb --dbpath "$BASE/var/lib/rpm"

# filesystem setup (keeps kernel %post happy)
mkdir -p "$BASE/etc"
touch "$BASE/etc/fstab"

# install and clean up
yum -y --installroot="$BASE" --disablerepo="*" --enablerepo=rawhide \
    install $@
yum --installroot="$BASE" --disablerepo="*" --enablerepo=rawhide clean all

More information about the fedora-devel-list mailing list