¿Cómo puedo duplicar mi entorno Linux si estoy migrando a un hardware diferente?

10

Actualmente tengo paquetes, módulos, configuraciones, etc. para Eclipse, MySQL, Python, Firefox, etc. configurados en Kubuntu. También configuré Kubuntu de manera óptima para mis necesidades. Me gustaría duplicar mi entorno en otra máquina que tenga un procesador diferente (actualmente en un Intel Q9450, el nuevo procesador es un i7). Según tengo entendido, mis aplicaciones están compiladas para su uso con mi procesador específico, por lo que hacer una copia de partición directa está fuera de discusión.

¿Hay alguna forma de duplicar mi entorno en esta otra máquina, salvo reinstalar y reconfigurar todo?

curioso
fuente
Esta pregunta es increíble para mí ... ¡Estaba preguntando lo mismo!
dag729
"Según tengo entendido, mis aplicaciones están compiladas para usar con mi procesador específico": ¿De dónde sacaste esa idea? No conozco ninguna distribución (excepto, por supuesto, Gentoo) que haga eso.
sleske
@sleske: ¿alguna vez has intentado instalar un paquete amd64 en una versión ppc de Debian? ;)
dag729
1
@ dag729: Por supuesto, si cambia la arquitectura del procesador , necesitará nuevos paquetes. Pero Intel Q9450 e i7 son procesadores x86.
sleske
1
Pensé que mi i7 era x86_64. Estoy ejecutando aplicaciones de 64 bits en esta máquina. ¿Soy incorrecto?
curioso

Respuestas:

3

Según tengo entendido, mis aplicaciones están compiladas para su uso con mi procesador específico, por lo que hacer una copia de partición directa está fuera de discusión.

¿Qué te lleva a esta conclusión? Al menos para x86, los paquetes instalados por Kubuntu se compilan para ejecutarse en prácticamente todas las CPU no prehistóricas. Creo que funcionarán con algo más nuevo que un 486, lo que probablemente no representa un problema en su caso :-).

Entonces, una copia de partición directa debería funcionar bien:

  • copiar particiones (o simplemente copiar los archivos usando cp -a, si su diseño de partición cambió)
  • adaptar / etc / fstab al nuevo diseño de partición
  • reconfigura el gestor de arranque para nuevas particiones y reinstala el gestor de arranque
  • arrancar y disfrutar

Solo se esperan problemas para:

  • paquetes autocompilados, pero incluso allí, la mayoría compilará por defecto para todas las CPU modernas, a menos que juegue con opciones de compilación
  • controladores de dispositivo

La mayoría de los núcleos modernos autodetectan hw en el arranque, por lo que incluso los controladores deberían estar bien, pero si las cosas fallan, generalmente puede arrancar en modo de usuario único y solucionar los problemas de los controladores.

sleske
fuente
Si esto funciona, mi vida será mucho más fácil. ¡Gracias! Intentaré esto primero.
curioso
7

Puede tomar su directorio de inicio sin ningún cambio. Casi todo lo que entra en un directorio de inicio está diseñado para ser compartido sobre algo como NFS, por lo que eres bueno.

Además, guarde su selección de paquetes con

sudo dpkg --get-selections '*' >file.txt

y restaurarlo en la otra máquina con

sudo dpkg --set-selections <file.txt

Del mismo modo, guarde su configuración de debconf con

sudo debconf-get-selections >file2.txt

y restaurar con

sudo debconf-set-selections <file2.txt

Para el resto de la configuración en /etcque no es administrado por debconf, es difícil rastrear lo que se cambió manualmente, a menos que haya usado algo como etckeeper (quizás una idea para el futuro). Por esa razón, tiendo a mantener la mayor parte de mi configuración en mi directorio personal. Pero como sabe en qué programas está interesado, debería ser fácil encontrar los archivos relevantes /etcy verificarlos y copiarlos manualmente.

Peter Eisentraut
fuente
1
Sí, si está migrando a una arquitectura diferente, este es el camino a seguir. Como nota al margen: solo haga una copia de / etc / en un lugar seguro, luego puede restaurar selectivamente los archivos de configuración cuando los necesite en el nuevo sistema.
sleske
1

Puede hacer una copia de seguridad de su hogar y restaurarla en la otra máquina. Esto no puede satisfacer completamente su necesidad, pero restaurará toda la configuración. Sin embargo, debe reinstalar los paquetes usted mismo.

phunehehe
fuente
1

La gran mayoría de las configuraciones personalizadas estarán en / home /, y la mayoría del resto en / etc /. algunos de los archivos / etc tienen información específica de la máquina o el hardware (/etc/X11/xorg.conf, / etc / hostname, / etc / fstab en la parte superior de mi cabeza), pero gran parte se puede copiar si usted usarán la misma versión del sistema operativo.

Justin Smith
fuente
De las cosas que enumeró, MySQL es la única que probablemente tendrá una configuración en / etc / es posible que desee copiar, el resto está en / home /
Justin Smith
1

Secundando la cosa get, set select.

Para saber exactamente qué archivos han cambiado, ejecute esto:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  [[ -r $f ]] || continue; m2=$(md5sum "$f") ;
  [[ $m2 != "$m  $f" ]] && echo "$f";
done |xargs -n1 dlocate  |tee ~/edited-conffiles

Si aún no tiene instalado dlocate, puede reemplazarlo dpkg -Su omitir esa parte.

Para hacer una copia de seguridad de todos los archivos conffiles:

dpkg-query --show --showformat='${Conffiles}\n' |sort -u | \
while read f m obsolete; do \
  echo "$f"
done |sudo tar cjf ~/conffiles.tbz2 -T -
Tobu
fuente
1

Hmm Si no le importa un poco de violín, puede conectar el nuevo HDD a su caja, montarlo y luego usar dd. Por ejemplo, si su raíz actual está configurada en / dev / sda3 y montó el nuevo HDD en / dev / sdb2, usaría

dd if=/dev/sda3 of=/dev/sdb2

Tendrás que hacer eso como root, por supuesto. Después de eso, querrás instalar Grub, por lo que debes poner un LiveCD de Ubuntu y usarlo.

O puede echar un vistazo a este enlace: http://www.ehow.com/how_4924091_clone-hard-drive-linux.html - Parece un muy buen recorrido para clonar un disco duro de Linux, aunque no lo he hecho Probé ese sitio yo mismo.

usuario26528
fuente