🎃 Grandes descuentos en libros en línea, eformaciones y vídeos*. Código CALABAZA30. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Ubuntu
  3. Configuración del sistema
Extrait - Ubuntu Administración de un sistema Linux (2a edición)
Extractos del libro
Ubuntu Administración de un sistema Linux (2a edición) Volver a la página de compra del libro

Configuración del sistema

Arranque

1. El cargador de arranque

El cargador de arranque es el programa encargado de definir las opciones de puesta en marcha que se muestran al usuario: arranque en modo recuperación, otros sistemas operativos... Ubuntu utiliza Grub versión 2 (GRand Unified Bootloader).

Se puede proporcionar más información durante la puesta en marcha gracias al uso de opciones que se pasan al cargador de arranque. El uso de un editor de texto es esencial para modificarlas. Puede usar vi, como ya se vio precedentemente, o bien nano, un editor simple instalado de forma predefinida.

El editor de texto nano:

images/06RIT01.png

nano admite las teclas de movimiento de cursor y todo el conjunto de métodos abreviados de sus comandos (fáciles de comprender), comenzando por la tecla [Ctrl], la que se traduce visualmente por el acento circunflejo.

2. GRUB2 remplaza a GRUB

GRUB2 es el sucesor de GRUB, pero lo rescribe por completo. Solo conserva de su predecesor el nombre. Es ya el cargador de arranque predefinido de algunas distribuciones, entre ellas Ubuntu desde la versión 9.10. Dispone de una interfaz gráfica, es modular, compatible con numerosas arquitecturas (BIOS, EFI, RAID, etc.) y dispone de un modo de respaldo. No obstante, su configuración resulta menos simple de entender.

Sin embargo, hay que recordar un detalle importante, y es que la mayor parte de la configuración es automática. Los componentes de GRUB2 detectarán automáticamente la presencia de nuevos núcleos de Linux y otros sistemas operativos, como Windows, gracias a un comando llamado os-prober. Esta detección no se hace en el momento del arranque, sino que requiere la ejecución de un comando de actualización.

3. Configuración de GRUB2

a. Archivo /etc/default/grub

El archivo /etc/default/grub contiene variables que definen las opciones de GRUB2 y aquellas predefinidas de los núcleos de Linux. Es el único archivo que se puede modificar. He aquí algunas entradas interesantes comentadas:

  • GRUB_DEFAULT=0

    Entrada de menú seleccionada de manera predefinida; la primera se inicia en 0.

  • GRUB_TIMEOUT_STYLE=hidden

    A lo largo de unos segundos, establecidos con GRUB_TIMEOUT, el menú se oculta para arrancar el sistema predefinido. Durante ese lapso, la pulsación de [Esc] o [Mayús] permite mostrar el menú. Para hacerlo visible, hay que introducir el valor...

Servicios al arranque

1. Nivel de ejecución

Ubuntu se inspira en los niveles de ejecución (runlevel) de tipo System V Unix para poder configurar el acceso a los servicios. Cada nivel de ejecución se encuentra en un directorio del tipo /etc/rcN.d, donde N identifica el número de orden. La distribución Ubuntu distingue los siguientes niveles de ejecución:

  • 0 para apagar el sistema.

  • 1 para el modo usuario único o monousuario.

  • de 2 a 5 para un modo multiusuario.

  • 6 para el reinicio del sistema.

Ubuntu privilegia el nivel 5 de forma predefinida. El modo 1 se reserva específicamente para el mantenimiento, como el cambio de la contraseña de administrador en caso de olvido.

Detalles sobre los niveles de ejecución

El comando telinit cambia el nivel de ejecución. init funciona igual:

# telinit 3 

El comando runlevel muestra el nivel de ejecución activo:

$ runlevel 

El valor mostrado, 5 3, indica el nivel precedente y el actual. Un N 5 (N para «normal») sería el valor de salida si el comando telinit 3 no hubiese cambiado esta situación.

En Ubuntu, es el script /etc/init.d/rcS el que ejecuta las acciones del nivel que se le pasa como argumento. Por ejemplo, si se le pasa el argumento 2, hará que se ejecuten los scripts del directorio /etc/rc2.d. Los directorios contienen scripts del tipo Snnxxx o Knnxxx: S de Start y K de Kill. La numeración implica una ejecución ordenada del más pequeño al más grande: S90halt para el último script del nivel 0.

Los scripts contenidos en los directorios /etc/rcN.d son, en su gran mayoría, apuntadores a archivos reagrupados en /etc/init.d.

2. systemd remplaza a upstart

A partir de Ubuntu 16.04, un nuevo método de reiniciar los servicios vio la luz: systemd (System...

Conexión a la red

La conexión a la red de la empresa o a Internet constituye una condición necesaria para el buen funcionamiento de la distribución de Ubuntu gracias a las actualizaciones o a la instalación de programas a través de los repositorios.

Ubuntu Desktop Edition controla, de forma predeterminada, la configuración automática de la red a través de Network Manager, mientras que la versión Server favorece una configuración manual.

1. netplan

a. Presentación

A partir de la versión 17.10, la configuración de la interfaz de la red ha cambiado completamente bajo Ubuntu. Anteriormente gestionada por el archivo /etc/network/interface, ha sido sustituida por la herramienta netplan, instalada con systemd-networkd, que utiliza un archivo .yaml ubicado en el directorio /etc/netplan. Este archivo se utiliza para configurar la interfaz de red ya sea en la versión de escritorio o de servidor, excepto que en la versión de escritorio se remite a la interfaz gráfica Network Manager, que se presentará más adelante en este capítulo.

Existen tres comandos importantes que se deben conocer:

  • netplan generate: inicializar.

  • netplan apply: aplicar los cambios.

  • systemctl restart systemd-networkd: reiniciar el servicio.

b. El caso de una conexión alámbrica

Cuando se configura gráficamente usando NetworkManager, la configuración básica de este archivo es la siguiente:

# Let NetworkManager manage all devices on this system network: 
  version: 2 
  renderer: NetworkManager 

Las sangrías son importantes en los archivos .yaml. Respételas para evitar problemas de configuración.

Observe que es posible usar otro motor de renderizado, networkd. El archivo .yaml tendrá, entonces, la siguiente estructura y la configuración se hará en este archivo:

# This file describes the network interfaces available on your system 
# For more information, see netplan(5). 
network: 
 version: 2 
 renderer: networkd 
 ethernets: 
   ens33: 
     dhcp4: no 
     dhcp6: no 
     addresses: [192.168.3.10/24] 
   gateway4: 192.168.3.1 
     nameservers: 
      ...

Los periféricos

1. Descubriendo los periféricos

a. Archivos periféricos

El directorio /dev contiene, en la forma de un archivo especial, todo periférico del sistema al que llamamos nodo (node). Concretamente, esto significa que el contenido puede leerse allí según la categoría del periférico: en modo de bloque, donde los datos se escriben en grupos continuos en medios persistentes, y en modo de carácter, donde los datos se leen byte por byte en función de un flujo.

Demostración para el modo bloc

 Escriba el comando less -f /dev/sda.

 El periférico sda representa su disco. El contenido mostrado por el comando less, donde la opción -f fuerza la apertura de un archivo que no es de texto, simplemente representa el contenido de su disco. Los caracteres en ASCII serán legibles.

 Salga usando la tecla [q].

Demostración para el modo carácter

El ratón es un periférico representativo del modo carácter. En una consola de texto, se requiere instalar el paquete gpm para disponer del ratón (con presentaciones semigráficas y la biblioteca curse).

 Escriba el comando # apt install gpm.

 Una vez instalado, al mover el ratón, el pad se mueve por la pantalla.

 Escriba el comando # cat /dev/mouse.

 Al mover el ratón, se muestran los caracteres en tiempo real, que corresponden a los caracteres vinculados al protocolo del ratón.

 Salga usando [Ctrl][c].

b. Descubrimiento dinámico

Una larga lista de periféricos definidos por el sistema se muestra si se utiliza el comando ls del directorio /dev, algunos usados, otros no. La gestión del directorio /dev, los derechos y permisos, y la identificación de los archivos de periféricos es atribuida a udev (Userspace implementation of DEVfs). Permite la identificación dinámica de los dispositivos basándose en sus propiedades (Vendor...

Puesta en práctica

1. Enunciado

 Está en un entorno gráfico. Modifique el nivel de ejecución con systemctl para cambiar al modo consola. Reinicie para verificar que los cambios se tomaron en cuenta.

 Modifique la configuración de la red para usar el motor de renderizado networkd. Configure una dirección IP fija.

2. Corrección

 # systemctl set-default multi-user.target

 Modifique el archivo /etc/netplan/01-network-manager-all.yaml.

# This file describes the network interfaces available on your system 
# For more information, see netplan(5). 
network: 
 version: 2 
 renderer: networkd 
 ethernets: 
   ens33: 
     dhcp4: no 
     dhcp6: no 
     addresses: [192.168.3.10/24] 
   gateway4: 192.168.3.1 
     nameservers: 
       addresses: [1.1.1.1,1.0.0.1] 

 Aplique y reinicie el servicio:

# netplan apply 
# systemctl restart systemd-networkd