Capítulo 4: Instalación de Ubuntu server

Publicado por P. Ruiz en

4.3. El proceso de instalación de Ubuntu

Como ya hemos dicho más arriba, el modelo de negocio en el software libre no está basado en la venta de licencias, sino en la prestación de servicios y soporte. Una de las consecuencias de este cambio es que las empresas no necesitan fragmentar el mercado de sus productos para aumentar su negocio.

Es decir, si usamos Ubuntu, la elección básica será entre instalar la versión Desktop y la versión Server. Sin embargo, nada nos impide, más adelante, instalar los componentes que le faltan a cualquiera de ellas para que ofrezca las ventajas de la otra.

Desde la versión 12.04, Ubuntu Server y Ubuntu Desktop disponen del mismo tiempo de soporte (5 años) en sus revisiones LTS.

Por ejemplo, podemos instalar la interfaz gráfica y el resto de las herramientas necesarias sobre Ubuntu Server para que se comporte como un Ubuntu Desktop. Del mismo modo, podemos instalar todos los servicios que necesitemos sobre Ubuntu Desktop para que se comporte como un Ubuntu Server. Incluso podremos deshabilitar o desinstalar la interfaz gráfica.

Sin lugar a dudas, la interfaz gráfica es una herramienta muy potente para realizar muchas actividades de una forma muy sencilla (incluso si éstas son tareas administrativas). Sin embargo, es sabido que un servidor pasa gran parte de su vida ofreciendo servicios a través de la red y, probablemente, sin un usuario frente a su monitor. En estos momentos, la interfaz gráfica no es más que un montón de procesos que no sirven para nada y que están comiéndose los recursos del sistema. Además, el software de la interfaz gráfica complica de forma significativa la estructura del sistema operativo, por lo que también la hace más vulnerable a sufrir problemas de seguridad.

En cualquier caso, aquí veremos ambas alternativas y aprenderemos a habilitar y deshabilitar la interfaz gráfica según nos convenga. Más adelante, iremos instalando todos los servicios que conviertan al sistema en el servidor que vayamos a necesitar.

Antes de instalar el sistema.

Una de las primeras cosas que debemos tener claro antes de instalar un nuevo sistema operativo es dónde se va a ubicar dentro de nuestro equipo. En este sentido, tenemos dos opciones:

  • Que el nuevo sistema operativo vaya a convivir con otro, de forma que durante el arranque se pregunte con cuál de ellos se desea iniciar sesión.

  • Que el nuevo sistema operativo vaya a ser el único sistema instalado en el ordenador.

En nuestro contexto, vamos a instalar un sistema operativo en un equipo que va a actuar como servidor en la red. Por lo tanto, el sistema operativo que ofrezca los servicios estará funcionando de forma casi ininterrumpida y no tiene mucho sentido que exista otro sistema operativo instalado en dicho equipo.

Una vez tomada la decisión anterior, lo siguiente será establecer el número y tamaño de las particiones a utilizar y el sistema de archivos con el que estarán formateadas. En este sentido, conviene repasar algunos conceptos:

Qué son las particiones

Dicho a groso modo, las particiones son bloques en los que se divide una unidad física de almacenamiento, ya sea un disco duro, una memoria flash o un disco óptico.

Los discos ópticos utilizan un formato de partición especial denominado UDF, por sus siglas del inglés Universal Disc Format.

Por su parte, los discos duros y los sistemas de memoria flash disponen de tres clases distintas de particiones:

  • Particiones primarias: En una unidad de almacenamiento puede haber un máximo de cuatro. En cualquier caso, para que un sistema operativo pueda utilizar un determinado medio de almacenamiento, éste debe tener, como mínimo, una partición primaria.

  • Particiones extendidas: En una unidad de almacenamiento sólo puede haber una, aunque también puede no existir ninguna. Si existe, ocupa el espacio de una partición primaria, por lo que sólo podrían existir tres particiones primarias. Las particiones extendidas se inventaron para evitar la limitación existente con el número de particiones primarias. En realidad, una partición extendida no puede contener datos, sólo contendrá particiones lógicas.

  • Particiones lógicas: Se ubican siempre dentro de una partición extendida.En una partición extendida pueden definirse hasta 23 particiones lógicas.

Según lo dicho aquí, podríamos pensar que el máximo de particiones en un dispositivo de almacenamiento podría llegar a 26 (3 primarias y 23 lógicas). Sin embargo, GNU/Linux sólo es capaz de manejar 15 en total.

Ni que decir tiene que, en una unidad de almacenamiento, puede existir espacio libre. Es decir, puede haber espacio que no esté asignado a ninguna partición.

También podría existir una partición extendida ocupando parte de una unidad de almacenamiento, pero que no tuviese definidas particiones lógicas. En este caso, el espacio no sería utilizable hasta que no se definieran particiones lógicas (que a su vez podrían dejar espacio libre dentro de la partición extendida).

En cuanto a la nomenclatura que emplea Linux para identificar las particiones, se siguen las siguientes pautas:

  1. El identificador de una unidad de almacenamiento IDE siempre comienza con las letras hd. Por su parte, con las unidades SATA o SCSI se utilizan las letras sd.

  2. A continuación, se utiliza una letra, en orden alfabético, para identificar las diferentes unidades del mismo tipo. Así, el primer disco SATA conectado al ordenador será sda, el segundo sdb y así sucesivamente.

  3. Finalmente, las particiones de la misma unidad quedarán identificadas con un número. Si el número está entre 1 y 4, representará una partición primaria. El número 5 representará la primera partición lógica, el 6 la segunda, etc.

Así, a modo de ejemplo, podríamos decir que sdc6 representa a la segunda partición lógica del tercer disco SATA conectado al sistema.

Veamos en la siguiente imagen tres posibles combinaciones a partir de lo dicho anteriormente:

Debemos observar que, en la segunda imagen, no existe sda4, que correspondería a la partición extendida (en blanco) y no es accesible.

En la tercera imagen, se aprecia que, a pesar de que sólo existe una partición primaria (sda1), la primera partición lógica siempre será sda5 (recuerda que los números 1 a 4 se reservan para particiones primarias)

Por último indicar que, desde el punto de vista de los sistemas operativos, éstos manejan las particiones primarias y lógicas como si fuesen unidades de almacenamiento independientes y, como tales, cada una dispondrá de su propio sistema de archivos.

En el caso de Linux, es común que haya, al menos, dos particiones: una para el intercambio de memoria (llamada swap) y otra para el sistema, donde se monta el directorio raíz (/). Sin embargo, es frecuente que exista alguna partición más. Por ejemplo, suele utilizarse una tercera partición para almacenar la información de los usuarios (que se monta en /home).

En el caso de Ubuntu, desde la versión 17.04, se crea un archivo de forma predeterminada, llamado swapfile, que hace las funciones de la partición swap. Sin embargo, nada nos impide optar por la partición swap durante el proceso de instalación.

Puedes encontrar más información sobre esta cuestión en el artículo Administrar la memoria virtual en Ubuntu 18.04 LTS, que es completamente aplicable a versiones más actuales.

Como puede deducirse del párrafo anterior, a diferencia de Windows, donde existe una letra de unidad para cada partición montada, en Linux existe un árbol de directorios único y las diferentes particiones se montan en puntos determinados de dicho árbol.

Sistemas de archivos en Linux

En el capítulo 2 incluíamos esta tabla con las unidades de almacenamiento:

Un sistema de archivos establece el modo en el que se organiza la información dentro de una partición. Existe un gran número de sistemas de archivos distintos. Entre ellos se encuentran los siguientes:

  • Sistemas de archivos Windows: FAT, FAT32 y NTFS.

  • Sistemas de archivos Linux: ext2, ext3, ext4, ReiserFS, etc.

En las versiones actuales de Ubuntu, el sistema de archivos que se utiliza de forma mayoritaria es ext4, aunque durante el proceso de instalación del sistema veremos que podemos elegir entre varias opciones más.

A finales de 2008, el sistema de archivos ext4 fue etiquetado como estable y, a partir de ahí se incorporó a diferentes distribuciones de Linux.

Una de las principales características de ext4 es que sigue siendo transaccional, igual que su antecesor ext3, con el que mantiene la compatibilidad. Sin embargo, ahora soporta volúmenes que lleguen hasta 1 Exabyte, incluye mecanismos que reducen drásticamente la fragmentación y mejoran el rendimiento cuando trabaja con archivos de gran tamaño, amplía el número máximo de archivos hasta los 64000 (o incluso más, si se usa la opción dir_nlink), mejora la velocidad de lectura y escritura en disco y disminuye el consumo de tiempo de procesador, entre muchas otras características.

¿Qué es un sistema transaccional?

Como hemos dicho más arriba, una de las características más importantes de ext4 es que se trata de un sistema transaccional (en inglés, journaling). Este mecanismo consiste en que, cuando el sistema de archivos necesita realizar una operación de disco, se guardan en un registro los cambios que se harán en la estructura del directorio, los bloques de disco que se verán afectados y los cambios que se realizarán en los archivos implicados. De esta forma, se podrán deshacer los cambios que se hayan realizado si no termina de forma satisfactoria la operación completa. El resultado es que cuando se produce una avería, un cuelgue del sistema o un fallo de alimentación eléctrica, la integridad del sistema de archivos no se verá comprometida.

Esta técnica también se conoce como registro diario.

Toda la información relativa a la operación en curso se almacena en unos bloques particulares del disco, de forma que sigan estando disponibles cuando se reinicie el sistema después del fallo.

Como curiosidad, diremos que esta técnica comenzó a utilizarse en los sistemas gestores de bases de datos (SGBD) para garantizar la integridad referencial de sus diferentes tablas.

Obtener e instalar Ubuntu

Dado que nos disponemos a instalar un equipo que hará funciones de servidor en la red, en lugar de elegir la última versión de Ubuntu, nos conviene decantarnos por una versión LTS (Long Term Support). El motivo es que nos asegura que podemos recibir soporte y actualizaciones durante cinco años después de su publicación.

Para realizar la tarea de instalación, puedes utilizar como referencia alguno de los siguientes artículos:

En nuestro caso, nos decantaremos por Ubuntu Server pero, como te he dicho más arriba, más adelante te enseñaremos a instalar la interfaz gráfica por si quieres disponer de las comodidades del escritorio gráfico.  Incluso explicaremos las actividades administrativas desde ambas perspectivas para darte libertad de elección.

También hablaremos de herramientas como Cockpit o Webmin, que nos permiten administrar el servidor desde otro equipo de la red mediante una interfaz web.

Actividad 1: Instalación de Ubuntu

Realiza la instalación de Ubuntu Server sobre una nueva máquina virtual siguiendo las siguientes indicaciones:

  • El nombre de la máquina virtual ser formará con tus iniciales, seguidas del texto ‘-lnx’.

  • El nombre del equipo también se formará con tus iniciales, seguidas del texto «-lnx».

  • La memoria asignada será de 2GB.

  • El tamaño del disco duro virtual será de 50GB.

  • Durante la instalación deberás crear dos particiones diferentes: Una para el sistema y otra para las carpetas de los usuarios.

Una vez completada la tarea, averigua cómo puedes consultar la estructura del disco en Ubuntu y comprueba que todo es correcto.