Данная статья применима к:

  • 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

Для идентификации дисковых разделов с целью их автоматического монтирования ОС Astra Linux по умолчанию использует UUID дисковых разделов. Если в вашей системе для этой цели используются другие параметры следует восстановить их значения (см. описание файла /etc/fstab).
  • Выключить компьютер или отмонтировать носитель с архивом;

  • Извлечь носитель с архивом.

Восстановление

  • Загрузиться на целевой машине с носителя отличного, от того, на который планируется установка клона;

  • Разметить на диске нужные дисковые разделы с помощью команды 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>

Для идентификации дисковых разделов с целью их автоматического монтирования ОС Astra Linux по умолчанию использует UUID дисковых разделов. Если в вашей системе для этой цели используются другие параметры следует восстановить их значения (см. описание файла /etc/fstab).
  • Создать точку монтирования и примонтировать раздел в который хотим распаковать первый архив:

    sudo mkdir /mnt/boot
    sudo mount /dev/sda1 /mnt/boot
    Дисковый раздел, содержащий параметры загрузки (каталог /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
    sudo chown root:root /mnt/root/sys /mnt/root/proc
    sudo chmod 555 /mnt/root/sys /mnt/root/proc
    и, только для ОС, в которых используется мандатный контроль целостности, установить высокую целостность на каталог /mnt/root/proc/:
    sudo pdpl-file :high /mnt/root/proc

  • Если в системе используется загрузчик GRUB, то для восстановления загрузки выполнить следующую команду (предполагается, что раздел /dev/sda1 уже примонтирован в каталог /mnt/boot):

    sudo grub-install --root-directory=/mnt/boot /dev/sda