Резервне копіювання всієї ОС


20

Мені потрібно відформатувати весь диск і перевстановити Ubuntu.

Я встановив багато програмного забезпечення в моїй теперішній системі. І мені доведеться перевстановити всі ці оновлення, драйвери та програми теж.

Чи можна створити .iso зображення встановленого Ubuntu разом із усім програмним забезпеченням, налаштуваннями, драйверами тощо?

Чи є якийсь спосіб створити резервну копію всієї ОС разом із усім її програмним забезпеченням, накопичувачами, оновленнями та всіма іншими?


3
Резервне копіювання всієї ОС є вагомим питанням, проте причина, яку ви наводите: "Я повинен відформатувати весь диск і перевстановити Ubuntu", здається дивним. Чому ви хочете відформатувати диск, який у вас є, коли ви хочете все-таки перевстановити все, що ви маєте на ньому?
Мартін

Ви можете подумати про те, чому у Linux є розділи, і ось дуже хороший посібник, щоб поговорити про це: tldp.org/LDP/intro-linux/html/sect_03_01.html#sect_03_01_02
Еліптичний вигляд

Відповіді:


4

Існують різні способи зробити це. Найпростіший - використання ремастери

sudo remastersys dist 

Ви повинні встановити повсюдний пакет перед роботою з remastersys

або ви можете використовувати fsarchiver , повторне резервне копіювання (Live CD)

Як створити резервну копію операційної системи


Ремастерис ..! Воно гойдається ..! Дякую @ jahid65. :)
Avinash Sonawane

Чи працюватимуть ремастери для кубунту?
Силікоманс

21

Можна зробити резервну копію домашнього каталогу та зберегти список усіх встановлених пакунків. Для збереження списку встановленого програмного забезпечення використовуйте таку команду:

sudo dpkg --get-selections > package_list

Це створить файл із переліком усіх пакунків / програмних програм, встановлених у цій системі. Вам потрібно буде створити резервну копію цього файлу в іншому місці.

Потім, перевстановлюючи ubuntu на свій комп'ютер, ви можете скористатися наступною командою для встановлення всього цього програмного забезпечення

sudo dpkg --set-selections < packages_list

Ця команда НЕ буде встановлювати нічого. Він просто позначить пакети для встановлення. Щоб встановити їх, запустіть таку команду:

sudo apt-get -u dselect-upgrade

Це займе час для завершення, оскільки ваша система завантажить та встановить усі пакети. Після завершення цієї команди замініть поточний домашній каталог тим, який ви створили раніше.

Сподіваюсь, це допомагає


але мені не потрібно перевстановлювати пакети в новому встановленому Ubuntu?
Avinash Sonawane

@Avinash: ця команда перевстановить пакети в нещодавно встановленому Ubuntu
Jeremy Kerr

@ Джеремі - я маю на увазі .. ця команда отримає (завантажить) пакунки, а потім встановить їх, або мені не доведеться завантажувати що б я не завантажило зараз? Насправді я не хочу завантажувати нічого, що у мене вже є, оскільки це вимагає значної кількості часу для завантаження цих величезних даних.
Avinash Sonawane

@Avinash: вибачте, забув додати команду для оновлення. Я оновив чек відповіді.
binW

Не зовсім метод, який я використовував би, але загальний ефект той самий.
MBraedley

10

Я відповів "Як налаштувати живий компакт-диск Ubuntu?" із способом створення живих компакт-дисків з поточних установок. Це означає, що вам не потрібно буде завантажувати всі пакунки заново. Цей посібник може здатися довгим і важким, але це здебільшого "слідування" та "копіювання та вставка". Ось це, скопійовано та відредаговане трохи:

Створення живого компакт-диска з існуючої / нової установки

Хорошим способом було б створення живого компакт-диска з поточної установки. Це можна зробити за допомогою віртуальної машини (просто не встановлюйте жодних інструментів 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 деяка інша папка 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
    

    Casper містить живі сценарії. Тепер інсталятор (версія gnome) apt-get install ubiquity ubiquity-frontend-gtk Або якщо ви хочете KDE:

    apt-get install ubiquity ubiquity-frontend-kde
    
  6. Оновіть module.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. Вихід із хроту. 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. Щоб інсталятор не встановлював такі речі, як каспер:

    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. Перетворити на сквош:

    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
    

    (замініть нано на ваш редактор текстових файлів, не має значення) Вставте це та збережіть:

    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- Оскільки я абсолютно новачок, чи є програмне забезпечення для цього? До речі дякую за вашу відповідь.
Avinash Sonawane

@Avinash remastersys та / або Набір для налаштування Ubuntu.
Uri Herrera

@Avinash Sonawane Це буде майже прямий режим "копіювання та вставки", просто візьміть команди та виконайте їх.
nickguletskii

Оскільки я абсолютно новачок .. Я віддав перевагу Remastersys за те, щоб просто скопіювати вставку і занадто багато команд. До речі, ці команди працювали! :) Дякую @nickguletskii :)
Avinash Sonawane

@Avinash Sonawane Немає проблем, і дякую за підтвердження! :)
nickguletskii

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. Це збереже всі розділи, менеджер завантаження тощо.

Будьте обережні, щоб використовувати правильні, якщо (вхідний файл) та (вихідний файл). Вхідним файлом є диск, який ви хочете скопіювати. Якщо ви переключите замовлення, тоді ви будете клонувати порожній диск на повний, який залишить вам два порожніх диска. :)

Також переконайтесь, що на новому диску достатньо місця для клонування першого диска. Інакше його просто відріжуть наприкінці. Попереджень не буде.

Якщо ви хочете створити образ, то просто замініть of=/dev/sdbна of=/some_place/disk-image.raw. Зберігайте його на іншому диску.


У мене немає зайвих зовнішніх hdd. Я просто хочу відновити або створити резервну копію всієї ОС разом з усіма оновленнями, драйверами n все в один .iso файл. так що коли я відформатую свій диск і перевстановлюю Ubuntu, я не буду завантажувати та перевстановлювати величезну кількість даних (програмне забезпечення, драйвери тощо)
Avinash Sonawane

впевнений. Потім, як я вже говорив в останньому рядку: dd, якщо = / dev / disktobackup = somefile.img. Це буде повна копія диска, тому вам доведеться десь зберігати його. ISO-файли називаються тим, що файлова система ISO9660 використовується на CD-ROM. Зазвичай ми називаємо їх сирими або img або чимось, коли ми зображуємо жорсткий диск.
Жо-Ерленд Шінстад

@ jo-erlend, чи буде це працювати, переходячи від одного розділу до іншого? Завантажувач і всілякі речі?
Харі КТ

1

У мене є сценарій, який мігрує установку Ubuntu в інше місце, наприклад, у вашому випадку ви можете перенести її на зовнішній жорсткий диск. Акуратне те, що ви можете самостійно завантажувати його та підтверджувати, що він працює, перш ніж форматувати ваш старий диск. Це точна копія - не потрібно конфігурувати, перевстановлювати чи налаштовувати. Вам просто потрібно підготувати цільовий розділ. (Він також не змінює поточну установку, тому ви можете протестувати перенесений перед форматуванням старого.)

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

(Так, це міграція Wubi, але вона робить і звичайні міграції. Я весь час використовую її для резервного копіювання та відновлення різних установок)


1

Щойно ви отримаєте всі свої дані та перевстановіть, ви можете спробувати скористатися Clonezilla, щоб зробити зображення вашої ОС. Якщо щось піде не так, просто перейдіть до зображення ОС, і ви повернете свою систему туди, де вона була.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.