Product SiteDocumentation Site

3.2. Com migrar

Per tal de garantir la continuïtat dels serveis, la migració de cada ordinador ha de ser planejada i executada d'acord amb el pla. Aquest principi s'aplica independentment del sistema operatiu que s'utilitzi.

3.2.1. Recerca i identificació de serveis

Per molt senzill que sembli, aquest pas és essencial. Un administrador seriós coneix realment els rols principals de cada servidor, però aquests rols poden canviar, i de vegades usuaris experimentats poden haver instal·lat serveis "no controlats". Sabent que existeixen, almenys els permetrà decidir què fer amb ells, en lloc de suprimir-los a l'atzar.
Per això, és bo informar els usuaris del projecte abans de migrar el servidor. Per involucrar-los en el projecte, pot ser útil instal·lar els programes de programari lliure més comuns en els seus escriptoris abans de la migració, que es tornaran a trobar després de la migració a Debian; LibreOffice i la suite Mozilla són els millors exemples aquí.

3.2.1.1. Xarxa i processos

L'eina nmap (al paquet amb el mateix nom) identificarà ràpidament els serveis d'Internet allotjats per una màquina connectada a la xarxa sense si més no haver d'iniciar sessió. Simplement cal executar la següent comanda en una altra màquina connectada a la mateixa xarxa:
$ nmap mirwiz
Starting Nmap 7.93 ( https://nmap.org ) at 2024-05-20 00:15 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 és una màquina d'Unix que ofereix comptes de shell als usuaris, és interessant determinar si els processos s'executen en segon pla en absència del seu propietari. L'ordre ps auxw mostra una llista de tots els processos amb la seva identitat d'usuari. Al comparar aquesta informació amb la sortida de les comandes who o w, que donen la llista d'usuaris connectats, és possible identificar servidors o programes il·legals o no declarats que s'executen en segon pla. Mirant els crontabs (taules llistant accions automàtiques programades pels usuaris) sovint proporcionarà informació interessant sobre les funcions realitzades pel servidor (una explicació completa sobre cron està disponible a Secció 9.7, «Planificació de tasques amb cron i atd»).
En qualsevol cas, és essencial fer còpies de seguretat dels servidors: això permet recuperar la informació després del fets, quan els usuaris informaran de problemes concrets a causa de la migració.

3.2.2. Fent còpies de seguretat de la configuració

És aconsellable mantenir la configuració de cada servei identificat per tal de poder instal·lar l'equivalent en el servidor actualitzat. El mínim és fer una còpia de seguretat dels fitxers de configuració.
En màquines Unix, els fitxers de configuració es troben normalment a /etc/, però també es poden trobar en un subdirectori de /usr/local/. Aquest és el cas si un programa s'ha instal·lat a partir del codi font, en lloc d'usar un paquet. En alguns casos, també es poden trobar sota /opt/.
Per als serveis de gestió de dades (com ara bases de dades), és molt recomanable exportar les dades a un format estàndard que sigui fàcilment importat pel nou programari. Aquest format és normalment en mode text i està documentat; pot ser, per exemple, un bolcat SQL per a una base de dades, o un fitxer LDIF per a un servidor LDAP.
Còpies de seguretat de base de dades

Figura 3.2. Còpies de seguretat de base de dades

Cada servidor és diferent, i és impossible descriure tots els casos existents en detall. Compareu la documentació del programari actual i el del nou programari per identificar les porcions exportables (i, per tant, re-importables) i aquelles que requeriran manipulació manual. La lectura d'aquest llibre aclarirà la configuració dels principals programes de servidor de Linux.

3.2.3. Adaptant un servidor Debian existent

Per fer-se càrrec efectivament del manteniment, es pot analitzar una màquina que ja funciona amb Debian.
El primer fitxer a comprovar és/etc/debian_version, que normalment conté el número de versió del sistema Debian instal·lat (és part del paquet base-files). Si indica codename/sid, significa que el sistema s'actualitza amb paquets procedents d'una de les distribucions de desenvolupament (ja sigui «Testing» o «Unstable»).
El programa apt-show-versions (del paquet Debian del mateix nom) comprova la llista de paquets instal·lats i identifica les versions disponibles. El programa aptitude també es pot utilitzar per a aquestes tasques, encara que d'una manera menys sistemàtica.
Un cop d'ull a /etc/apt/sources.list fitxer (i al directori /etc/apt/sources.list.d/) ens mostrarà d'on probablement venen els paquets Debian instal·lats. Si apareixen moltes fonts desconegudes, l'administrador pot optar per reinstal·lar completament el sistema de l'ordinador per assegurar una compatibilitat òptima amb el programari proporcionat per Debian.
The sources.list file is often a good indicator: the majority of administrators keep, at least in comments, the list of APT sources that were previously used. But you should not forget that sources used in the past might have been deleted, and that some random packages grabbed on the Internet might have been manually installed (with the help of the dpkg command). In this case, the machine is misleading in its appearance of being a “standard” Debian system. This is why you should pay attention to any indication that will give away the presence of external packages (appearance of deb files in unusual directories, package version numbers with a special suffix indicating that it originated from outside the Debian project, such as ubuntu or lmde, etc.). Below are two examples, showcasing unusual version suffixes and a third-party package without a source.
$ dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version                        Architecture Description
+++-=============================-==============================-============-===================
[..]
ii  docker-buildx-plugin          0.14.0-1~debian.12~bookworm    amd64        Docker Buildx cli plugin.
ii  docker-ce                     5:26.1.3-1~debian.12~bookworm  amd64        Docker: the open-source application container engine
ii  docker-ce-cli                 5:26.1.3-1~debian.12~bookworm  amd64        Docker CLI: the open-source application container engine
ii  docker-ce-rootless-extras     5:26.1.3-1~debian.12~bookworm  amd64        Rootless support for Docker.
[..]
$ apt-show-versions | grep No
hc-utils:all 0.0.4-1 installed: No available version in archive
De la mateixa manera, és interessant analitzar el contingut del directori /usr/local/, el propòsit del qual és contenir programes compilats i instal·lats manualment. La llista de programari instal·lat d'aquesta manera és instructiu, atès que això planteja dubtes sobre les raons per no utilitzar el paquet Debian corresponent, si és que existeix.

3.2.4. Instal·lant Debian

Un cop que es coneix tota la informació requerida del servidor actual, podem aturar-lo i començar a instal·lar-hi Debian.
Per triar la versió apropiada, hem de conèixer l'arquitectura de l'ordinador. Si es tracta d'un PC relativament recent, és més probable que sigui amd64 (els PC antics eren normalment i386). En altres casos, podem reduir les possibilitats d'acord amb el sistema utilitzat anteriorment.
La Taula 3.1 no pretén que sigui exhaustiva, però pot ser útil. Tingueu en compte que llista les arquitectures de Debian que ja no són compatibles amb el llançament estable actual. En qualsevol cas, la documentació original de l'ordinador és la font més fiable per trobar aquesta informació.

Taula 3.1. Aparellant sistema operatiu i arquitectura

Sistema operatiuArquitectura/es
DEC Unix (OSF/1)alpha, mipsel
HP Unixia64, hppa
IBM AIXpowerpc
Irixmips
OS Xamd64, powerpc, i386
z/OS, MVSs390x, s390
Solaris, SunOSsparc, i386, m68k
Ultrixmips
VMSalpha
Windows 95/98/MEi386
Windows NT/2000i386, alpha, ia64, mipsel
Windows XP / Windows Server 2003-2008i386, amd64, ia64
Windows RTarmel, armhf, arm64
Windows Vista / Windows 7-8-10-11 / Windows Server 2010-amd64

3.2.5. Instal·lació i configuració dels serveis seleccionats

Un cop s'ha instal·lat Debian, hem d'instal·lar i configurar individualment cadascun dels serveis que aquest ordinador ha d'oferir. La nova configuració ha de tenir en compte l'anterior per a garantir una transició suau. Tota la informació recollida en els dos primers passos serà útil per completar amb èxit aquesta part.
Instal·lació dels serveis seleccionats

Figura 3.3. Instal·lació dels serveis seleccionats

Pèro abans de començar aquesta tasca és molt recomanable que llegiu la resta d'aquest llibre. Després de fer-ho tindreu una comprensió més precisa de com configurar els serveis esperats.