Copia de seguridad de todo el sistema operativo

20

Tengo que formatear todo mi disco y reinstalar Ubuntu.

He instalado una gran cantidad de software en mi sistema actual. Y tendré que reinstalar todas esas actualizaciones, controladores y aplicaciones también.

¿Hay alguna manera de hacer una imagen .iso de mi Ubuntu instalado junto con todo el software, preferencias, controladores, etc.?

¿Hay alguna forma de hacer una copia de seguridad de todo mi sistema operativo junto con todo su software, unidades, actualizaciones y todo?

Avinash Sonawane
fuente
3
Hacer una copia de seguridad de todo el sistema operativo es una pregunta válida, sin embargo, la razón que da: "Tengo que formatear todo mi disco y reinstalar Ubuntu" parece extraño. ¿Por qué querrías formatear el disco que tienes cuando quieres reinstalar realmente todo lo que tienes actualmente?
Martin
Es posible que desee pensar por qué Linux tiene particiones, y aquí hay una muy buena guía para hablar sobre esto: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Vista elíptica

Respuestas:

4

Hay varias formas de hacerlo. El más simple es usar remastersys

sudo remastersys dist 

Debe instalar el paquete de ubicuidad antes de trabajar con remastersys

o puede usar fsarchiver , redo-backup (A live cd)

Cómo hacer una copia de seguridad de su sistema operativo

jahid65
fuente
Remastersys ..! ¡Oscila ..! Gracias @ jahid65. :)
Avinash Sonawane
¿Remastersys funcionará para kubuntu?
Silicomancer
21

Lo que puede hacer es hacer una copia de seguridad de su directorio de inicio y guardar una lista de todos los paquetes que ha instalado. Para guardar la lista de software instalado, use el siguiente comando:

sudo dpkg --get-selections > package_list

Esto creará un archivo con una lista de todos los paquetes / softwares que están instalados en este sistema. Deberá hacer una copia de seguridad de este archivo en un lugar seguro.

Luego, cuando reinstales ubuntu en tu máquina, puedes usar el siguiente comando para instalar todo este software

sudo dpkg --set-selections < packages_list

Este comando NO instalará nada. Solo marcará los paquetes para la instalación. Para instalarlos, ejecute el siguiente comando:

sudo apt-get -u dselect-upgrade

Esto tomará tiempo en completarse ya que su sistema descargará e instalará todos los paquetes. Después de completar este comando, reemplace su directorio de inicio actual con el que realizó anteriormente.

Espero que esto ayude

binW
fuente
pero no necesito reinstalar los paquetes en un nuevo Ubuntu instalado?
Avinash Sonawane
@Avinash: ese comando reinstalará los paquetes en el Ubuntu recién instalado
Jeremy Kerr
@ Jeremy, quiero decir ... ¿ese comando buscará (descargará) los paquetes y luego los instalará o no tengo que descargar nada de lo que haya descargado hasta ahora? En realidad, no quiero descargar nada de lo que ya tengo, ya que consume una cantidad considerable de tiempo descargar esta gran cantidad de datos.
Avinash Sonawane
@Avinash: lo siento, olvidé agregar el comando para actualizar. He actualizado la respuesta por favor compruebe.
binW
No es exactamente el método que usaría, pero el efecto general es el mismo.
MBraedley
10

Respondí "¿Cómo personalizar el CD de Ubuntu en vivo?" con una forma de crear CD en vivo a partir de instalaciones actuales. Esto significa que no necesitará descargar todos los paquetes nuevamente. Esta guía puede parecer larga y difícil, pero es principalmente "seguir" y "copiar y pegar". Aquí está, copiado y editado un poco:

Crear un CD en vivo desde una instalación existente / nueva

Una buena manera sería hacer un CD en vivo desde una instalación actual. Esto se puede hacer usando una máquina virtual (simplemente no instale ninguna herramienta VM dentro del SO huésped)

Entonces, primero necesitamos una instalación nueva (si no puede instalarla de verdad, intente usar una máquina virtual) con solo lo que necesita (en su caso, Thunderbird, Samba y SSH). Luego ajustamos el sistema y registramos dónde están los ajustes (por ejemplo, si cambia el fondo de su escritorio, la configuración está en ~ / .gconf o agrega accesos directos de Firefox, están ubicados en ~ / Escritorio). Esto es necesario para el paso 4.

  1. Configure algunas variables:

    export WORK=~/temp
    export CD=~/livecd
    export FORMAT=squashfs
    export FS_DIR=casper
    

    Reemplace ~ / temp con una ruta a un directorio temporal en el que trabajaremos. Reemplace ~ / livecd con una ruta al árbol de CD.

  2. Haz la estructura de la carpeta. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Ahora necesitaremos instalar algunos paquetes:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Ahora copiaremos la instalación actual, modificaremos los indicadores de exclusión para que se ajusten a sus necesidades:

    sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
    --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
    --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
    --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
    --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
    --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
    --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
    / ${WORK}/rootfs
    

    Si tiene una partición de arranque separada, ejecute esto: sudo cp -av /boot/* ${WORK}/rootfs/boot
    si desea copiar sus configuraciones y archivos de usuario, modifique esta lista según sea necesario: CONFIG = '. Config .gconf Desktop alguna otra carpeta y otra carpeta' Y ahora copiamos sus configuraciones y archivos:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Ahora ingresamos al nuevo sistema y lo modificamos.

    sudo mount  --bind /dev/ ${WORK}/rootfs/dev
    sudo mount -t proc proc ${WORK}/rootfs/proc
    sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
    sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
    sudo chroot ${WORK}/rootfs /bin/bash
    

    Los siguientes comandos se realizan en chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Casper contiene scripts en vivo. Ahora el instalador (versión gnome) apt-get install ubiquity ubiquity-frontend-gtk O si quieres KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Actualizar modules.dep e initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Elimine usuarios que no son del sistema: no se preocupe, hemos copiado la configuración y los datos en el "esqueleto" de los usuarios. Eso significa que todos los nuevos usuarios los tendrán.

    for i in `cat /etc/passwd | awk -F":" '{print $1}'`
    do
        uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
        [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
    done
    
  8. Limpiar:

    apt-get clean
    find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
    find /var/log -type f | while read file
    do
        cat /dev/null | tee $file
    done
    rm /etc/resolv.conf /etc/hostname
    
  9. Salir de chroot. exit

  10. Ahora copiamos el núcleo:

    export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
    sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
    sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
    sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
    
  11. Para que el instalador no instale cosas como casper:

    sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
    sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
    REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
    for i in $REMOVE 
    do
        sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
    done        
    
  12. Desmonta lo que hemos montado:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Convierte a squashfs:

    sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
    
  14. Hacer filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. Y md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. Ahora grub.cfg:

    sudo nano ${CD}/boot/grub/grub.cfg
    

    (reemplace nano con su editor de texto favorito, no importa) Pegue esto y guarde:

    set default="0"
    set timeout=10
    
    menuentry "Ubuntu GUI" {
    linux /boot/vmlinuz boot=casper quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu in safe mode" {
    linux /boot/vmlinuz boot=casper xforcevesa quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu CLI" {
    linux /boot/vmlinuz boot=casper textonly quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI persistent mode" {
    linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Ubuntu GUI from RAM" {
    linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
    initrd /boot/initrd.img
    }
    
    menuentry "Check Disk for Defects" {
    linux /boot/vmlinuz boot=casper integrity-check quiet splash
    initrd /boot/initrd.img
    }
    
    
    menuentry "Memory Test" {
    linux16 /boot/memtest86+.bin
    }
    
    
    menuentry "Boot from the first hard disk" {
    set root=(hd0)
    chainloader +1
    }
    
  17. ¡Haz el CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. ¡Pruébalo con una máquina virtual!

Todo el crédito va a capink, porque la guía es de aquí .

nickguletskii
fuente
@ nickguletskii- Ya que soy completamente un novato, ¿hay algún software para hacer esto? Por cierto, gracias por su respuesta.
Avinash Sonawane
@Avinash remastersys y / o Ubuntu Customization Kit.
Uri Herrera
@Avinash Sonawane Será una rutina sencilla de "copiar y pegar", solo toma los comandos y ejecútalos.
nickguletskii
Como soy totalmente un novato ... Preferí Remastersys en lugar de copiar y pegar y también muchos comandos. Por cierto, estos comandos funcionaron. :) Gracias @nickguletskii :)
Avinash Sonawane
@Avinash Sonawane ¡No hay problema, y ​​gracias por verificar! :)
nickguletskii
5

En China, algunos amigos usan ucloner en Ubuntu para hacer una copia de seguridad del sistema operativo.

https://code.google.com/p/ucloner/

UCloner es una herramienta de copia de seguridad / restauración / clonación diseñada para Ubuntu Linux. De alguna manera es como Norton Ghost para Windows.

Con UCloner puede hacer una copia de seguridad de su sistema Ubuntu en un archivo de imagen squashfs. Directamente desde este archivo de imagen, puede iniciar una PC en un entorno denominado "Live Ubuntu" (necesita el paquete "casper").

Un sistema ubuntu activo puede clonarse en una / s partición (es) de destino con la ayuda de UCloner. ¿Recuerdas al Agente Smith en Matrix? Si eso es.

Tiene línea de comando e interfaz gráfica. Es más flexible cuando se ejecuta en la interfaz de línea de comandos.

UCloner es software libre, distribuido bajo GPL v2.

ingrese la descripción de la imagen aquí

Meteorito
fuente
3

Si tiene Ubuntu instalado en un solo disco duro y tiene otro disco duro de igual o mayor capacidad de almacenamiento, entonces clonar el disco es realmente simple:

sudo dd if=/<from disk> of=<to disk>

Entonces, por ejemplo, si desea clonar sda a sdb, entonces haría sudo dd if=/dev/sda of=/dev/sdb . Eso retendría todas las particiones, gestor de arranque, etc.

Tenga cuidado de usar el if correcto (archivo de entrada) y de (archivo de salida). El archivo de entrada es el disco que desea copiar. Si cambia el orden, clonará el disco vacío en el disco completo, lo que le dejará con dos discos en blanco. :)

También asegúrese de que el nuevo disco tenga espacio suficiente para clonar el primer disco. De lo contrario, se cortará al final. No habrá advertencias.

Si desea crear una imagen, simplemente reemplácela of=/dev/sdbcon of=/some_place/disk-image.raw. Guárdelo en otro disco.

Jo-Erlend Schinstad
fuente
No tengo ningún disco duro externo adicional. Solo quiero restaurar o hacer una copia de seguridad de todo el sistema operativo junto con todas las actualizaciones, controladores y todo en un solo archivo .iso. de manera que cuando voy a formatear mi disco y volver a instalar el Ubuntu no voy a Descargaré y volver a instalar ese enorme cantidad de datos (softwares, drivers, etc.)
Avinash Sonawane
seguro. Entonces, como dije en la última línea: dd if = / dev / disktobackup of = somefile.img. Esa será una copia completa del disco, por lo que tendrá que almacenarla en algún lugar. Los archivos ISO se llaman así debido al sistema de archivos ISO9660 utilizado en los CD-ROM. Por lo general, los llamamos raw o img o algo así cuando imaginamos un disco duro.
Jo-Erlend Schinstad
@ jo-erlend, ¿funcionará moviéndose de una partición a otra? ¿El gestor de arranque y todo tipo de cosas?
Hari KT
1

Tengo un script que migra una instalación de Ubuntu a otra ubicación, por ejemplo, en su caso, podría migrarlo a un disco duro externo. Lo bueno es que puede arrancarlo de forma independiente y confirmar que funciona antes de formatear su disco viejo. Es una copia exacta: no se requiere configuración, reinstalación o ajustes. Solo tiene que preparar la partición de destino. (Tampoco modifica la instalación actual para que pueda probar la migrada antes de formatear la anterior).

http://ubuntuforums.org/showthread.php?t=1519354

(Sí, es la migración de wubi, pero también hace migraciones normales. Lo uso todo el tiempo para hacer copias de seguridad y restaurar diferentes instalaciones)

bcbc
fuente
1

Una vez que obtenga todos sus datos y vuelva a instalarlos, puede intentar usar Clonezilla para tomar una imagen de su sistema operativo. Si algo sale mal, solo ingrese la imagen del sistema operativo y su sistema volverá a donde estaba.

diez
fuente