Данная статья применима к:
- 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 -С /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 -С /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 -С /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 -С /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