Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Подготовка
Для создания промежуточной копии необходимо наличие носителя, имеющего достаточно свободного пространства для сохранения создаваемых промежуточных архивов.
Далее предполагается, что переносимая ОС установлена на компьютер, обеспечивающий возможно подключения такого носителя.
Архивирование
Загрузить ОС с другого носителя (live-usb, cd, другой дисковый раздел);
Определить нужные диск и разделы с помощью команды:
sudo fdisk -lдля примера допустим, что разделы, которые нужно сохранить sdb1 и sdb2 и что раздел для сохранения образа - sdc1
Создать точку монтирования и примонтировать хранилище для сохранения данных:
sudo mkdir /mnt/arh
sudo mount /dev/sdc1 /mnt/arhСоздать точку монтирования и примонтировать раздел, который хотим сохранить:
sudo mkdir /mnt/boot
sudo mount /dev/sdb1 /mnt/boot
Для Astra Linux Special Edition РУСБ.10015-16 исп. 2 и Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) можно воспользоваться установочным USB-накопителем:
- Загрузиться с установочного USB-накопителя;
- После появления выбора "графический\текстовый" переключиться на другую консоль, в которой выполнить необходимые действия;
При этом можно в качестве хранилища использовать загрузочный USB-накопитель, для чего выполнить команды:
sudo mount -o remount,rw /lib/live/mount/mediumи, далее, использовать каталог /lib/live/mount/medium вместо каталога /mnt/arh
Перейти в примонтированный раздел и заархивировать этот раздел в хранилище:
sudo tar --xattrs --acls -czpf /mnt/arh/boot.tar.bz2 --exclude=/mnt/boot/lost+found /mnt/bootСоздать ещё одну точку монтирования и примонтировать следующий раздел который хотим сохранить:
sudo mkdir /mnt/root
sudo mount /dev/sdb2 /mnt/rootПерейти в этот раздел и также заархивировать раздел в хранилище:
sudo tar --xattrs --acls -czpf /mnt/arh/root.tar.bz2 --exclude=/mnt/root/proc --exclude=/mnt/root/lost+found --exclude=/mnt/root/mnt --exclude=/mnt/root/sys --exclude=/mnt/root/parsecfs /mnt/root
Сохранить универсальные уникальные идентификаторы (UUID) дисков на то же хранилище:
sudo blkid > /mnt/arh/id.txt
- Выключить компьютер или отмонтировать носитель с архивом;
- Извлечь носитель с архивом.
Восстановление
- Загрузиться на целевой машине с носителя отличного, от того, на который планируется установка клона;
Разметить на диске нужные дисковые разделы с помощью команды fdisk или с помощью графического редактора дисковых разделов gparted.
Размеры разделов должны позволить распаковать туда соответствующие архивы.Для примера допустим, что созданы разделы sda1 и sda2, а раздел sdb1 содержит созданные ранее архивы.
Если какой-то из разделов предназначен для загрузки - то он должен быть помечен как загрузочный.
Для Astra Linux Special Edition РУСБ.10015-16 исп. 2 и Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) можно воспользоваться установочным USB-накопителем:
- загрузиться с этого накопителя;
- после появления выбора "графический\текстовый" переключиться на другую консоль;
- выполнить дальнейшие действия.
Для этих ОС раздел для /boot должен быть отформатирован как ext2
создать точку монтирования и примонтировать хранилище на котором сохранены архивы:
mkdir /mnt/arh
mount /dev/sdb1 /mnt/arh
Определить нужные нам универсальные уникальные идентификаторы (UUID) и назначить их соответствующим дисковым разделам:
cat /mnt/arh/id.txt
sudo tune2fs /dev/sda1 -U <UUID>
sudo tune2fs /dev/sda2 -U <UUID>
Создать точку монтирования и примонтировать раздел в который хотим распаковать первый архив:
sudo mkdir /mnt/bootДисковый раздел, содержащий параметры загрузки (каталог /boot) после восстановления желательно не размонтировать, чтобы позже использовать его для восстановления загрузки (см. ниже).
sudo mount /dev/sda1 /mnt/boot
Если восстановление производится на машине с мандатным управлнением доступом, то для распаковки использовать следующий сценарий (подробнее см. Архивирование и восстановление файлов с сохранением мандатных атрибутов):
sudo -i
echo 1 > /parsecfs/unsecure_setxattr
/usr/sbin/execaps -c 0x1000 -- tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /mnt/arh/boot.tar.bz2 -C /mnt/boot
echo 0 > /parsecfs/unsecure_setxattr
exit
Для Astra Linux Common Edition и других ОС, не использующих мандатное управление доступом, достаточно просто распаковать архив:sudo tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /mnt/arh/boot.tar.bz2 -C /mnt/bootСоздать точку монтирования и примонтировать раздел в который хотим распаковать следующий архив:
sudo mkdir /mnt/root
sudo mount /dev/sda2 /mnt/rootРаспаковка второго архива выполняется так же, как и первого, отличие только в именах архива и целевого каталога.
Для Astra Linux Common Edition и других ОС, не использующих мандатное управление доступом, достаточно просто распаковать архив:sudo tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /mnt/arh/root.tar.bz2 -C /mnt/rootЕсли восстановление производится на машине с мандатным управлением доступом, то для распаковки использовать сценарий вида:
sudo -i
echo 1 > /parsecfs/unsecure_setxattr
/usr/sbin/execaps -c 0x1000 -- tar --xattrs --xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} --acls -xzf /mnt/arh/root.tar.bz2 -C /mnt/root
echo 0 > /parsecfs/unsecure_setxattr
exitЕсли производится восстановление системного дискового раздела (корневого каталога файловой системы), то восстановить исключенные при архивировании каталоги /sys и /proc, назначив им нужные права доступа :
sudo mkdir /mnt/root/sys /mnt/root/procи, только для ОС, в которых используется мандатный контроль целостности, установить высокую целостность на каталог /mnt/root/proc/:
sudo chown root:root /mnt/root/sys /mnt/root/proc
sudo chmod 555 /mnt/root/sys /mnt/root/procsudo pdpl-file :high /mnt/root/proc
Если в системе используется загрузчик GRUB, то для восстановления загрузки выполнить следующую команду (предполагается, что раздел /dev/sda1 уже примонтирован в каталог /mnt/boot):
sudo grub-install --root-directory=/mnt/boot /dev/sda