Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
servidores:general:wheezy_cambiando_arquitectura [2013/05/30 15:54] fmolinuevo [Iniciar con un kernel de 64 bit] |
servidores:general:wheezy_cambiando_arquitectura [2013/10/19 09:13] fmolinuevo [Debian 7.0 32 bit upgrade] |
||
---|---|---|---|
Línea 22: | Línea 22: | ||
Si se trata de un desktop, recomiendo primero desinstalar todo el escritorio y archivos de interfaz gráfica como Xorg y KDE, por ejemplo, para simplificar el cambio de arquitectura y disminuir el número de paquetes a bajar inicialmente: | Si se trata de un desktop, recomiendo primero desinstalar todo el escritorio y archivos de interfaz gráfica como Xorg y KDE, por ejemplo, para simplificar el cambio de arquitectura y disminuir el número de paquetes a bajar inicialmente: | ||
- | aptitude remove kdelibs-data xserver-xorg-core | + | aptitude remove kdelibs5-data xserver-xorg-core |
Se debe cambiar la versión en el archivo sources.list de APT: | Se debe cambiar la versión en el archivo sources.list de APT: | ||
Línea 34: | Línea 34: | ||
apt-get update && apt-get dist-upgrade | apt-get update && apt-get dist-upgrade | ||
- | Luego reiniciar para obtener el nuevo kernel y a continuación purgar paquetes obsoletos de Debian Squeeze utilizando aptitude: | + | Luego **reiniciar para obtener el nuevo kernel**: |
- | aptitude | + | shutdown -r now && exit |
+ | |||
+ | y a continuación purgar paquetes obsoletos de Debian Squeeze utilizando aptitude: | ||
+ | |||
+ | LANG=en_US aptitude | ||
l~c [return] | l~c [return] | ||
_gg | _gg | ||
Asegurarse que no haya quedado ningún paquete obsoleto, y si es así, purgarlo. | Asegurarse que no haya quedado ningún paquete obsoleto, y si es así, purgarlo. | ||
+ | |||
+ | **Nota**: recomiendo no ejecutar un "apt-get clean" para eliminar de /var/cache/apt/archives los paquetes que se acaban de instalar, ya que en caso de emergencia quizá se necesiten. Cabe recordar que estarán ahí todos los paquetes del sistema tal como está instalado en este momento. | ||
===== Backups ===== | ===== Backups ===== | ||
- | El proceso de migración es obviamente crítico, y se debe resguardar **absolutamente todo** lo que sea útil. Por favor notar que hay paquetes cuyos datos pueden no funcionar sobre una arquitectura diferente, como el formato controlfile de PostgreSQL. | + | El proceso de migración es obviamente crítico, y se debe resguardar **absolutamente todo** lo que sea útil. Por favor notar que hay paquetes cuyos datos **pueden no funcionar sobre una arquitectura diferente**, como el formato controlfile de PostgreSQL. |
===== Iniciar con un kernel de 64 bit ===== | ===== Iniciar con un kernel de 64 bit ===== | ||
Línea 61: | Línea 67: | ||
Este paso es **imprescindible** dado que de otra manera, los programas de 64 bit necesarios para continuar con el procedimiento, no podrán ser ejecutados. | Este paso es **imprescindible** dado que de otra manera, los programas de 64 bit necesarios para continuar con el procedimiento, no podrán ser ejecutados. | ||
+ | |||
+ | shutdown -r now && exit | ||
===== Preparativos para la migración ===== | ===== Preparativos para la migración ===== | ||
Línea 94: | Línea 102: | ||
apt-get dselect-upgrade | apt-get dselect-upgrade | ||
- | No se debe abortar la remoción del kernel cuando se pregunte, pero prestar atención que el sistema no será iniciable hasta que sea reinstalado más tarde, así como otros paquetes requeridos como LVM. | + | **No se debe abortar la remoción del kernel** cuando se pregunte, pero prestar atención que el sistema no será iniciable hasta que sea reinstalado más tarde, así como otros paquetes requeridos como LVM. |
===== Actualizar el sistema base a 64 bit ===== | ===== Actualizar el sistema base a 64 bit ===== | ||
Línea 102: | Línea 110: | ||
apt-get install gcc-4.7-base:amd64 libc6:amd64 libgcc1:amd64 libssl1.0.0:amd64 zlib1g:amd64 | apt-get install gcc-4.7-base:amd64 libc6:amd64 libgcc1:amd64 libssl1.0.0:amd64 zlib1g:amd64 | ||
dpkg -i archives/lib*.deb | dpkg -i archives/lib*.deb | ||
+ | |||
+ | Este paso puede fallar debido a dependencias circulares de librerías. Se puede resolver forzando la instalación de algunos paquetes: | ||
+ | |||
+ | dpkg --force-all -i archives/gcc-4.7-base_4.7.2-5_amd64.deb | ||
+ | dpkg -i archives/libgcc1_1%3a4.7.2-5_amd64.deb | ||
+ | | ||
+ | Y luego instalando todas las otras librerías dentro del directorio "archives" en orden, según dpkg vaya solicitando las dependencias. | ||
Empezaremos con la instalación de las versiones de 64 bit de dpkg y apt. Ya lo desempaquetamos anteriormente, así que podemos usar esos archivos para instalar el paquete de reemplazo. | Empezaremos con la instalación de las versiones de 64 bit de dpkg y apt. Ya lo desempaquetamos anteriormente, así que podemos usar esos archivos para instalar el paquete de reemplazo. | ||
dpkg --force-remove-essential --force-depends -r dpkg:i386 | dpkg --force-remove-essential --force-depends -r dpkg:i386 | ||
- | PATH=$PATH:files/usr/bin:files/sbin | + | PATH=$PATH:files/usr/bin:files/sbin dpkg -i archives/dpkg_*_amd64.deb |
- | dpkg -i archives/dpkg_*_amd64.deb | + | |
dpkg --print-architecture | dpkg --print-architecture | ||
dpkg -r apt:i386 | dpkg -r apt:i386 | ||
Línea 171: | Línea 185: | ||
dpkg --configure -a | dpkg --configure -a | ||
dpkg -i bootstrap/var/cache/apt/archives/*.deb | dpkg -i bootstrap/var/cache/apt/archives/*.deb | ||
+ | | ||
+ | En este punto puede ocurrir que algún paquete relacionado con Kerberos no se instale por temas de dependencias. Se puede resolver con algo como: | ||
+ | |||
+ | aptitude install libk5crypto3 | ||
+ | | ||
+ | Y aceptando las desinstalaciones y actualizaciones que hará. Luego se debe eliminar el siguiente paquete, proceso que provocará la desinstalación de varios otros no necesarios: | ||
+ | | ||
apt-get purge gcc-4.7-base:i386 | apt-get purge gcc-4.7-base:i386 | ||
- | Ahora finalmente podemos reinstalar el kernel. Luego de esto podremos tomar un respiro ya que es nuevamente seguro reiniciar. | + | Ahora finalmente podemos reinstalar el kernel y utilitarios imprescindibles para el inicio, según los casos. Luego de esto podremos tomar un respiro ya que es nuevamente seguro reiniciar. |
- | apt-get install linux-image-amd64 lvm2 grub-pc | + | apt-get install linux-image-amd64 lvm2 mdadm grub-pc |
En el siguiente paso se revisarán los paquetes instalados. No debería haber ningún paquete de arquitectura i386. El sistema base debería constar solamente de paquetes amd64. | En el siguiente paso se revisarán los paquetes instalados. No debería haber ningún paquete de arquitectura i386. El sistema base debería constar solamente de paquetes amd64. | ||
Línea 234: | Línea 255: | ||
- | Proceda entonces. Se instalarán gran cantidad de paquetes. No se debe abortar la remoción del kernel. | + | En estos pasos, se instalarán **gran cantidad** de paquetes y se desinstalarán otros muchos. **No se debe abortar la remoción del kernel**. |
apt-get dselect-upgrade | apt-get dselect-upgrade | ||
Línea 244: | Línea 265: | ||
gg | gg | ||
| | ||
- | Quizá haya que ejecutar los comandos "g" varias veces, hasta que no queden acciones por realizar. | + | Dependiendo de la instalación y de qué paquetes han sido utilizados, quizá haya que ejecutar los comandos "g" varias veces, hasta que no queden acciones por realizar. |
- | Quizá sea necesario instalar paquetes básicos que puedan faltar. Utilizar para ello tasksel: | + | Posiblemente también sea necesario instalar paquetes básicos que puedan faltar. Utilizar para ello tasksel: |
tasksel --new-install | tasksel --new-install | ||
Línea 305: | Línea 326: | ||
apt-get install googleearth | apt-get install googleearth | ||
+ | |||
+ | ==== Eliminar archivos y directorios temporales ==== | ||
+ | |||
+ | Una vez que se haya revisado que el sistema esté perfectamente en funcionamiento. Se pueden eliminar los archivos temporales y directorios usados para la migración: | ||
+ | |||
+ | rm -Rf ./bootstrap/ ./files/ ./archives/ ./dpkg-get-selections.* | ||
===== Bibliografía ===== | ===== Bibliografía ===== |