Восстановление системы из бэкапа

Совсем недавно опубликовал статью по Бэкапу системы на примере дистрибутива Ubuntu. И данная статья будет неким продолжением 🙂 Как и прошлая статья, эта подойдёт и для других дистрибутивов Linux, но будет рассмотрен пример восстановления системы из ранее сделанного бэкапа системы Ubuntu.

Опять же, прошу ознакомиться со статьёй полностью. Приступим:

 

 

Не буду расписывать всё досканально, как это было в предыдущей статье, а лишь опишу основной принцип действия.

Для начала запускаем диск с Ubuntu и запускаем систему без установки (при этом ЖД с архивом уже должен быть подключен к компьютеру, а если архив на флешке или USB ЖД, то подключить можно после полной загрузки системы).

Открываем терминал (консоль) и сразу выполняем команду sudo -s.

По уже известному принципу монтируем нужные разделы в ранее созданные папки:

# fdisk -l (вывод списка ЖД)

# mkdir папка (создание папки)

# mount /dev/sd** /media/папка (монтирование раздела в папку)

# cd папка (переход в папку)

На этом этапе обязательно перейти в раздел, куда мы будем распаковывать архив.

И теперь переходим к распаковке архива:

Необходимо скопировать архив в раздел, куда будем его распаковывать:

# cp [исходное место архива] [папка, куда будем распаковывать архив]

Процесс распаковки:

# tar -xzpsf backup.tgz

После того, как мы распаковали архив с бэкапом, необходимо установить загрузчик для системы и отредактировать некоторые файлы, для полноценной работы восстановленной системы.

# grub-install —root-directory=/media/bubunta /dev/sda

(/media/bubunta или другой путь — это папка, куда мы распаковали наш бэкап

/dev/sda — имя ЖД (может отличаться последней буквой. поэтому командой fdisk -l удостоверьтесь, что именно на этот диск вы распаковывали бэкап))

Этой командой узнаём uuid разделов:

# ls -l /dev/disk/by-uuid

Примерный вывод:

# ls -l /dev/disk/by-uuid

итого 0

lrwxrwxrwx 1 root root 10 2011-03-26 20:22 c7eb3dfa-00da-4997-ae2a-3c8c686e73f1 -> ../../sda5

lrwxrwxrwx 1 root root 10 2011-03-26 20:22 fe7c68b3-2dd3-4b12-ad38-2250d44f3fea -> ../../sda1

Обратите внимание на имена разделов: sda5 и sda1. В вашем случае нужно выбрать ту строку, к какому относится ваш раздел (поможет, опять же, команда fdisk -l).

На этих этапах нужно быть предельно осторожным и внимательным!

Скопируйте нужный uuid и приступайте к редактированию некоторых файлов:

# gedit boot/grub/grub.cfg

Обратите внимание, что Вы должны находится всё в той же дирректории, куда распаковывали бэкап.

Думаю, уже понятно, что нужно сделать. Необходимо, все старые uuid заменить на новые (поможет «поиск с заменой» в редакторе gedit).

Отредактируем еще один файл:

# gedit etc/fstab

Делайте тоже, самое что и с предыдущим файлом. И на этом всё. Теперь можно загрузиться с диска, куда мы восстановили систему.

Если вы удосужились создать раздел swap, но в восстановленной системе видите, что он не подключился, выполните пару действий:

gedit /etc/fstab

И добавьте строку:

/dev/sda5       none            swap    sw              0       0

Естественно, вместо /dev/sda5 имя вашего swap раздела, который можно узнать командой fdisk -l

И теперь только подключить его:

swapon /dev/sda5

Опять же имя раздела своё!

Спасибо за внимание!

Бэкап системы в Ubuntu

Данная статья, судя по тому, к какой рубрике она относится, подойдет для большинства пользователей дистрибутива: Ubuntu.

P.S. Также пойдёт и для пользователей всех дистрибутивов Linux. Отличием будет команда для «рут» доступа… Но данная, статья будет рассматривать весь процесс на Ubuntu, для полного изучения метода архивации системы.

Предисловие:

Часто бывает так, что, установив огромное количество программ (игр, скриптов и т.д.), приходит мысль: «Как мне дальше жить с этим мусором 🙁  «. Мы расстраиваемся, впадаем в депрессию из-за того, что нельзя всё вернуть обратно, как это было в недалёкие времена, когда система летала как ласточка и, работа за компьютером доставляла удовольствие.  И тогда на помощь приходит такое понятие как Бэкап системы (или Резервное копирование). Подробно рассмотрим один из способов, как сделать резервную копию нашей системы, с возможностью последующего восстановления.

Обратите особое внимание на всё, что написано курсивом. Таким образом буду указывать важные указания, пометки или рекомендации. Стоит дословно ознакомиться со всей статьёй сразу, чтобы избежать каких либо ошибок в будущем.

Подготовка:

Итак, у нас есть установленная система: Ubuntu, установочный диск с возможностью загрузки системы без установки, и место, куда мы сохраним архив с Ubuntu (флешка или жесткий диск).

Следует заметить, что свободного места на флешке или жестком диске должно хватить для того, чтобы разместить архив (свеже-установленная система «весит» максимум 3 гигабайта; т.е. примерный вес архива, с учетом сжатия, будет иметь «вес» 1.5 гигабайта).

Для начала запустим установочный диск с Ubuntu, и после выбора языка, запускаем «убунту» без установки (Запустить Ubuntu без установки):

После полной загрузки приступаем к следующему этапу:

Бэкап:

Запускаем консоль (терминал) сочетанием клавиш:

Ctrl+Alt+T

Либо через меню:

Открылся терминал:

Последний символ приветствия строки в терминале: $, означает, что все последующие действия будут от имени действующего пользователя ubuntu.

Теперь для большинства следующих действий потребуются права владельца, поэтому выполняем команду:

$ sudo -s

И теперь последний символ строки будет: # , что означает — права владельца.

Далее выполним команду:

# fdisk -l

для того, чтобы вывести список всех жестких дисков.

Примерный результат выполнения данной команды:

На скриншоте мы видим два жестких диска: /dev/sda и /dev/sdb.

Внимательно следите за буквами и номерами разделов!

На примере: /dev/sda — диск для размещения бэкапа.

/dev/sdb — диск с разделами Linux (нашей Ubuntu) и swap (раздел для «подкачки»).

Если Вы также будете использовать сторонний ЖД (жесткий диск), то подключить его необходимо еще до загрузки компьютера (при выключенном питании). Если же использовать флешку или USB ЖД, то будет немного легче (меньше манипуляций).

Теперь примонтируем необходимые разделы. Судя по примеру, раздел с Ubuntu находится на диске /dev/sdb в разделе /dev/sdb1. Поэтому примонтируем раздел с «убунтой» в какую нибудь папку (перед этим создадим её):

# mkdir /media/bubunta

Создали папку /media/bubunta.

# mount /dev/sdb1 /media/bubunta

Примонтировали «убунту» в папку /media/bubunta.

Следующий пункт, для тех кто будет использовать сторонний ЖД вместо флешки (или USB ЖД):

Также монтируем раздел для бэкапа в папку (перед этим создадим её):

# mkdir /media/backup

# mount /dev/sda1 /media/backup

Теперь проверим наличие созданных нами папок (и ради интереса проверим и размер папок):

# ls /media

# du -sh /media/*

Создадим файл со списком дирректорий, которые не хотелось бы бэкапить:

# gedit /media/backup/exclude

Если используем флешку или USB ЖД, то указываем другие пути.

И запишем следующие дирректории (данные дирректории обязательны!):

proc/*

sys/*

tmp/*

Если у вас есть папки, которые Вы бы не хотели бэкапить, то также занесите и их в этот список.

Нажмите кнопку Save, чтобы сохранить файл, и закройте окно редактора.

Далее перейдем в папку с Ubuntu, для последующего создания бэкапа:

# cd /media/bubunta

Перед тем, как приступить к архивации, выньте все сторонние устройства из компьютера.

И приступим к архивации:

# tar -X /media/backup/exclude -czf /media/backup/backup.tgz *

Флагом -X указываем путь к файлу (/media/backup/exclude), исключающего список дирректорий для архивации;

Флагом -czf: с — создание архива;

z — gzip способ архивации;

f — для указания пути архива;

Остается только ждать, пока закончится архивация 🙂

И на этом всё. Архив готов. Теперь можно хранить архив, до неблагоприятных времен.

[spoiler name=»Соберу все команды в небольшой список, для того чтобы удобно было распечатать:»]

Запуск консоли:

Ctrl+Alt+T

«Рутовские» права:

$ sudo -s

Вывод всех ЖД:

# fdisk -l

Создание папок:

# mkdir /media/bubunta

# mkdir /media/backup

(mkdir папка)

Монтирование разделов:

# mount /dev/sdb1 /media/bubunta

# mount /dev/sda1 /media/backup

(mount раздел папка)

Содержимое дирректории и «вес»:

# ls /media

# du -sh /media/*

(ls папка; du -sh папка)

Редактирование текстовых файлов:

# gedit /media/backup/exclude

(gedit путь к файлу)

Обязательные дирректории для игнорирования:

proc/*

sys/*

tmp/*

Переход в дирректорию:

# cd /media/bubunta

(cd папка)

Архивация:

# tar -X /media/backup/exclude -czf /media/backup/backup.tgz *

(tar -X файл-исключение -czf путь к создаваемому архиву *(указание на то, что будет производится архивация всех файлов и папок в дирректории, которой находишся))

[/spoiler]

Выражаю огромную благодарность Артёму (ShiftBHT), за любезно предоставленный принцип резервного копирования системы и поправки в статье.

В связи с большим содержанием данной статьи, статью о восстановлении из архива, решил написать отдельно.

Спасибо за терпение и внимание!