Posts Tagged ‘actualización’

Intentando actualizar a Debian Unstable a 2.6.39 . Kde 4.6 en unstable y nvidia-glx

junio 23, 2011

Hardware

Mac Book Pro 6,2

Problemas al actualizar

Primero de todo no me iban las X. Concretamente con nvidia. He renombrado:

/etc/X11/xorg.conf

para simular su borrado y he reiniciado con:

/etc/init.d/gdm restart

Al contrario que antes sin xorg.conf sí me van las X bien.

Había conseguido con el modulo intel que me fueran las X pero veía el tercio izquierdo de la pantalla a partir del segundo tercio de la pantalla real. Y no había manera en el pasado de hacer funcionar las X con sólo VESA.

Ahora por lo visto estoy con VESA a resolución 1280×1024 y usando la tarjeta nvidia. Con suerte podré hacer funcionar la tarjeta intel.

Para evitar un error extraño en el arranque he desinstalado ndiswrapper con:

apt-get remove ndiswrapper*

y he descomentado los siguientes modulos del

/etc/modules.conf:

wl

snd_hda_intel

nls_base

usbcore

bcm5974

.

Total que por alguna razón el modulo nvidia no se me carga en el kernel. Y si intento instalar nvidia-glx me da un error de paquete roto. Puede que sea por mi mirror local. El no poder usar nvidia me impide usar una segunda pantalla ya que creo que el puerto este especial del MBP 6,2 sale por nvidia. El programa nvidia-settings no me deja configurar nada.

Por otro lado no me va el wireless y a ver sí lo sé arreglar antes de nada.

Arreglo de wireless

Para arreglar wireless sigo las instrucciones de Debian Unstable 2 Abril – Kde 4.6.

No necesito editar el fichero:

/etc/modprobe.d/broadcom-sta-common.conf. Y finalmente comentar ndiswrapper en /etc/modules pero, claro, como ya había desinstalado ndiswrapper creo que no es mucho cambio.

Nvidia propietario

Voy a actualizar el repositorio local de unstable porque parece ser que tengo un paquete roto relacionado con nvidia-glx.

Al intentar instalar nvidia-glx me desinstala practicamente todo kde 4.6. Ahora me ha dado por suicidarme para volver al 4.4 al desactivar mi repositorio experimental de qt-kde y al intentar forzarlo… oh… sorpresa… me está instalando 4.6. Si lo llego a saber antes. 🙂 De momento me está dejando de instalar nvidia-glx. Luego miro de instalarlo otra vez. Por lo menos sabré que uso kde 4.6 del oficial Debian unstable.

Se ve que esto es un bug de unstable y parece ser que estará en los mirrors pronto. No he sabido encontrarlo en ningún mirror. Así que mañana tocará actualizar el mirror local e instalar los paquetes:

kde-standard

y

nvidia-glx

conjuntamente.

Ahora voy a reiniciar a ver si me van las X o no después de todo lo que he hecho que no me aclaro mucho.

Undo

He decidido deshacer. Como tengo un sistema multi-boot (más o menos) y en sda6 tenía una copia del sistema antes de la actualización arranco con ella, la copio en sda5 (sistema normal) dónde hacía la actualización. En sda5 edito el fstab para que / apunte a sda5. Chroot en él para ejecutar update-grub. Y finalmente grub-install /dev/sda dentro del chroot porque los binarios de grub no están en el mismo sitio en el disco.

Mañana si aparece la actualización del paquete y me animo a intentar actualizarlo de nuevo (Esta vez lo primero de todo desactivaré el repositorio qt-experimental) igual os sigo contando.

Anuncio publicitario

Tanteando con get-selections y set-selections

diciembre 13, 2010

Hace poco descubrí que las get-selections y set-selections no funcionaban como yo esperaba. El problema está que al hacer set-selections no añades paquetes qué instalar sino que los que no has marcado para instalar de alguna manera están marcados para desinstalarse. Al menos esa es mi experiencia.

Así que lo que hago es obtener un get-selections de lo que quiero (Entiendase sacar un get-selections del sistema antiguo y dejar sólo los programas que me interesan).

También obtengo un get-selections del sistema nuevo que apenas tendrá paquetes. Junto esos dos ficheros para formar uno conjunto y en el sistema nuevo hago algo así como:

apt-get --set-selections < fichero_conjunto_get_selections.txt

Para que empiece a instalar habrá que hacer:

sudo apt-get dselect-upgrade

 

 

Actualización a Ubuntu 9.04 – Final

mayo 8, 2009

Os cuento el final de la actualización a Ubuntu 9.04. El error:

cpio: ./bin/udevinfo: No se puede stat: No existe el fichero o directorio

me siguió saliendo. Por lo visto el script que modifiqué se volvió a instalar.

Lo solucioné copiando el programa true a udevinfo. No me acuerdo muy bien pero creo que hice:

cp /usr/bin/true /usr/sbin/udevinfo

Ya os lo confirmaré. El tema es que aunque el error es de ./bin/udevinfo el script no lo copia de /bin sino de otro directorio.

Después no me iban las X porque no me cargaba el modulo de nvidia.

Entonces lo que hice fue instalar el modulo de nivida (nvidia-glx-180). Tampoco.

Al final instalé el kernel linux-generic y desinstalé el linux-server. Al instalar el linux-generic entonces ya me pilló el modulo del nvidia-glx-180, vamos que compiló o cargó el modulo conforme se instalaba el kernel.

Luego comentaros que ejecutar:

 apt-get dist-upgrade

desde la consola ejecuta, o al menos eso me parece, el :

dpkg-reconfigure -a

y tienes que responder a un montón de preguntas. Me imagino que con la actualización gráfica de Ubuntu eso no pasa.

Problema initramfs-tools al actualizar a Ubuntu 9.04

mayo 7, 2009

Como ya  os contaba en el post de la clonación tenía problemas con paquetes no encontrados. Ahora ya tengo todos los paquetes puesto que volví a ejecutar apt-mirror como ya indiqué en el truco de apt-mirror.

Ahora he intentado hacer el apt-get dist-upgrade.

Se detiene en:

mkdir: no se puede crear el directorio «/tmp/mkinitramfs_hoESCF/etc/udev/rules.d»: El fichero ya existe
cpio: ./sbin/udevsettle: No se puede stat: No existe el fichero ó directorio
cpio: ./sbin/udevtrigger: No se puede stat: No existe el fichero ó directorio
cpio: ./bin/udevinfo: No se puede stat: No existe el fichero ó directorio
dpkg: el subproceso post-installation script devolvió el código de salida de error 1

Al principio creía que era por mis paquetes codip2p del proyecto desdeslin pero no era así porque tenía la versión del initramfs-tools era la de jaunty.

Al final lo que he hecho ha sido enlazar udevsettle y udevtrigger al binario true.

Con udevinfo no había manera así que he tenido que editar un fichero de configuración de initramfs-tools (Vaya ahora mismo no tengo la ruta) para que hiciera caso omiso del mismo. Para que no lo copiaran.

En Ubuntu (y no sé si en Debian) esos tres comandos se han substituido por uno nuevo que hace las veces de ellos.

Pero no sé por qué el initramfs-tools sigue haciendo referencia a ellos.

Todo esto lo he hecho offline y es posible que actualice este post con enlaces a gente que le ha haya pasado lo mismo y con su solución.

Como clonar una distribución para actualizarla

mayo 5, 2009

Introducción

Tengo instalado Ubuntu 8.10 en una de mis particiones. Está bastante personalizado. Y no me refiero a mi usuario
(para eso tengo una partición /home) sino a todos los paquetes que he instalado.

Hace poco ha salido 9.04. Tengo un howto que habla de cómo instalaria Ubuntu 9.04 desde cero y a partir de la lista de paquetes del 8.10 lo dejaría casi igual. Ese howto tiene, entre otros problemas, que luego hay
que crear los usuarios a mano, poner sus passwords, quizás poner algunos passwords, quizás configurar las X a partir
de un backup de un xorg.

El howto está muy bien si queremos «pasar» de un Ubuntu a un Debian, a una derivada de Debian o bien u otra combinación. Pero, claro, cuándo podemos actualizar de un Ubuntu 8.10 a un Ubuntu 9.04 sin apenas complicaciones (ya veremos 🙂 ), ¿Por qué no hacerlo?

Bien. La respuesta está clara. Quiero seguir teniendo el Ubuntu 8.10 por si acaso. Y al mismo tiempo tener el Ubuntu 9.04 para ir quedandome poco a poco con él.

¿Como hago esto? Pues clonando una distribución. O haciendo una copia. La copia será identica de no ser por su partición y esto lo tendremos que hacer saber.

Mi sistema

Antes de nada os tengo que hablar de mi sistema.

sda1 10 GB  Windows (Está con telarañas porque no lo uso)
sda2 300 MB /boot (Aqui tengo el arranque multiple)
sda3 20 GB / Debian Etch 4.0
sda4 Partition Extendida (Contiene a las lógicas)
sda5 8 GB / Ubuntu Intrepid 8.10
sda6 8 GB / Desdeslin desde cero (Ubuntu Intrepid 8.10)
sda7 8 GB / Debian 5.0 Lenny
sda8 3 GB SWAP
sda9 900 GB /home

Para tener arranque multiple uso la configuración descrita en Multi Distribution Boot Howto.

Antes de instalar el nuevo Ubuntu 9.04 tengo el /boot/grub/menu.lst:

default         2                                                                               
timeout         5                                                                               
color cyan/blue white/blue                                                                      

title Windows 95/98/ME (sda1)
root (hd0,0)                 
makeactive                   
chainloader +1               

title MENU DEBIAN ETCH
configfile (hd0,2)/boot/grub/menu.lst

title MENU UBUNTU INTREPID 8.10
rootnoverify (hd0,4)
chainloader +1
boot

title MENU DESDESLIN DESDE CERO
rootnoverify (hd0,5)
chainloader +1
boot

title MENU DEBIAN 5.0 LENNY
rootnoverify (hd0,6)
chainloader +1
boot

title Disco Externo
rootnoverify (hd1)
chainloader +1
boot

Preparación partición

Ahora mismo estoy trabajando en el sistema a clonar.
El proceso de clonado lo realizaré efectivamente desde un Debian Lenny.
No obstante como el ext3 está cambiando mucho últimamente el proceso de creación
del sistema de ficheros de la partición lo haré desde el sistema a clonar (Ubuntu 8.10).

Bien. Veamos. Me voy a cargar «Desdeslin desde cero». Si toco más el desdeslin lo haré desde máquinas virtuales.
Usaba una partición dedicada porque era mi proyecto de fin de carrera y así iba todo mucho más rápido.
Era para probar desde una partición con Ubuntu 8.10 recien instalada si mis pasos eran correctos.

Desdeslin desde cero es: sda6 en este sistema.

Vamos a ello.

adrian@desdeslinserver:~$ sudo mkfs.ext3 /dev/sda6
[sudo] password for adrian:
mke2fs 1.41.3 (12-Oct-2008)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
513072 nodos-i, 2048279 bloques
102413 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=2101346304
63 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8144 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Escribiendo las tablas de nodos-i: hecho
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Este sistema de ficheros se revisará automáticamente cada 27 montajes o
180 días, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo.
adrian@desdeslinserver:~$

Como iba diciendo esto la clonación la voy a hacer desde el Debian Lenny.
Porque no quiero usar live cds teniendo tantas distribuciones instaladas.
Y porque así la distribución a clonar está desmontada y no me tengo que preocupar
de excluir directorios temporales y otras cosas por el estilo.

Pues nada. Voy a reiniciar a Lenny y seguiré editando este documento. 🙂

Clonación

Ya estoy aqui otra vez. Pero en vez de usar el Kwrite que venía con el kde4 de
Ubuntu 8.10 uso el de kde 3.5 que viene en Debian 5.0.

Bueno. La clonación es muy simple consiste en copiar todos los archivos de un sistema
a otro. Como ya hemos borrado la partición destino pues una cosa menos.

Para poder copiar archivos de una partición tanto para leer (origen) como para escribir
(destino) se han de montar las particiones.

Crearemos un par de directorios vacios para poder montar.

mkdir /mnt/origen
mkdir /mnt/destino

Notese que no uso sudo porque estoy en Debian, con su entro como root.

Bien. Ahora voy a montar la partición del Ubuntu 8.10 en origen,
es decir, sda5. Y la partición sda6 en destino.

mount -t ext3 /dev/sda5 /mnt/origen
mount -t ext3 /dev/sda6 /mnt/destino

Y ahora iniciaré la copia de archivos.

cp -a /mnt/origen/* /mnt/destino

Hay un truco muy viejo para hacer esto mismo con el comando tar que se supone es mejor
cuando hay red por el medio porque comprimes, envias y descomprimes.

Mientras esperamos que se realice la copia os comentaré que -a quiere decir:

-dpR

-d es: --no-dereference --preserve=links
p es: --preserve=mode,ownership,timestamps
R es: -R, -r, --recursive
 copy directories recursively
Y mirando más en detalle:
-P, --no-dereference
 never follow symbolic links in SOURCE
--preserve[=ATTR_LIST]
 preserve   the   specified   attributes   (default:  mode,owner‐
 ship,timestamps), if possible  additional  attributes:  context,
 links, all

Esto lo tendría que explicar mejor pero sólo diré que de está manera tanto los permisos de usuario, los atributos, los enlaces y demás ficheros especiales se copian correctamente.

No sé si habéis probado a copiar un fichero que es de un usuario cualquiera a root. Los permisos, una vez copiados son de root. Pues de esta manera los permisos son de quien eran en un primer lugar.

Y no sé, puede que hayais probado a copiar un enlace y realmente lo que copias es el fichero al que apunta y no el enlace en sí que apenas ocupa espacio. Pues esa es la opción –no-dereference que no sigue los links.

Os adelanto. Después de la copia habrá que personalizar al Ubuntu en su nueva partición.
Para ello tendremo que modificar su menu.lst y su fstab básicamente, o al menos eso creo.

Cuando haya acabado la copia hacemos

sync

por si acaso.

Y desmontamos tanto el origen como el destino.

umount /mnt/destino
umount /mnt/origen

Adaptación a la nueva partición

Ahora vamos a adaptar nuestro sistema copiado a la nueva partición.

Para ello tendremos que montarlo.

mount -t ext3 /dev/sda6 /mnt/destino

Modificación de fstab

Veamos el contenido actual del /mnt/destino/etc/fstab

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sdb5
UUID=eab9759d-113c-4521-9f9b-5840327f7db5 /               ext3    relatime,errors=remount-ro 0       1
# /dev/sdb9
UUID=fac860f8-c7fb-4f3a-8b87-2ae79845e032 /home           ext3    relatime        0       2
# /dev/sda7
UUID=6cafcdaa-2799-4b20-af46-ad63dd1ff9a3 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
/dev/scd1       /media/cdrom1   udf,iso9660 user,noauto,exec,utf8 0       0

Si nos fijamos la partición root tiene un UUID determinado. No obstante ese no
es el UUID de la partición sda6.

En mi debian lenny (el tercer sistema que uso para la clonación) uso:

vol_id /dev/sda6

Este me devuelve:

ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d
ID_FS_UUID_ENC=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=

A nosotros nos interesa la linea:

ID_FS_UUID=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d

En concreto el valor que va después del = que será el que usaremos en
el fstab como root.

Podriamos usar:

gedit /mnt/destino/etc/fstab

para editar el fichero.

Así pues la linea:

UUID=eab9759d-113c-4521-9f9b-5840327f7db5 /               ext3    relatime,errors=remount-ro 0       1

nos quedará como:

UUID=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d /               ext3    relatime,errors=remount-ro 0       1

Modificación de menu.lst

Como Ubuntu está basado en Debian usa la herramienta update-grub para actualizar su menu.lst
cuando instala un nuevo kernel.

Curiosamente tendremos que editar lineas comentadas.

Podriamos usar:

gedit /mnt/destino/boot/grub/menu.lst (Aqui supongo que no se usan particiones /boot)

para editar el fichero.

Antes teníamos:

# kopt=root=UUID=eab9759d-113c-4521-9f9b-5840327f7db5 ro

# groot=eab9759d-113c-4521-9f9b-5840327f7db5

Ahora tendremos:

# kopt=root=UUID=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d ro

# groot=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d

Guardamos y salimos

Ahora actualizaremos el menu.lst con estos nuevos datos
(en efecto para el grub las lineas anteriores son comentarios
pero para update-grub no)

Necesitaremos hacer un chroot al directorio destino.
Pero el grub necesita /dev para funcionar correctamente.

El /dev es un directorio problemático entre distribuciones porque, a veces, el kernel
cambia su concepción de los dispositivos. Lo ideal en este caso, sería hacer
el chroot y el update-grub desde la distro origen. No obstante creo que lo haré
con Debian Lenny 5.0 porque no cambia tanto el /dev.

mount -o bind /dev /mnt/destino/dev
chroot /mnt/destino

Ejecutamos

update-grub

y si nos preguntan.
(Normalmente no hay preguntas pero estos de ubuntu lo cambian todo.)
decimos que queremos usar la versión del fabricante.

Bien. Antes de nada. Vamos a poner un fichero centinela para verificar que
estamos arrancando el nuevo sistema y no el viejo.

echo "Soy nuevo" > /soynuevo.txt

Esto nos creará en el root del nuevo sistema un fichero con nombre soynuevo.txt cuyo contenido
será «Soy nuevo».

Hacemos exit.

Y verificamos el /mnt/destino/boot/grub/menu.lst para ver si está ok.

exit

(para salir del chroot)

Y comprobamos: /mnt/destino/boot/grub/menu.lst.

Tendremos que ver en las lineas uuid y kernel nuestro nuevo uuid.

title           Ubuntu 8.10, kernel 2.6.27-7-server
uuid            24a0e91b-0e2d-409f-8ddc-4a6b0d90912d
kernel          /boot/vmlinuz-2.6.27-7-server root=UUID=24a0e91b-0e2d-409f-8ddc-4a6b0d90912d ro quiet splash
initrd          /boot/initrd.img-2.6.27-7-server
quiet

Bien.

Instalación de GRUB

Ahora instalaremos grub en el sector de arranque de la partición destino.
De esa manera aprovechamos el multiarranque que explicaba al principio.

En teoría tendriamos que hacer un chroot otra vez.

chroot /mnt/destino

Y luego hacer:

grub-install /dev/sda6

Pero da este error.

root@adrianpc:/# grub-install /dev/sda6
Searching for GRUB installation directory ... found: /boot/grub
The file /boot/grub/stage2 not read correctly.

¿Puede ser por qué no está montado proc?
Prefiero no investigar.
Veremos como instalar grub como los hombres.

Es hora de volver a la distribución origen,
pero sólamente al grub de ella.

Si aún estamos en el chroot salimos de él con:

exit

Desmontamos

umount /mnt/destino/dev
umount /mnt/destino
sync

(por si acaso)
y reiniciamos, y elegimos arrancar la partición origen.

En nuestro menú de grub multiarranque elegimos
la partición origen, pulsamos ESC para ver nuestro menú de grub
(La gente de Ubuntu normalmente oculta el menú de grub)

Y pulsamos c

Esto nos llevará a una consola.

grub>

Ahí escribiremos

root (hd0,5)
setup (hd0,5)

Sí, es 5 porque las particiones en grub empiezan desde 0 y es 0 porque tambien los discos
duros empiezan desde cero.

Luego haremos cat (hd0,5)/boot/grub/menu.lst
Y reboot.

Lo del cat es por un posible bug del grub, muchas veces sin hacerlo igual nos irá.

Bien. Como aún no hemos cambiado nuestro menu.lst de multiarranque
si elegimos:

MENU DESDESLIN DESDE CERO

tendremos acceso al nuevo sistema.

Comprobamos que en / tenemos soynuevo.txt (nuestro fichero centinela).
Lo borramos si queremos.

En este punto podriamos editar el menu.lst de nuestro multiarranque
para que en vez de:

MENU DESDESLIN DESDE CERO

ponga:

MENU UBUNTU 9.04

Como algunos notareis de momento el sistema es un Ubuntu 8.10 recien clonado pero
no un Ubuntu 9.04 pero eso va a cambiar muy pronto.

Actualización a Ubuntu 9.04

Bien. Esta parte del howto es opcional. Podrías seguir cualquier howto para actualizar de Ubuntu 8.10 a 9.04 y tan contentos.

Yo entiendo que aqui lo novedoso
es clonar un sistema y que más o menos todo siga igual.
Si no tenéis un tercer sistema instalado en vuestro disco duro para hacer la copia usais
un live cd y ya está.

Yo voy actualizar a Ubuntu 9.04 offline.
Basicamente actualizo el /etc/apt/sources.list para que me apunte a mi repositorio
offline de Jaunty 9.04, ejecuto:

 apt-get update

y

apt-get dist-upgrade

No obstante este último comando lo ejecutaré desde tty1 (pulsando ctrl+alt+f1).
Ahora con Ubuntu creo que esto se puede hacer de forma gráfica con el
update-manager o algo así pero yo usaré el metodo de linea de comandos.

Copia de seguridad del sources.list.

root@desdeslinserver:~# cd /etc/apt/
root@desdeslinserver:/etc/apt# cp sources.list sources.list_antes_9.04

Crear mi nuevo sources.list puede ser un lio.

Vamos a ver yo consegui mi repositorio con el siguiente mirror.list
(Es mirror.list porque uso apt-mirror)

# Main repository
deb http://es.archive.ubuntu.com/ubuntu/ jaunty main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ jaunty main restricted

# Major bug fix updates produced after the final release of the distribution.
deb http://es.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

# Universe and multiverse repostories. ENTIRELY UNSUPPORTED by the Ubuntu team
deb http://es.archive.ubuntu.com/ubuntu/ jaunty universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ jaunty universe multiverse
deb http://es.archive.ubuntu.com/ubuntu/ jaunty-updates universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ jaunty-updates universe multiverse

# Software from the 'backports' repository. Software from this repository may not have been tested as
# extensively as that contained in the main release, although it includes newer versions of some
# applications which may provide useful features. Also, please note that software in backports WILL NOT
# receive any review or updates from the Ubuntu security team.
deb http://es.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ jaunty-backports main restricted universe multiverse

# Software from Canonical's 'partner' repository. This software is not part of Ubuntu, but is
# offered by Canonical and the respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu jaunty partner
deb-src http://archive.canonical.com/ubuntu jaunty partner

# Security updates
deb http://security.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

# Multimedia stuff
# GPG: wget http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
deb http://packages.medibuntu.org/ jaunty free non-free
deb-src http://packages.medibuntu.org/ jaunty free non-free

Bien. Ahora los ficheros están en el directorio jaunty_mirrors dentro del home.

root@desdeslinserver:/home/jaunty_mirrors# ls
archive.canonical.com  es.archive.ubuntu.com  packages.medibuntu.org  security.ubuntu.com

Habrá que cambiar http:// por file:/ y poner las rutas correctas.

Copio y pego del mirror.list en el sources.list (sustituyendo todo lo anterior)
y hago un buscar y reemplazar:

busco: http://
reemplazo por: file:/home/jaunty_mirrors/
(Obviamente reemplazo todas las ocurrencias)

Guardamos el sources.list.

Ahora ejecutamos:

sudo apt-get update

Una vez hecho esto. Guardaremos todo como si fueras a apagar el ordenador
pero en su lugar elegiremos «Terminar sesión».

Veremos la pantalla de entrada. Pulsamos ctrl+alt+f1,
hacemos login, entramos como root y pedimos una actualización de la distribución.

sudo -i
apt-get dist-upgrade

Y dentro de poco tendremos la 9.04.

Ironías del destino no os puedo decir que estoy en la 9.04.
No sé si el mirror español que elegí está defectuoso y entre otras cosas
una semana después del lanzamiento no tenía sudo.
O es que el apt-mirror soporta muy mal las paradas con CTRL+C
porque no lo baje de una vez.

A mi ya me parecía extraño que el Jaunty ocupara 50 GB mientras que
Intrepid fuera de unos 60 GB.

Tendré que forzar la descarga de lo que falta, o peor aún, descargarlo todo de nuevo.

Me imagino que eso será en otro post.

Y ahora os preguntaréis si el apt-get dist-upgrade ha «roto» mi sistema a jamás.
Eso suele pasar cuando se mezclan ramas de paquetes en Debian.
Me da igual.
Yo puedo seguir trabajando con mi sistema antiguo (el origen) y cuando tenga listo
mi repositorio retomaré la actualización en el nuevo (el destino).

Una clonación que me ha salvado de posibles problemas futuros (sin yo pretenderlo).

Actualización: Acabo de mirar los logs del apt-mirror y se ve que el wget tuvo dificultad
en bajar algunos paquetes.
A ver cómo hago para que se los baje correctamente sin tener que ejecutar otra vez
el apt-mirror.