martes, 8 de septiembre de 2020

Instalación de versiones antiguas de Debian

Las versiones de las distribuciones de Linux como Debian tienen un tiempo de vida desde su publicación hasta que dejan de recibir actualizaciones de seguridad. Una vez que dejan de recibir estás actualizaciones ya es inseguro utilizarlas. Además las nuevas versiones van incorporando mejoras y actualizaciones de los diferentes programas que incluyen, haciendo que las versiones anteriores queden obsoletas. Aún así algunas veces puede ser necesario instalar una versión antigua de la distribución para hacer funcionar algún hardware o software también antiguo. Yo necesitaba Debian Lenny 5.0 para poder instalar los controladores de un módem por software.

Debian guarda un archivo de versiones anteriores y permite descargar los CDs y DVDs. Para versiones antiguas ya no están disponibles los repositorios originales con los paquetes de las aplicaciones pero es posible instalarlas usando como repositorio archive.debian.org. De esta forma no es necesario bajar todos los CDs o DVDs de la distribución.

El proceso de instalación es muy similar al de la versión actual con algunas diferencias, por ejemplo la instalación por red no es posible al no estar disponibles los repositorios originales. El primer paso es descargar al menos el primer CD/DVD para realizar la instalación básica. Los paquetes que no se encuentren en este CD/DVD los podemos instalar desde los otros CDs/DVDs o desde archive.debian.org. Yo descargué solo el primer CD de la última actualización (5.0.10) para bajar solo lo imprescindible. La arquitectura del CD que bajé es i386 porque es para la que están disponibles los controladores y además el ordenador donde lo iba a instalar tiene el procesador de 32 bits Pentium III.

También descargué los archivos SHA512SUMS y SHA512SUMS.sign. SHA512SUMS contiene las sumas SHA512 de los CDs y SHA512SUMS.sign la firma GPG sobre el archivo SHA512SUMS. Si la firma es correcta y las sumas coinciden podemos estar seguros de que los CDs se han descargado correctamente y no han sido modificados por un atacante para incluir software malicioso.

# wget https://cdimage.debian.org/cdimage/archive/5.0.10/i386/iso-cd/debian-5010-i386-CD-1.iso
# wget https://cdimage.debian.org/cdimage/archive/5.0.10/i386/iso-cd/SHA512SUMS
# wget https://cdimage.debian.org/cdimage/archive/5.0.10/i386/iso-cd/SHA512SUMS.sign

Con el programa sha512sum podemos comprobar la integridad de los archivos descargados.

# sha512sum -c --ignore-missing SHA512SUMS

debian-5010-i386-CD-1.iso: La suma coincide

Con el programa gpg y el parámetro --list-packets veremos la información de la firma.

# gpg --list-packets SHA512SUMS.sign 

# off=0 ctb=89 tag=2 hlen=3 plen=540
:signature packet: algo 1, keyid DA87E80D6294BE9B
	version 4, created 1331492444, md5len 0, sigclass 0x00
	digest algo 8, begin of digest cd 0c
	hashed subpkt 2 len 4 (sig created 2012-03-11)
	subpkt 16 len 8 (issuer key ID DA87E80D6294BE9B)
	data: [4092 bits]

Podemos ver que se ha firmado con la clave privada DA87E80D6294BE9B. Para comprobar la firma debemos importar su correspondiente clave pública desde keyring.debian.org con el siguiente comando:

# gpg --keyserver keyring.debian.org --recv-keys 0xDA87E80D6294BE9B

gpg: clave DA87E80D6294BE9B: clave pública "Debian CD signing key " importada
gpg: Cantidad total procesada: 1
gpg:               importadas: 1

Una vez importada podemos ver sus datos con el parámetro --list-keys. Se puede ver que fue creada en el año 2011 y es la "Debian CD signing key".

# gpg --list-keys

/home/usuario1/.gnupg/pubring.kbx
-----------------------------
pub   rsa4096 2011-01-05 [SC]
      DF9B9C49EAA9298432589D76DA87E80D6294BE9B
uid        [desconocida] Debian CD signing key 
sub   rsa4096 2011-01-05 [E]

Por último debemos comprobar la firma del archivo SHA512SUMS con el parámetro --verify.

# gpg --verify SHA512SUMS.sign SHA512SUMS

gpg: Firmado el dom 11 mar 2012 20:00:30 CET
gpg:                usando RSA clave DA87E80D6294BE9B
gpg: Firma correcta de "Debian CD signing key " [desconocido]
gpg: ATENCIÓN: ¡Esta clave no está certificada por una firma de confianza!
gpg:          No hay indicios de que la firma pertenezca al propietario.
Huellas dactilares de la clave primaria: DF9B 9C49 EAA9 2984 3258  9D76 DA87 E80D 6294 BE9B

El resultado es que la firma es correcta aunque se indica que la clave no está certificada por una firma de confianza. Si confiamos en el servidor keyring.debian.org de donde hemos importado la clave esto no es problema y podemos confiar en que la firma es correcta y al coincidir la suma SHA512 el CD es el original, no ha sido modificado y lo podemos instalar con seguridad.

Para grabar los CDs/DVDs podemos usar cualquier programa. Es conveniente grabarlos a la menor velocidad posible para que se lean correctamente en lectores lentos y/o viejos. Podemos usar por ejemplo el programa wodim con el parámetro speed=1 para grabar a la menor velocidad que permitan la grabadora y el CD/DVD.

# wodim -v speed=1 dev=/dev/sr0 debian-5010-i386-CD-1.iso

Una vez grabado el CD se arranca el ordenador con él y aparece el menú de inicio donde podemos elegir "Install" para la instalación en modo texto o "Graphical install" para la instalación gráfica donde se puede utilizar el ratón. Si vamos a realizar la instalación en un ordenador antiguo puede ser mejor utilizar la instalación en modo texto porque requiere menos recursos. Además no es muy difícil de usar, solo es necesario utilizar las teclas de dirección y el tabulador para moverse por la pantalla, la barra de espacio para seleccionar opciones y Enter para ejecutar acciones. Si el ordenador no tiene conectado un ratón el modo texto es más fácil. En "Advanced Options" hay otras opciones como instalación en modo experto o rescate para reparar una instalación.

Yo elegí "Install" para el modo texto porque el ordenador no es muy potente y no le tenía conectado un ratón. A continuación lo primero que se nos pide es que elijamos el idioma, el país y la distribución del teclado.



Después comienza la configuración de red en la que tendremos que elegir un nombre para el ordenador y especificar el dominio al que pertenece.


Acto seguido se nos pide que indiquemos la zona del país en la que nos encontramos para fijar la zona horaria que se usará para mostrarnos la hora correspondiente.

El siguiente paso es particionar el disco duro. Este paso depende mucho de las necesidades de cada uno. Puede ser guiado o manual. El método guiado utiliza todo el disco y permite usar LVM con o sin cifrado. Si se necesita algo distinto de lo que permiten los métodos guiados es necesario usar el método manual. Yo como iba a usar todo el disco para Debian Lenny y no necesitaba LVM elegí guiado sin LVM.

A continuación se nos pide que elijamos el disco duro que queremos particionar. Para tomar las capturas de pantalla utilicé Virtualbox y me aparece un disco duro de Virtualbox. En un ordenador real nos aparecerán los discos duros que tenga instalados. Si tenemos varios discos instalados debemos tener cuidado de no confundirnos de disco.

Una vez elegido el disco se nos presenta la opción de guardar todos los archivos en una misma partición, crear una partición aparte para el directorio /home de los usuarios o crear particiones para /home, /usr, /var y /tmp. Opté por la opción más sencilla de usar una sola partición ya que no iba a hacer un uso especial de ninguno de esos directorios.

Después de seleccionar el esquema de particionado se nos muestran las particiones que se van a crear. En mi caso una sola partición ext3 para los archivos y una de memoria de intercambio. Si presionamos sobre "Finalizar el particionado y escribir los cambios en los discos" nos sale otra pantalla donde se nos pide que confirmemos la operación.


Lo siguiente que necesitamos configurar es la contraseña para el usuario root. Si es un equipo de pruebas sin información confidencial podemos usar una contraseña sencilla que nos permita su escritura rápida. Si no es así debemos seguir las recomendaciones que se muestran por pantalla para elegir contraseña. A continuación se nos pide que repitamos la contraseña para estar seguros de que la hemos introducido correctamente.


Seguidamente debemos crear un usuario normal para realizar operaciones que no necesiten permisos de root. Primero se nos pide un nombre descriptivo como el nombre y apellidos y a continuación el nombre que identifica al usuario en el sistema. Al igual que con root se pide una contraseña y la repetición de la contraseña.




Al terminar de configurar los usuarios comienza la configuración del gestor de paquetes. Esta es la parte donde tendremos que hacer las cosas de diferente forma al instalar una versión antigua. Lo primero se nos preguntará si queremos analizar otro CD o DVD además del que hemos usado para la instalación. Si hemos descargado más CDs o DVDs deberemos indicarlo para que puedan usarse más adelante para instalar paquetes. Yo no añadí más CDs porque tenía pensado descargar el resto de paquetes que necesitara desde archive.debian.org.

A continuación el instalador nos preguntará si queremos usar una replica en red. Debemos decirle que no, luego una vez finalizada la instalación añadiremos manualmente archive.debian.org.

Después de rechazar el uso de una réplica de red recibiremos un error al no encontrarse la distribución que estamos instalando en security.debian.org. Debemos ignorar este error y presionar "Continuar". Dependiendo de la versión nos puede aparecer un error igual con volatile.debian.org u otra dirección. También debemos ignorar el error y continuar.


En el siguiente paso de la configuración del gestor de paquetes se nos preguntará si queremos participar en la encuesta de uso de paquetes.

Por último se nos dará la opción de instalar conjuntos de paquetes predefinidos. Para tener un sistema lo más básico posible y luego ir instalando justo lo que necesitemos podemos elegir solo "Sistema estándar" o incluso no seleccionar nada.

A continuación debemos instalar el gestor de arranque GRUB. Se puede instalar en el registro de arranque del disco duro para ser ejecutado por el ordenador o en una partición para ser ejecutado por otro gestor de arranque. Como no tenía otro gestor de arranque lo instalé en el disco duro.

Para terminar se nos informa que se ha realizado la instalación y debemos extraer el disco para que no se reinicie la instalación en el próximo arranque. Si queremos utilizar el CD o DVD para instalar paquetes deberemos introducirlo después del arranque.

Al presionar "Continuar" se reiniciará el ordenador, se ejecutará GRUB y arrancará el sistema operativo. Al finalizar el arranque podremos iniciar sesión.


Después de iniciar sesión debemos editar el archivo /etc/apt/sources.list para añadir archive.debian.org como repositorio. Si no queremos seguir utilizando el CD o DVD para instalar paquetes podemos eliminar su línea o desactivarlo añadiendo "#" al principio de la línea, convirtiéndolo en un comentario.

# deb cdrom:[Debian GNU/Linux 5.0.10 _Lenny_ - Official i386 CD Binary-1 20100310-12:291/ lenny main

deb http://archive.debian.org/debian/ lenny main non-free contrib
deb http://archive.debian.org/debian-security/ lenny/updates main non-free contrib

Después de configurar los repositorios es necesario ejecutar apt-get update para actualizar la información de los paquetes y poder instalarlos. Recibiremos el error "Las siguientes firmas fueron inválidas: KEYEXPIRED 1520281423 KEYEXPIRED 1337087218" ya que las claves de los repositorios usadas para la firma GPG del archivo Release con el listado de archivos de la distribución y su suma MD5 han caducado.

Con el comando apt-key podemos ver las claves que usa apt-get y como están caducadas desde hace años.

Si a continuación intentamos instalar un paquete, como por ejemplo openssh-server, se nos mostrará la advertencia "AVISO: ¡No se han podido autenticar los siguientes paquetes!". Si asumimos el riesgo de que no se haga la autenticación de los paquetes podemos seguir con la instalación. Si preferimos más seguridad podemos instalar los paquetes desde los CDs/DVDs si su clave no ha caducado o ha sido revocada.


Con estas instrucciones ya podemos instalar versiones antiguas de Debian y utilizar hardware y software antiguo por necesidad o curiosidad. Y la mayoría de los conceptos también son aplicables a la versión actual.

No hay comentarios:

Publicar un comentario