Actualice Ubuntu de la edición de 32 a 64 bits

14

¿Hay alguna manera de actualizar mi versión de Ubuntu de 32 bits a la versión de 64 bits? Yo uso Ubuntu 9.10.

Si no hay una manera simple, ¿qué pasa si simplemente copio mi casa y /etcdirectorios a una nueva instalación, funcionará?

Kirill V. Lyadvinsky
fuente
2
Sugerencia: utilícelo etckeeperen el sistema antiguo y en el nuevo sistema y después de instalar todos los paquetes adicionales ( dselecte dpkg -l) instalados en el sistema antiguo, combine sus cambios en comparación con los archivos de configuración dist en el nuevo sistema;) ...
0xC0000022L

Respuestas:

4

Desafortunadamente, al igual que otros sistemas operativos, no hay una 'ruta de actualización' para hacer esto. Seguramente tendrá que volver a instalar.

En cuanto a preservar sus datos, sería una buena idea hacer una copia de seguridad de su directorio personal junto con cualquier otro dato y debería importarse fácilmente a su nueva instalación.

¡Siempre haga una copia de seguridad de sus datos antes de intentar algo!

th3dude
fuente
6

No solo copiaría /etcen caso de ligeras diferencias entre los requisitos de configuración para las compilaciones de paquetes de 64 bits, sino que tomaría una copia y luego diffla copia en el sistema de 64 pero recién instalado funcionaría. Lo más probable es que el número de cambios no sea masivo, por lo que hacer esto y hacer los cambios necesarios manualmente no será una gran dificultad.

Sin /etcembargo, copiar como sugieres debería funcionar bien, solo lo haría por el camino más largo en aras de la paranoia. La copia /home, el área principal de preocupación cuando se migra de una instalación a otra, es más probable que sea completamente segura.

Si solo está buscando pasar a 64 bits para usar más RAM en lugar de porque necesita usar específicamente aplicaciones de 64 bits, entonces puede usar un núcleo de 64 bits con un espacio de usuario de 32 bits. Debian en realidad proporciona paquetes de kernel a64 en sus repositorios i386, por lo que se puede hacer tan simple como aptitude install linux-image-2.6-amd64, pero Ubuntu desafortunadamente no lo hace, así que tendría que compilar su propio kernel, lo que podría no valer la pena + molestia si no que técnicamente experimentado (es decir, esto es simple, pero solosi ya compiló su propio núcleo, entonces se siente cómodo con el proceso). Si ejecuta un kernel de 64 bits con un usuario de 32 bits, una aplicación individual solo puede acceder a ~ 3Gb como máximo (en algunos casos solo ~ 2Gb), pero al sistema en su conjunto (todos los procesos juntos más las cosas del kernel como IO cache y buffers) puede usar tanto como usted. Cada VM VMWare cuenta como una sola aplicación para estos fines: ejecuto uno de mis hosts VM más antiguos de esta manera (las VM usan ~ 7 Gb en total con kernel de 64 bits, país de usuario de 32 bits y VMWare de 32 bits), ya que fue más rápido que una actualización completa del sistema operativo host de 64 bits cuando actualicé la CPU de la máquina a una con capacidad de 64 bits y agregué RAM adicional; supongo que soluciones VM similares también actuarían de la misma manera.

David Spillett
fuente
¿No es lo mismo que usar el kernel 'linux-image-server' con PAE habilitado?
Kirill V. Lyadvinsky
Tengo entendido que los procesadores basados ​​en AMD64 / compatibles no necesitan cambiar entre modos para ejecutar código de 32 bits y 64 bits juntos, por lo que no hay ineficiencia adicional allí, y no existe la jiggery-pokery de mapeo de memoria que usa PAE o bien (las aplicaciones de 32 bits solo parecen usar los 4 Gb o menos de su espacio de direcciones virtuales). Podría estar equivocado, pero creo que mezclar código de 32 y 64 bits de esta manera para obtener la RAM adicional direccionable es menos ineficiente que PAE.
David Spillett el
6

Reinstalé mi máquina de 32 bits 10.10 a 64 bits 10.10 el mes pasado, sin perder ningún dato. El único truco es elegir herramientas de cambio de tamaño de disco, no formatear todo el disco, cuando reinstales el ubuntu 10.10 de 64 bits.

swcai
fuente
+1. En realidad, también he visto esto (Debian y Ubuntu) y parecía funcionar sin problemas.
0xC0000022L
0

Es probable que ejecutar un área de usuario de 32 bits en un núcleo de 64 bits cause problemas tan pronto como se involucren las instalaciones del sistema. Por ejemplo, usar el libalsa de 32 bits en un núcleo de 64 bits casi funcionará, pero será poco confiable e inestable porque las estructuras de datos ioctl definidas en asound.h tienen diferentes tamaños y arreglos cuando se compilan con arquitecturas de 64 bits y 32 bits.

Por lo tanto, usar jackd -d alsa -X alsaraw (o su equivalente jackd2) abortará con una afirmación fallida al llamar a una utilidad de 32 bits en un núcleo de 64 bits. La operación de audio estándar será mucho menos confiable ya que los recuentos de búfer se interpretan mal.

En general, cualquier estructura de datos del núcleo debe declararse de manera que sus tamaños no difieran entre los núcleos de 32 y 64 bits, o el código de 32 bits debe ser inteligente para usar diferentes definiciones de estructura en correspondencia con la arquitectura del núcleo.

Entonces, en general, es mejor que reinstales desde cero y transfieras tu partición / directorio de inicio.

user754914
fuente
Esto fue preguntado (y respondido) hace más de 7 años. ¿Puede ser un poco más claro sobre la nueva información que trae? Consulte Cómo responder y realice nuestro recorrido .
Burgi