A fin de garantizar la continuidad de los servicios, la migración de cada ordenador debe ser planeada y ejecutada de acuerdo con el plan. Este principio se aplica independientemente del sistema operativo que se utilice.
3.2.1. Reconocimiento e identificación de servicios
Simple como parece, este paso es esencial. Un administrador serio realmente conoce los roles principales de cada servidor, pero dichos roles pueden cambiar y a veces usuarios experimentados pueden haber instalado servicios «salvajes». Saber que existen le permitirá, al menos, decidir qué hacer con ellos en lugar de eliminarlos sin orden ni propósito.
Por ello, es buena idea informar a sus usuarios del proyecto antes de migrar el servidor. Involucrarlos en el proyecto puede ser útil para instalar el software libre más común en sus equipos de escritorio antes de la migración, programas con los que se encontrarán luego de la migración a Debian; LibreOffice.org y la suite Mozilla son los mejores ejemplos de tales programas.
3.2.1.1. La red y los procesos
La herramienta nmap
(en el paquete del mismo nombre) identificará rápidamente servicios de internet hospedados en un equipo conectado a la red sin siquiera necesitar iniciar sesión en el mismo. Simplemente ejecute la siguiente orden en otro equipo conectado a la misma red:
$
nmap mirwiz
Starting Nmap 7.80 ( https://nmap.org ) at 2021-04-29 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5666/tcp open nrpe
9999/tcp open abyss
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Si el servidor es una equipo Unix que ofrece cuentas shell a los usuarios, es interesante determinar si se ejecutan procesos en segundo plano en ausencia de su propietario. El comando
ps auxw
muestra una lista de todos los procesos con su identidad de usuario. Cotejando esta información con la salida de los comandos
who
o
w
, que ofrecen una lista de los usuarios registrados, es posible identificar servidores o programas no declarados o no autorizados que se ejecutan en segundo plano. Consultar
crontabs
(tablas que enumeran las acciones automáticas programadas por los usuarios) a menudo proporcionará información interesante sobre las funciones que cumple el servidor (una explicación completa de
cron
está disponible en
Sección 9.7, “Programación de tareas con cron
y atd
”).
En cualquier caso, es esencial que haga respaldos de sus servidores: de esta forma se asegurará que la información pueda ser recuperada después del hecho, cuando los usuarios informen acerca de problemas concretos derivados de la migración.
3.2.2. Respaldos de la configuración
Es buena idea conservar la configuración de todo servicio identificado para poder instalar el equivalente en el nuevo servidor. Como mínimo debería hacer un respaldo de los archivos de configuración.
En los equipos Unix, los archivos de configuración se encuentran normalmente en /etc/
pero puede que se encuentren en un subdirectorio de /usr/local/
. Este es el caso si el programa se ha instalado desde las fuentes en lugar de utilizar un paquete. En algunos casos podría encontrarlos en /opt/
.
Para servicios que administren datos (como bases de datos), es muy recomendable exportar los datos a un formato estándar que pueda ser importado fácilmente por el nuevo software. Tal formato generalmente está documentado y es texto plano; puede ser, por ejemplo, un volcado SQL para una base de datos o un archivo LDIF para un servidor LDAP.
Cada software de servidor es diferente y es imposible describir en detalle todos los casos posibles. Compare la documentación del software nuevo y el actual para identificar las porciones exportables (y, por lo tanto, importables) y aquellas que necesitarán que intervenga de forma manual. Leer este libro clarificará la configuración de los principales programas de servidor en Linux.
3.2.3. Adopción de un servidor Debian existente
Para efectivamente tomar el control de su mantenimiento, uno podría analizar un equipo que ya ejecuta Debian.
El primer archivo a revisar es /etc/debian_version
que generalmente contiene el número de versión para el sistema Debian instalado (es parte del paquete base-files. Si indica nombre_código/sid
significa que el sistema fue actualizado con paquetes que provienen de alguna de las distribuciones en desarrollo («Testing» o «Unstable»).
El programa apt-show-versions
(que se encuentra en el paquete Debian que lleva el mismo nombre) comprueba la lista de paquetes instalados e identifica las versiones disponibles. Puede utilizar también aptitude
para estas tareas, aunque de un modo menos sistemático.
Revisar el archivo /etc/apt/sources.list
(y el directorio /etc/apt/sources.list.d/
) mostrará de dónde es probable que provengan los paquetes Debian. Si aparecen muchas fuentes desconocidas, el administrador podría elegir reinstalar el sistema completamente para asegurar compatibilidad óptima con el software provisto por Debian.
El archivo sources.list
suele ser un buen indicador: la mayoría de los administradores conservan, al menos en comentarios, la lista de fuentes APT que se utilizaron anteriormente. Pero no debe olvidar que las fuentes usadas en el pasado pueden haber sido borradas, y que algunos paquetes al azar tomados de Internet pueden haber sido instalados manualmente (con la ayuda del comando dpkg
). En este caso, la máquina engaña en su apariencia de ser un sistema Debian "estándar". Por eso debe prestar atención a cualquier indicio que delate la presencia de paquetes externos (aparición de ficheros deb
en directorios inusuales, números de versión de paquetes con un sufijo especial que indique que se originó fuera del proyecto Debian, como ubuntu
o lmde
, etc.).
De la misma forma, es interesante analizar el contenido del directorio /usr/local/
, cuyo propósito es albergar programas compilados e instalados manualmente. Generar una lista de software instalado de esta forma es instructivo, ya que genera dudas sobre las razones para no utilizar el paquete Debian correspondiente, si es que existe.
3.2.4. Instalación de Debian
Una vez que conoce toda la información del servidor actual, puede apagarlo y comenzar a instalar Debian en él.
Para elegir la versión apropiada, debemos saber la arquitectura del equipo. Si es una PC relativamente reciente, es probable que sea amd64 (equipos más antiguos usualmente eran i386). En otros casos podemos reducir las posibilidades según el sistema utilizado previamente.
La
Tabla 3.1 no pretende ser exhaustiva, pero puede ser útil. Tenga en cuenta que este lista las arquitecturas Debian que ya no son compatibles con la versión estable actual. En cualquier caso, la documentación original para el equipo es la fuente más confiable para encontrar esta información.
Tabla 3.1. Emparejando sistema operativo y arquitectura
Sistema operativo | Arquitectura(s) |
---|
DEC Unix (OSF/1) | alpha, mipsel |
HP Unix | ia64, hppa |
IBM AIX | powerpc |
Irix | mips |
OS X | amd64, powerpc, i386 |
z/OS, MVS | s390x, s390 |
Solaris, SunOS | sparc, i386, m68k |
Ultrix | mips |
VMS | alpha |
Windows 95/98/ME | i386 |
Windows NT/2000 | i386, alpha, ia64, mipsel |
Windows XP / Windows Server 2008 | i386, amd64, ia64 |
Windows RT | armel, armhf, arm64 |
Windows Vista / Windows 7-8-10 | i386, amd64 |
3.2.5. Instalación y configuración de los servicios seleccionados
Una vez que Debian está instalado debemos instalar y configurar individualmente, todos los servicios que debe tener este equipo. La nueva configuración debe tener en cuenta la anterior para asegurar una transición fluida. Toda la información recolectada en los primeros dos pasos será útil para completar esta parte exitosamente.
Antes de sumergirse completamente en este ejercicio es muy recomendable que lea el resto de este libro. Luego tendrá un entendimiento más preciso de cómo configurar los servicios esperados.