I have one Arch server left at home, it is behaving badly. It has some fairly new stuff on it so I can’t replace it with CentOS.

I should be able to replace it with a new Fedora. So I hunted for a minimal install image… nothing! Netinstall? Ofcourse not!

Fedora is a desktop OS, the idea that you don’t want a GUI seems alien to them 🙁

Oh well, nothing to do about it. Let’s give them what they want… then clean house. Hey it’s MY os!

Filesystem                     Size  Used Avail Use% Mounted on  
rootfs                          18G  1.9G   16G  11% /

What I did to get a minimal install with only a CLI and nothing fancy? Easy! Or maybe not 😕

  1. Boot the Xfce Live CD
  2. Install as normal
  3. Once logged on, open a terminal and do the following:
yum grouplist | head -n20
# NOTE: Remove all except the following: Text-based Internet and System Tools
yum groupremove <group_here>
  1. Cleanup some more stuff
yum remove -y NetworkManager-glib NetworkManager-gtk adwaita-cursor-theme adwaita-gtk2-theme adwaita-gtk3-theme avahi avahi-autoipd avahi-glib avahi-libs bluez-libs cheese-libs gnome-bluetooth-libs gnome-desktop3 gnome-menus gnome-themes-standard libX11 libX11-common libburn liberation-fonts-common libgphoto2 lm\_sensors lm\_sensors-libs mesa-dri-filesystem mesa-libGL mesa-libGLU mesa-libglapi mesa-libxatracker metacity xorg-x11-server-Xephyr xkeyboard-config xorg-x11-server-Xephyr xorg-x11-server-common xulrunner
  1. Install some essentials
# NOTE: use DHCP to get network access, we can setup proper network access later
dhclient eth0
yum install -y yum-utils parted htop tmux screen
  1. Enable sshd
systemctl enable sshd.service
systemctl start sshd.service
echo "-A INPUT -m state &#8211;state NEW -m tcp -p tcp &#8211;dport 22 -j ACCEPT" >> /etc/sysconfig/iptables /etc/sysconfig/ip6tables
  1. Update the system
yum update -y
  1. Reboot

You now have a very small Fedora install without X Window System or a desktop environment. Just the way I like it.

Quick reference: http://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet — I use systemd far to little.