Найти в Дзене

Когда Linux Плачет: Как сделать Бэкап и Восстановление в Astra Linux CE

Всем привет! 🦝 Недавно, в попытках установить свежий Wine в Astra Linux CE, столкнулся с тем, что часто просто "убивал" систему и её приходилось переустанавливать. Я задался вопросом, а можно ли сделать бэкап и восстановить систему без её переустановки. Давайте разбираться. ❗️❗️❗️ Я знаю, что существует энное количество способов создать резервную копию в Linux. Кто-то даже может её создать силой мысли и размером в 0 байт. В этой статье я бы хотел поделиться своим опытом в создании резервной копии и восстановлении системы из этой копии. На моем канале иногда выходят статьи на около-психологические темы. Так вот, в этой статье я поведаю вам об одном из способов сохранения нервов и поддержания психологического здоровья - создание резервных копий. Если в реальной жизни почти невозможно обернуть всё вспять и исправить ошибки прошлого, то в мире информационных технологий это возможно. И предоставляет такую возможность - создание резервных копий системы, данных или чего-то ещё. Сегодня я в
Оглавление

Всем привет! 🦝 Недавно, в попытках установить свежий Wine в Astra Linux CE, столкнулся с тем, что часто просто "убивал" систему и её приходилось переустанавливать. Я задался вопросом, а можно ли сделать бэкап и восстановить систему без её переустановки. Давайте разбираться.

❗️❗️❗️ Я знаю, что существует энное количество способов создать резервную копию в Linux. Кто-то даже может её создать силой мысли и размером в 0 байт. В этой статье я бы хотел поделиться своим опытом в создании резервной копии и восстановлении системы из этой копии.

🌊вВодная часть

На моем канале иногда выходят статьи на около-психологические темы. Так вот, в этой статье я поведаю вам об одном из способов сохранения нервов и поддержания психологического здоровья - создание резервных копий. Если в реальной жизни почти невозможно обернуть всё вспять и исправить ошибки прошлого, то в мире информационных технологий это возможно. И предоставляет такую возможность - создание резервных копий системы, данных или чего-то ещё.

Грустный енотик, который не создавал резервные копии
Грустный енотик, который не создавал резервные копии

Сегодня я вам расскажу о своем опыте и способе создания резервной копии системы в Astra Linux CE🦝

💽Создание резервной копии

📖вВедение

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

  • /bin : Содержит исполняемые программы, необходимые для базовой системной загрузки.
  • /boot: Содержит загрузочные файлы, необходимые для загрузки операционной системы.
  • /etc: Хранит конфигурационные файлы системы.
  • /lib, /lib32, /lib64: Библиотеки, необходимые для работы программ.
  • /home: Место, где хранятся данные пользователей.
  • /opt: Для установки стороннего программного обеспечения.
  • /root: Домашняя директория пользователя root.
  • /sbin: Содержит системные исполняемые файлы, необходимые для административных задач. Обычно доступно только суперпользователю (root).
  • /srv: Используется для данных, связанных с различными службами сервера.
  • /usr: Вторичная иерархия с данными, программами и библиотеками, доступными пользователям.
  • /var: Содержит переменные данные, такие как логи, кэши, временные файлы.

Давайте создадим резервную копию вышеописанных директорий. Для этого воспользуемся встроенной утилитой для создания архивов tar (Tape Archive). Они используется для архивирования файлов и директорий. Также Tar распространен для создания резервных копий данных.

🗜Монтирование съемного носителя

Я буду создавать резервную копию на обычную флэшку, а её для начала нужно примонтировать. Давайте это сделаем. Подключим флэшку к компьютеру и смотрим как она определилась в системе. В Astra Linux, при подключении съемного носителя, появляется всплывающее окошко.

-3

Исходя из информации всплывающего окошка можно увидеть, что флэшка в системе определилась как sdb1. Проверить как система определила флэшку, можно и другим способом. С помощью команды:

sudo fdisk -l
-4

Здесь видно, что sda это мой основной диск, а sdb это уже флэшка, с одним единственным разделом sdb1. Что ж флэшку мы определили, теперь давайте её примонитруем к системе. Создаем точку монтирования. Точка монтирования - это директория в файловой системе, через которую операционная система предоставляет доступ к содержимому другой файловой системы. Пишем команду

sudo mkdir /mnt/flashka

Этой командой я создал точку монтирования в директории /mnt. И теперь давайте примонитруем флэшку к созданной точке.

sudo mount <путь_до_раздела_флэшки> <точка_монтирования>
sudo mount /dev/sdb1 /mnt/flashka
-5

💾Создание резервной копии

Теперь можно создать резервную копию! 🎉Открываем терминал и пишем команду

sudo tar -cvzf <путь_до_флешки>/<имя_резервной_копии>.tar.gz /bin /boot /etc /lib /lib32 /lib64 /home /opt /root /sbin /srv /usr /var
sudo tar -cvzf /mnt/flashka/backup_01.tar.gz /bin /boot /etc /lib /lib32 /lib64 /home /opt /root /sbin /srv /usr /var

Параметры в команде tar, которые я указал, такие как -cvzf, имеют следующие значения:

  1. c: Означает "create" и используется для создания нового архива. При указании этого параметра tar будет создавать новый архив.
  2. v: Означает "verbose" и используется для вывода подробной информации о процессе архивации. При использовании этого параметра tar будет выводить все действия, которые он выполняет.
  3. z: Означает, что архив будет сжат с использованием gzip. Это позволяет уменьшить размер архива, что особенно полезно при архивировании больших файлов.
  4. f: Следует за этим параметром имя архива. В данном случае, он используется для указания имени файла архива после определения параметров архивации.

📤Восстановление из резервной копии

Поздравляю, резервная копия создана! 🎉 А теперь попробуем наворотить, так сказать, "делов" и немного "убить" систему... А после попробуем восстановить систему из резервной копии.

🌚Убиваем систему

Тут всё довольно просто. Имя привилегии root доступа, систему можно убить одной командой, но я выбрал более изощрённый способ, отлично подходящий для Astra Linux CE. Я попробую обновить библиотеки libc6 до версии 2.36. Astra не воспримет эти пакеты, а я буду пытаться накатить эти пакеты до тех пор, пока не случиться это:

PAM (Pluggable Authentication Modules) отвалился
PAM (Pluggable Authentication Modules) отвалился

PAM (Pluggable Authentication Modules) модуль аутентификации и авторизации в UNIX-подобных операционных системах. И в данном случае из-за неправильных действий связанных с установкой библиотек libc6, он перестал корректно работать. А это значит, что даже после перезагрузки мы не авторизуемся в системе.

-7

Результат весьма впечатляющий. А теперь давайте восстанавливаться 🦝

-8

🌝Перезагрузка в режим восстановления

Для перезагрузки в режим восстановления нам потребуется LiveCD с образом установленной системы. Так как я выполняю действия на виртуальной машине, то мне нужно просто добавить ISO образ системы в раздел Носители

-9

Далее загружаемся с этого образа. На реальном железе нужно было бы загрузиться с флэшки и выбираем Режим восстановления.

-10

Соглашаемся с лицензией

-11

Выбираем удобный для нас способ переключения раскладки клавиатуры

-12

После недолгой загрузки понадобиться ввести имя компьютера

-13

Далее понадобиться выбрать часовой пояс и наконец выбрать раздел, который будет использован в качестве корневой системы. Я выбрал свой основной sda1

-14

И теперь производим запуск оболочки в этом разделе

-15

Поздравляю🎉, мы в режиме восстановления системы

-16

🗜Монтирование съемного носителя

Теперь нам снова потребуется примонтировать нашу флэшку к системе. Подключаем её к компьютеру и проверяем как она определилась в системе.

fdisk -l
-17

Отлично! Флэшка определилась точно так же. Теперь точно так же и примонтируем её. Только на этот раз, если вы не удаляли директорию (ту самую точку монтирования), точку монтирования создавать не нужно, и я сразу монтирую флэшку.

mount /dev/sdb1 /mnt/flashka

-18

Готово! Приступаем к восстановлению системы.

🚑Восстановление системы

Для проведения процедуры восстановления из резервной копии, нам потребуется всего одна команда:

tar -xvzf <путь_до_резервной_копии>.tar.gz -C /
tar -xvzf /mnt/flashka/backup_00.tar.gz -C /

Немного о параметрах этой команды

  • x - означает извлечение файлов из архива;
  • v - означает подробный вывод (verbose), чтобы отображать процесс извлечения файлов;
  • z - указывает tar на использование gzip для распаковки и прочтения сжатого архива;
  • f - означает, что следующий аргумент (в данном случае /mnt/flashka/backup_00.tar.gz) указывает имя или путь к архивному файлу;
  • -C / - это опция для указания каталога, в который необходимо извлечь содержимое архива (в данном случае это корневой каталог "/").

Теперь останется только подождать когда все скопируется и перезагрузиться в систему.

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

exit

И выбираем перезагрузку системы, предварительно не забудьте извлечь LiveCD или же отключить ISO образ из носителей в виртуальной машине.

-19

И ура! Восстановление прошло успешно

-20

Я не гарантирую, что данный способ прокатит и на других дистрибутивах Linux. Но возможно данный материал натолкнет вас на некоторые мысли. Я обязательно проверю это на Arch Linux 😏

А на сегодня всё! 🦝 Всем удачи и не забывайте делать бэкапы, берегите нервы!

-21