RHEL6 (Beta) minimal installation

I’ve just started testing the Red Hat Enterprise Linux 6 Beta, and I was really happy to see that the Minimal installation option is back at last. I know it’s always been possible to achieve something similar with RHEL5 and kickstart, or even something close enough by choosing to not install anything except the Base group in the interactive installer, but it was no longer as easy as just selecting a “Minimal” option and be done with it.

With the current trends, where virtualization is omnipresent, and automatic provisioning getting more accessible every day thanks to tools like puppet, it makes perfect sense to avoid as much complexity as possible in the OS installation step and have all changes applied once the minimal system is up and running, as those can easily be applied to both new and existing systems. Uniformity and reproducibility are both key when dealing with servers on a large scale.

So here’s a quick overview of what you get right after the system gets installed :

  • Only 665MB disk space used (tested for the x86_64 architecture).
  • Only one service listening on all network interfaces : sshd.
  • Postfix as the local MTA listening on the loopback interface only, replacing sendmail at last.
  • Rsyslogd as the syslog daemon, replacing the basic syslogd/klogd at last.
  • A few basic daemons running : udevd, auditd, dbus, hald, crond.

All this is pretty neat, and many of the other changes look very interesting too. You can read all about them in the RHEL6 Beta documentation.

There is also a rhelv6-beta-list for discussions during RHEL6’s beta cycle, and the Red Hat bugzilla for tracking all problems one might encounter.

The output of df -h :

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             7.4G  665M  6.4G  10% /
tmpfs                 499M     0  499M   0% /dev/shm

The output of ps ax (with 4 cores) :

  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 /sbin/init
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [migration/0]
    4 ?        S      0:00 [ksoftirqd/0]
    5 ?        S      0:00 [watchdog/0]
    6 ?        S      0:00 [migration/1]
    7 ?        S      0:00 [ksoftirqd/1]
    8 ?        S      0:00 [watchdog/1]
    9 ?        S      0:00 [migration/2]
   10 ?        S      0:00 [ksoftirqd/2]
   11 ?        S      0:00 [watchdog/2]
   12 ?        S      0:00 [migration/3]
   13 ?        S      0:00 [ksoftirqd/3]
   14 ?        S      0:00 [watchdog/3]
   15 ?        S      0:00 [events/0]
   16 ?        S      0:00 [events/1]
   17 ?        S      0:00 [events/2]
   18 ?        S      0:00 [events/3]
   19 ?        S      0:00 [cpuset]
   20 ?        S      0:00 [khelper]
   21 ?        S      0:00 [netns]
   22 ?        S      0:00 [async/mgr]
   23 ?        S      0:00 [pm]
   24 ?        S      0:00 [sync_supers]
   25 ?        S      0:00 [bdi-default]
   26 ?        S      0:00 [kintegrityd/0]
   27 ?        S      0:00 [kintegrityd/1]
   28 ?        S      0:00 [kintegrityd/2]
   29 ?        S      0:00 [kintegrityd/3]
   30 ?        S      0:00 [kblockd/0]
   31 ?        S      0:00 [kblockd/1]
   32 ?        S      0:00 [kblockd/2]
   33 ?        S      0:00 [kblockd/3]
   34 ?        S      0:00 [kacpid]
   35 ?        S      0:00 [kacpi_notify]
   36 ?        S      0:00 [kacpi_hotplug]
   37 ?        S      0:00 [ata/0]
   38 ?        S      0:00 [ata/1]
   39 ?        S      0:00 [ata/2]
   40 ?        S      0:00 [ata/3]
   41 ?        S      0:00 [ata_aux]
   42 ?        S      0:00 [ksuspend_usbd]
   43 ?        S      0:00 [khubd]
   44 ?        S      0:00 [kseriod]
   49 ?        S      0:00 [khungtaskd]
   50 ?        S      0:00 [kswapd0]
   51 ?        SN     0:00 [ksmd]
   52 ?        SN     0:00 [khugepaged]
   53 ?        S      0:00 [aio/0]
   54 ?        S      0:00 [aio/1]
   55 ?        S      0:00 [aio/2]
   56 ?        S      0:00 [aio/3]
   57 ?        S      0:00 [crypto/0]
   58 ?        S      0:00 [crypto/1]
   59 ?        S      0:00 [crypto/2]
   60 ?        S      0:00 [crypto/3]
   66 ?        S      0:00 [kpsmoused]
   67 ?        S      0:00 [usbhid_resumer]
   95 ?        S      0:00 [kstriped]
  182 ?        S      0:00 [scsi_eh_0]
  183 ?        S      0:00 [scsi_eh_1]
  236 ?        S      0:00 [jbd2/sda1-8]
  237 ?        S      0:00 [ext4-dio-unwrit]
  238 ?        S      0:00 [ext4-dio-unwrit]
  239 ?        S      0:00 [ext4-dio-unwrit]
  240 ?        S      0:00 [ext4-dio-unwrit]
  246 ?        S      0:00 [flush-8:0]
  315 ?        S<s    0:00 /sbin/udevd -d
  580 ?        S      0:00 [kauditd]
  704 ?        S<sl   0:00 auditd
  720 ?        Sl     0:00 /sbin/rsyslogd -c 4
  737 ?        Ssl    0:00 dbus-daemon --system
  760 ?        Ss     0:00 hald
  761 ?        S      0:00 hald-runner
  787 ?        S      0:00 hald-addon-input: Listening on /dev/input/event3 /dev/input/event1 /dev/input/event0
  800 ?        S      0:00 hald-addon-storage: polling /dev/sr0 (every 2 sec)
  801 ?        S      0:00 hald-addon-acpi: listening on acpi kernel interface /proc/acpi/event
  835 ?        Ss     0:00 /usr/sbin/sshd
  915 ?        Ss     0:00 /usr/libexec/postfix/master
  921 ?        S      0:00 pickup -l -t fifo -u
  922 ?        S      0:00 qmgr -l -t fifo -u
  925 ?        Ss     0:00 crond
  943 ?        Ss     0:00 login -- root         
  945 tty2     Ss+    0:00 /sbin/mingetty /dev/tty2
  947 tty3     Ss+    0:00 /sbin/mingetty /dev/tty3
  951 tty4     Ss+    0:00 /sbin/mingetty /dev/tty4
  953 tty5     Ss+    0:00 /sbin/mingetty /dev/tty5
  955 ?        S<     0:00 /sbin/udevd -d
  956 ?        S<     0:00 /sbin/udevd -d
  957 tty6     Ss+    0:00 /sbin/mingetty /dev/tty6
  963 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-daemon
 1029 tty1     Ss     0:00 -bash
 1052 tty1     R+     0:00 ps ax

If you decide to try this Beta release, here are a few tips :

  • With the minimal installation, there is no ssh client installed, but yum is available, so just run yum install openssh-clients to get ssh and sftp installed.
  • There is a currently known limitation where network interfaces aren’t configured at install time (unless performing a network-based installation). If you have DHCP working for the system, you can temporarily run dhclient eth0 to get eth0 up. Don’t forget to edit /etc/sysconfig/network-scripts/ifcfg-eth0 to make changes persistent.

Happy beta testing!

3 Replies to “RHEL6 (Beta) minimal installation”

Leave a Reply

Your email address will not be published. Required fields are marked *