martes, 2 de abril de 2013

Deshabilitando tmpfs en /tmp para Chakra Linux

Suelo estar compilando paquetes del CCR de Chakra Linux, y me ha pasado ya un par de veces que me quedo sin espacio para terminar de compilar un paquete grande.

Según yo y mi lógica, no tendría que suceder esto, tomando en cuenta que mi disco duro tiene suficiente espacio. Al investigar, me encuentro conque las distribuciones nuevas que utilizan systemd montan /tmp como un sistema de ficheros tmpfs, que es sólo una abstracción para utilizar una región de la memoria RAM de la PC como un sistema de ficheros.

Combinando esto con que todos los paquetes del CCR se compilan en /tmp, además de montar los bundles ahí mismo, explica porqué la memoria de mi máquina con frecuencia estaba al tope, y con paquetes grandes era imposible compilar.

Szebenyib, usuario de Arch Linux, reporta en el foro (https://bbs.archlinux.org/viewtopic.php?id=146890) un problema similar en arch al utilizar el AUR. Por lo que me decidí a desactivar este comportamiento, y hacer que /tmp esté directamente enlazado a mi partición raíz. Otros usuarios se han quejado de este mismo comportamiento, y explican motivos del porqué es preferible apagarlo, como Richar WM Jones (http://rwmj.wordpress.com/2012/09/12/tmpfs-considered-harmful/)

Para deshabilitar este comportamiento, el procedimiento también lo encontré en el foro de Arch-Linux, que consta en emascarar el archivo de configuración tmp.mount. La forma más rápida de realizarlo es, desde la consola ejectuar el comando:

sudo systemctl mask tmp.mount

Además de esto, también hay que comentar, usando un # al inicio, la siguiente línea en /etc/fstab:

#tmpfs /tmp tmpfs nodev,nosuid 0 0 Después de reiniciar la máquina, /tmp volvió a la normalidad, lo que me permitió compilar los paquetes grandes.