Red Hat 6: cambiar el tamaño de tmpfs de forma permanente

En Red Hat 6 ( y por consiguiente en Scientific Linux, CentOS, Fedora…) existe lo que parece un bug curioso y que no sucedía en Red Hat 5. Si queremos cambiar el tamaño asignado a tmpfs, que por defecto es el 50% de la RAM del sistema (creo recordar) lo lógico es hacerlo en el /etc/fstab:

tmpfs    /dev/shm    tmpfs   defaults,size=4G        0 0

En este caso, podemos hacerlo efectivo sin reiniciar haciendo un remount:

# mount -o remount /dev/shm

El problema en Red Hat 6 viene con los reinicios, en los que la partición /dev/shm se monta con los valores por defectos haciendo caso omiso a la configuración de fstab. La solución que se visualiza en la Knowledgebase de Red Hat es ejecutar el remount o configurarlo en el /etc/rc.local para que se ejecute al reiniciar.

De todas formas hay otra posibilidad,  hay  un parche que modifica el script /etc/rc.d/rc.sysinit evitando que tmpfs se monte con el parámetro -f (fake) comentando una línea y añadiendolo para que sea leído del fstab:

--- /etc/rc.d/rc.sysinit.orig   2010-09-01 18:15:50.000000000 +0200
+++ /etc/rc.d/rc.sysinit        2011-02-23 11:07:12.544475820 +0100
@@ -487,7 +487,7 @@
        mount -f /proc >/dev/null 2>&1
        mount -f /sys >/dev/null 2>&1
        mount -f /dev/pts >/dev/null 2>&1
-       mount -f /dev/shm >/dev/null 2>&1
+       #mount -f /dev/shm >/dev/null 2>&1
        mount -f /proc/bus/usb >/dev/null 2>&1
 fi

@@ -495,7 +495,7 @@
 # mounted). Contrary to standard usage,
 # filesystems are NOT unmounted in single user mode.
 if [ "$READONLY" != "yes" ] ; then
-       action $"Mounting local filesystems: " mount -a -t \
nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
+       action $"Mounting local filesystems: " mount -a -t \
tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
 else
        action $"Mounting local filesystems: " mount -a -n -t \
nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev
 fi