Резервное копирование всей ОС

20

Я должен отформатировать весь диск и переустановить Ubuntu.

Я установил много программного обеспечения в моей текущей системе. И мне придется переустановить все эти обновления, драйверы и приложения тоже.

Можно ли как-то создать образ .iso моей установленной Ubuntu вместе со всем программным обеспечением, настройками, драйверами и т. Д.?

Можно ли как-нибудь сделать резервную копию всей моей ОС вместе со всем ее программным обеспечением, дисками, обновлениями и всем остальным?

Авинаш Сонаване
источник
3
Резервное копирование всей ОС - правильный вопрос, однако причина, по которой вы даете: «Мне нужно отформатировать весь диск и переустановить Ubuntu», кажется странной. Зачем вам форматировать диск, который у вас есть, если вы все равно хотите переустановить все, что у вас есть на нем?
Мартин
Вы можете подумать о том, почему в linux есть разделы, и вот очень хорошее руководство, чтобы поговорить об этом: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
эллиптическое представление

Ответы:

4

Есть разные способы сделать это. Самый простой - использовать remastersys

sudo remastersys dist 

Вам следует установить пакет ubiquity перед началом работы с remastersys

или вы можете использовать fsarchiver , redo-backup (живой CD)

Как сделать резервную копию вашей операционной системы

jahid65
источник
Remastersys ..! Это круто..! Спасибо @ jahid65. :)
Avinash Sonawane
Будет ли remastersys работать на Kubuntu?
Silicomancer
21

Что вы можете сделать, это сделать резервную копию вашего домашнего каталога и сохранить список всех пакетов, которые вы установили. Чтобы сохранить список установленного программного обеспечения, используйте следующую команду:

sudo dpkg --get-selections > package_list

Это создаст файл со списком всех пакетов / программ, установленных в этой системе. Вам нужно будет сделать резервную копию этого файла в безопасное место.

Затем, когда вы переустановите Ubuntu на своем компьютере, вы можете использовать следующую команду для установки всего этого программного обеспечения.

sudo dpkg --set-selections < packages_list

Эта команда не будет ничего устанавливать. Он просто пометит пакеты для установки. Чтобы установить их, выполните следующую команду:

sudo apt-get -u dselect-upgrade

Это займет время, так как ваша система загрузит и установит все пакеты. После выполнения этой команды замените текущий домашний каталог на тот, который вы ранее создали.

Надеюсь это поможет

binW
источник
но мне не нужно переустанавливать пакеты в новой установленной Ubuntu?
Авинаш Сонавейн
@Avinash: эта команда переустановит пакеты во вновь установленной Ubuntu
Джереми Керр,
@ Джереми - я имею в виду ... эта команда будет загружать (скачивать) пакеты, а затем устанавливать их, или мне не нужно ничего скачивать, что бы я ни скачал до сих пор? На самом деле я не хочу загружать что-либо, что у меня уже есть, так как для загрузки этих огромных данных требуется значительное количество времени.
Авинаш Сонавейн
@Avinash: извините, забыл добавить команду для обновления. Я обновил ответ, пожалуйста, проверьте.
binW
Не совсем тот метод, который я бы использовал, но общий эффект тот же.
MBraedley
10

Я ответил "Как настроить live Ubuntu CD?" с возможностью создания живых компакт-дисков из текущих установок. Это означает, что вам не нужно загружать все пакеты снова. Это руководство может показаться длинным и сложным, но в основном это «следовать» и «копировать и вставлять». Вот оно, скопировано и немного отредактировано:

Создание live CD из существующей / новой установки

Хорошим способом было бы создать live CD из текущей установки. Это можно сделать с помощью виртуальной машины (только не устанавливайте инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее по-настоящему, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где находятся настройки (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

  1. Установите несколько переменных:

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

    Замените ~ / temp на путь к временному каталогу, в котором мы будем работать. Замените ~ / livecd на путь к дереву CD.

  2. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. Теперь нам нужно установить несколько пакетов:

    sudo apt-get install grub2 xorriso squashfs-tools
    
  4. Теперь мы скопируем текущую установку и изменим флаги исключения в соответствии с вашими потребностями:

    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
    

    Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot
    Если вы хотите скопировать свои пользовательские конфигурации и файлы, измените этот список по мере необходимости: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем ваши конфигурации и файлы:

    cd ~ && for i in $CONFIG
    do
    sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
    done        
    
  5. Теперь мы входим в новую систему и модифицируем ее.

    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
    

    Следующие команды выполняются в chroot:

    LANG=
    apt-get update
    apt-get install casper
    

    Каспер содержит живые сценарии. Теперь установщик (версия gnome) apt-get install ubiquity ubiquity-frontend-gtk Или, если вы хотите KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Обновите modules.dep и initramfs:

    depmod -a $(uname -r)
    update-initramfs -u -k $(uname -r)
    
  7. Удалите несистемных пользователей - не переживайте, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи будут иметь их.

    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. Очистить

    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. Выход из chroot. exit

  10. Теперь мы копируем ядро:

    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. Чтобы установщик не устанавливал такие вещи, как 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. Размонтируйте то, что мы смонтировали:

    sudo umount ${WORK}/rootfs/proc
    sudo umount ${WORK}/rootfs/sys
    sudo umount ${WORK}/rootfs/dev/pts
    sudo umount ${WORK}/rootfs/dev
    
  13. Конвертировать в squashfs:

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

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

  16. Теперь grub.cfg:

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

    (замените nano на ваш любимый текстовый редактор, это не имеет значения) Вставьте его и сохраните:

    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. Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. Проверьте это с помощью виртуальной машины!

Вся заслуга идет в capink, потому что руководство отсюда .

nickguletskii
источник
@ nickguletskii- Так как я новичок, есть ли какое-нибудь программное обеспечение для этого? Кстати, спасибо за ваш ответ.
Авинаш Сонавейн
@Avinash remastersys и / или Ubuntu Customization Kit.
Ури Эррера
@Avinash Sonawane Это будет довольно простая процедура «копирования и вставки», просто возьмите команды и выполните их.
Никгулецкий
Так как я новичок ... Я предпочел Remastersys, чем просто копировать n вставок и слишком много команд. Кстати эти команды работали. :) Спасибо @nickguletskii :)
Avinash Sonawane
@ Avinash Sonawane Нет проблем, и спасибо за проверку! :)
никгулецкий
5

В Китае некоторые друзья используют Ucloner в Ubuntu для резервного копирования ОС.

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

UCloner - это инструмент резервного копирования / восстановления / клонирования, разработанный для Ubuntu Linux. В некотором смысле это так же, как Norton Ghost для Windows.

С UCloner вы можете сделать резервную копию вашей системы Ubuntu в файл образа squashfs. Непосредственно из этого файла образа вы можете загрузить компьютер в так называемую среду «Live Ubuntu» (нужен пакет «casper»).

Активная система Ubuntu может клонировать себя в / некоторые целевые разделы с помощью UCloner. Помните агента Смита в Матрице? да вот и все

Он имеет как командную строку, так и графический интерфейс. Это более гибко при работе в интерфейсе командной строки.

UCloner - бесплатное программное обеспечение, распространяемое по лицензии GPL v2.

введите описание изображения здесь

метеор
источник
3

Если у вас установлена ​​Ubuntu на одном жестком диске, и у вас есть другой жесткий диск такой же или большей емкости, то клонирование диска будет действительно простым:

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

Так, например, если вы хотите клонировать sda в sdb, то вы бы это сделали sudo dd if=/dev/sda of=/dev/sdb. Это сохранит все разделы, менеджер загрузки и т. Д.

Будьте осторожны, используйте правильные if (входной файл) и of (выходной файл). Входной файл - это диск, который вы хотите скопировать. Если вы переключите порядок, то вы клонируете пустой диск на полный, и у вас останется два пустых диска. :)

Также убедитесь, что на новом диске достаточно места для клонирования первого диска. В противном случае это будет просто отрублено в конце. Там не будет никаких предупреждений.

Если вы хотите создать изображение, просто замените of=/dev/sdbна of=/some_place/disk-image.raw. Сохраните его на другом диске.

Джо-Эрленд Шинстад
источник
У меня нет никаких дополнительных внешних жестких дисков. Я просто хочу восстановить или сделать резервную копию всей ОС вместе со всеми обновлениями, драйверами и всеми в одном файле .iso. так что когда я отформатирую свой диск и переустановлю Ubuntu, я не буду загружать и переустанавливать этот огромный объем данных (программное обеспечение, драйверы и т. д.)
Avinash Sonawane
конечно. Затем, как я сказал в последней строке: dd if = / dev / disktobackup of = somefile.img. Это будет полная копия диска, поэтому вам придется где-то его хранить. ISO-файлы называются так из-за файловой системы ISO9660, используемой на компакт-дисках. Мы обычно называем их raw, img или что-то, когда создаем образ жесткого диска.
Джо-Эрленд Шинстад
@ jo-erlend так будет ли работать переход с одного раздела на другой? Загрузчик и все такое?
Хари К.Т.
1

У меня есть скрипт, который переносит установку Ubuntu в другое место, например, в вашем случае вы можете перенести его на внешний жесткий диск. Приятно то, что вы можете самостоятельно загрузить его и убедиться, что он работает, прежде чем форматировать старый диск. Это точная копия - не требуется настройка, переустановка или настройка. Вам просто нужно подготовить целевой раздел. (Он также не изменяет текущую установку, поэтому вы можете проверить перенастроенную перед форматированием старой.)

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

(Да, это миграция wubi, но она также выполняет обычные миграции. Я все время использую ее для резервного копирования и восстановления различных установок)

BCBC
источник
1

После того, как вы получите все свои данные и переустановите их, вы можете попробовать использовать Clonezilla для создания образа вашей ОС. Если что-то пойдет не так, просто вставьте образ ОС, и ваша система вернется туда, где она была.

10
источник