Tal enfoque es muy complicado, y es poco probable que todos los paquetes sean la amd64
versión en lugar de la i386
versión. Solo los paquetes que realmente reciben actualizaciones probablemente cambiarán en la arquitectura, y probablemente solo si ningún otro paquete que no se actualiza dependerá de su i386
arquitectura. Dado que algunos paquetes no recibirán ninguna actualización durante todo el ciclo de soporte de su versión de Ubuntu, es probable que nunca tenga un amd64
sistema completo que utilice dicha técnica. Además, ciertamente no hay apoyo oficial para tal enfoque.
En su lugar, le recomendamos que reemplace su sistema Ubuntu existente con una nueva instalación de 64 bits.
Sin embargo, si desea intentar esta técnica, deberá descargar manualmente los .deb
archivos para dpkg
y apt
. Puede encontrarlos dpkg
en Ubuntu y apt
en las páginas de Ubuntu en Launchpad: expanda la última versión en "The Oneiric Ocelot" que está marcada como lanzamiento, seguridad y / o actualizaciones (pero probablemente no desee una versión marcada únicamente propuesto y / o backports, si alguna vez hay uno). Luego descargue los .deb
archivos marcados amd64
. Específicamente, los archivos que querrá son: este paradpkg
(y los otros enumerados también, si tiene esos paquetes instalados) y esto y esto y esto y estoy esto para apt
.
Antes de hacer algo con estos archivos, debe asegurarse de hacer una copia de seguridad de todos los documentos importantes en su sistema Ubuntu instalado y cualquier otro archivo importante (por ejemplo, música, libros electrónicos, videos), porque es bastante probable que intentar esta técnica resulte mal. y deja tu sistema Ubuntu completamente inutilizable.
Puede instalar todos estos paquetes colocándolos en una carpeta que no contenga nada más (suponga que se llama a la carpeta debs
y está dentro de su Downloads
directorio), y luego ejecute este comando:
sudo dpkg -Ri ~/Downloads/debs
Por supuesto, una vez que los haya instalado, en realidad no se ejecutarán, porque sus ejecutables son de 64 bits y su sistema Ubuntu de 32 bits está ejecutando un núcleo de 32 bits (que solo ejecutará ejecutables de 32 bits). De hecho, es posible que ni siquiera terminen de instalarse, ya que pueden tener scripts posteriores a la instalación que invocan sus ejecutables de 64 bits no ejecutables.
Hay varias formas de intentar instalar un núcleo de 64 bits en un sistema de 32 bits, pero todas son extremadamente complicadas, por lo que le recomiendo que arranque desde un CD en vivo Oneiric de 64 bits (que a su vez ejecuta un disco de 64 bits kernel), inicie sesión en el sistema Ubuntu instalado y use el recientemente instalado 64-bit apt
y dpkg
para instalar un kernel de 64-bit.
Aquí hay instrucciones específicas para hacerlo ... pero no tome esto como que estoy diciendo que funcionará. No he intentado esto. (Me conecté a los sistemas Ubuntu instalados desde CD en vivo y realicé la gestión de paquetes y otras operaciones, pero no he intentado las operaciones de arquitectura cruzada sugeridas aquí).
En su sistema Ubuntu instalado, abra una ventana de Terminal ( Ctrl+ Alt+ T) y ejecútelo mount | grep ' on / '
(pegándolo en el Terminal y presionando enter). Deberías ver algo así /dev/sda2 on / type ext4 (rw,errors=remount-ro,commit=0)
. La parte que le interesa es el nombre del dispositivo antes on
(en este ejemplo, es /dev/sda2
). Recuerda eso o escríbelo.
El paso 1 le dio el nombre del dispositivo de la /
partición. Si tiene una /boot
partición separada , también necesitará saber el nombre del dispositivo para eso. Entonces, en ese caso, corre mount | grep ' on /boot '
. Verás algo así /dev/sda1 on /boot type ext2 (rw)
. Recuerde o escriba esto también.
Arranque desde un CD en vivo Oneiric amd64 (es decir, 64 bits) y seleccione "Probar Ubuntu" en lugar de "Instalar Ubuntu".
Vaya a un navegador web y asegúrese de que la conectividad a Internet sea completamente funcional. Si no es así, configúrelo.
Abra una ventana de Terminal y ejecute sudo mount /dev/sda2 /mnt
(reemplace /dev/sda2
con el nombre del dispositivo que obtuvo en el paso 1, si es diferente).
Si su sistema instalado tiene una /boot
partición separada , ejecute sudo mount /dev/sda1 /mnt/boot
(reemplace /dev/sda1
con el nombre del dispositivo que obtuvo en el paso 2, si es diferente).
Ahora, ejecute estos comandos para hacer chroot en su sistema instalado:
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devpts none /dev/pts
Ejecute ping -c 4 launchpad.net
para ver si la conectividad a Internet funciona completamente desde dentro del chroot. Estás esperando algo como esto:
PING launchpad.net (91.189.89.223) 56(84) bytes of data.
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=1 ttl=41 time=141 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=2 ttl=41 time=143 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=3 ttl=41 time=142 ms
64 bytes from launchpad-net.banana.canonical.com (91.189.89.223): icmp_req=4 ttl=41 time=140 ms
--- launchpad.net ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
Si, en cambio, no pudo transmitir o recibir paquetes, entonces tendrá que configurar la conectividad a Internet en el chroot. Para hacerlo, ejecute estos comandos (para salir del chroot, copie los archivos de configuración relevantes del sistema de CD en vivo en el chroot y vuelva a ingresar el chroot):
sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo cp /etc/hosts /mnt/etc/hosts
Si bien generalmente debe detener este proceso si hay un error, no se preocupe si el primero y / o el segundo de esos cuatro comandos fallan, siempre que la forma específica en que falla es diciéndole que /mnt/etc/resolv.conf
(o /mnt/etc/hosts
) no existe .
El chroot vuelve a entrar y vuelve a intentarlo:
sudo chroot /mnt
ping -c 4 launchpad.net
Ejecute estos comandos para que su entorno chrooteado esté completamente listo para usar:
export HOME=/root
export LC_ALL=C
Si no ha instalado los .deb
archivos para las versiones de 64 bits de dpkg
y apt
, hágalo ahora. Si los instaló pero hubo errores de configuración, ejecute dpkg --configure -a
para corregirlos. (Con suerte, eso funcionará ... podría ser mejor esperar para intentar instalarlos hasta que esté en el entorno de CD en vivo, en caso de que la instalación de 64 bits dpkg
mientras se inicia en el sistema instalado deje dpkg
en un estado inutilizable).
Con las versiones de 64 bits dpkg
e apt
instaladas, suponiendo que instalen automáticamente paquetes de 64 bits, ahora puede eliminar todos los núcleos de 32 bits e instalar un núcleo de 64 bits. Para eliminar sus núcleos de 32 bits, ejecute dpkg -l | grep linux-
. Esto enumera los paquetes instalados que comienzan con linux-
. Que le interesan más específicamente en paquetes que comienzan como linux-generic
, linux-image
, linux-server
, y / o linux-headers
. Elimine estos archivos con apt-get purge ...
donde ...
se reemplaza con una lista separada por espacios de los paquetes que está eliminando.
Ahora reinstale los paquetes que eliminó. (En realidad, para los paquetes que contienen números de versión en el nombre del paquete, como por ejemplo linux-image-3.0.0-13-generic
, solo necesita instalar los últimos nombres de paquete versionados). Haga esto ejecutando apt-get install ...
donde ...
se reemplaza con una lista separada por espacios de los paquetes que está instalando .
Actualice la configuración del cargador de arranque, desmonte algunos dispositivos y deje el chroot:
update-grub
umount /proc || umount -lf /proc
umount /sys
umount /dev/pts
exit
sudo umount mnt/dev
Si corriste sudo cp /mnt/etc/resolv.conf /mnt/etc/resolv.conf.old
y no falló, ahora corre sudo cp /mnt/etc/resolv.conf.old /mnt/etc/resolv.conf
.
Si corriste sudo cp /mnt/etc/hosts /mnt/etc/hosts.old
y no falló, ahora corre sudo cp /mnt/etc/hosts.old /mnt/etc/hosts
.
Si su sistema instalado tiene una /boot
partición separada , desmonte eso:sudo umount /mnt/boot
Desmonta la /
partición de tu sistema instalado :sudo umount /mnt
Salga de la ventana Terminal (ejecutar exit
), luego reinicie (o apague) el sistema de CD en vivo y arranque en el sistema instalado.
Vea si el sistema es utilizable y ejecuta un núcleo de 64 bits ( uname -m
debería decir que la arquitectura lo es x86_64
).
Es posible que haya paquetes adicionales que necesite instalar, como ia32_libs
y / o la versión de 64 bits libc6
, para que esto funcione. Para algunos de ellos, es posible que se le informe que los necesita al intentar instalar la versión de 64 bits de dpkg
y / o apt
. Para otros, es posible que no esté informado.
(Las instrucciones anteriores para realizar el chrooting y operar en el entorno chroot se basan en gran parte en este procedimiento relacionado pero diferente y también en algunas publicaciones mías de Launchpad Answers , especialmente # 6 aquí y # 6 aquí . Y un agradecimiento especial a Cesium por señalar que los archivos ejecutables dpkg
y de 64 bits apt
no se ejecutarán en un sistema que ejecute un núcleo de 32 bits).