Aprovechando la aparición de Ubuntu 19.10 he decidido realizar una instalación mínima de Ubuntu. Cuando se instala Ubuntu de forma habitual, la instalación es muy sencilla, pero instala paquetes y dependencias que puede que no sean necesarias para el usuario avanzado.



Por ejemplo, Ubuntu instalará todas las dependencias de la impresora o el bluetooth, pero puede ser que el usuario prevea que no va a hacer uso de esos dispositivos.

Mini.iso

Para hacer una instalación de este tipo hay que usar un instalador especial y no el estándar de Ubuntu. Este instalador es el que se usa para hacer una instalación en re de Ubuntu. En lugar de que los paquetes a instalar vayan en el CD de instalación, estos se descargarán de Internet según se vayan solicitando. Este instalador se haya en una imagen llamada “mini.iso”. Se puede descargar desde http://cdimages.ubuntu.com/netboot/ y buscar un fichero llamado mini.iso. Este fichero ocupa ¡70Mb!

Se copia a un CD o un pendrive y se inicia la instalación. La instalación es sencilla siguiendo unas ventanas, en modo texto, qué nos indican lo que se va a realizar.

Buscando la instalación mínima

Pretendo realizar una instalación mínima con sólo el sistema base y el servidor X11 con Openbox como gestor de ventanas. Al final, se tendrá una instalación básica de poco menos de 2Gb. Para ello se va a usar btrfs como sistema de ficheros activando la compresión para ahorrar espacio en el disco. Como sorpresa final, se realizará la instalación de LXQt teniendo un escritorio que gastará sólo 277Mb de RAM.

Para practicar usaré una máquina virtual con la siguiente configuración (1Gb de RAM y 10Gb de disco duro):



Nada más hacer el arranque aparecerá un menú como el siguiente:

Se selecciona “Install”.

Después se proce a seleccionar el idioma:

Puede que nos haga varias preguntas sencillas, como puede ser el idioma del teclado o la configuración de red. Después, comenzará a descargar el instalador básico:

Aquí viene una parte delicada, particionar el disco. En este caso el disco entero se va a usar para Linux, es el caso más sencillo. Como se desea comprimir el disco para ahorrar espacio, se hará el formateo de la partición en formato btrfs. Para ello se elegirá el sistema de particionado manual:

Se creará la partición, en el caso de no existir ya:

Ahora mostrará la partición por defecto, puede ser que los valores sean similares a los siguientes:

Para activar el btrfs se cambiaran los valores de la siguiente de forma que se muestren los de la siguiente pantalla:

Ahora se finalizarán los cambios y se continuará con la instalación:

Llegará un momento que indicará el tipo de instalación a realizar. Se puede elegir un “sabor” Ubuntu o no elegir nada y después, una vez finalizado el proceso de instalación, instalar de forma manual los paquetes que se deseen:

Llegará un momento en que se llegará a la siguiente ventana:

En este punto se va a activar la compresión con btrfs, para ello se pulsará Alt+F2. Aparecerá algo similar a lo siguiente:

Se pulsará intro y se activará una consola. Se ejecutarán los siguientes comandos:



btrfs filesystem defragment -r -v -czstd /target/

btrfs filesystem defragment -r -v -czstd /target/home





También se usarán el editor nano para editar el archivoa /target/etc/fstab y se añadirá lo siguiente:

compress=zstd

a las opciones de las particiones como en la imagen siguiente:

Si se está usando una unidad ssd, se puede añadir también la opción “ssd”.

Ahora se pulsará Atl+F1 y ya se procederá a finalizar la instalación.

Después de reiniciar

En mi caso no he seleccionado ningún paquete a instalar, por lo que ahora dispongo de un sistema base que no posee ni sistema gráfico, sólo la terminal. Usando el comando apt se puede instalar todo lo que se necesite. Antes de proceder a la instalación el comando apt muestra los Mb que se van a necesitar para realizar la instalación. Elección adecuada de paquetes puede hacer que la instalación se más o menos grande. Por ejemplo:



Requiere 1Gb

sudo apt install xinit openbox lightdm

Requiere 358Mb sudo apt install xinit openbox lightdm slick-greeter

La elección de uno u otro hace que se necesite más o menos espacio debido a que en el primer caso las elecciones por defecto hacen que se instale parte de Gnome.

Gnome es la elección por defecto en muchos paquetes y es casi mágico instalar el paquete “notification-daemon”, pues elimina gran parte de las dependencias de Gnome. Por ejemplo:



Requiere 1282Mb

sudo apt install qttools5-dev

Requiere 639Mb

sudo apt install qttools5-dev notification-daemon

En mi caso he instalado los paquetes de desarrollo de C++ y Qt y he compilado desde las fuentes LXQt usando el proyecto “Compile LXQt Ubuntu” que es un simple script que instala las dependencias de LXQt y se descarga lo necesario para realizar una compilación de LXQt desde la versión inestable de desarrollo.

Al final el resultado luce así ocupando del orden de 2Gb (después de instalar Firefox):

El escritorio necesita 277 Mb de RAM para funcionar:

¿Cómo de bien funciona la compresión con btrfs?

Usando el comando compsize se puede averiguar cuanto ocupan los ficheros comprimidos y el espacio que ocuparían sin descomprimir:



Como se puede ver la razón de compresión es del orden de 1/3. Respecto al rendimiento, a penas se nota en el uso diario como usuario de escritorio.

Conclusión

Usando Mini.iso es posible controlar lo que se instala en Ubuntu y realizar una instalación a medida ahorrando espacio en disco y RAM. En este caso también se ha activado la compresión de ficheros de btrfs buscando usar la mínima cantidad de espacio en disco.

Espero que lo disfrutéis.