Skip to main content

Установка Archlinux c полным шифрованием системы и LVM на LUKS

·235 words·2 mins
Stanislav Cherkasov
Author
Stanislav Cherkasov
Architecture | Kubernetes | Terraform
homelab - This article is part of a series.
Part : This Article

В этом посте я поделюсь результатами своих экспериментов с установкой Arch Linux. Цель была собрать систему со следующими параметрами:

  • Без отдельного /boot (просто директория в корте).
  • Корень (/) на LVM.
  • LVM внутри LUKS-контейнера.
  • Загрузка через UEFI.
  • Работа в виртуальной машине.

Disclaimer: Это описание эксперимента, а не best practice руководство.

Разметка дисков
#

Настраиваем время:

timedatectl set-ntp true && timedatectl set-timezone Europe/Moscow

Проверяем диск:

fdisk -l /dev/vda

Нам понадобится:

  1. FAT32 раздел для UEFI (EFI System Partition).
  2. LUKS контейнер на всём остальном пространстве.

Создаем таблицу разделов GPT и разделы через gdisk:

gdisk /dev/vda
# o (create new GPT)
# n (new partition), part 1, +512M, type EF00 (EFI System)
# n (new partition), part 2, rest of disk, type 8300 (Linux filesystem)
# w (write changes)

Создание LUKS-контейнера и файловых систем
#

Форматируем EFI раздел:

mkfs.vfat /dev/vda1

Инициализируем LUKS контейнер на втором разделе:

cryptsetup -v luksFormat /dev/vda2
# Подтверждаем и вводим пароль

Открываем контейнер:

cryptsetup luksOpen /dev/vda2 container

Теперь внутри расшифрованного контейнера (/dev/mapper/container) создаем LVM:

pvcreate /dev/mapper/container
vgcreate rootvg /dev/mapper/container

lvcreate -L1G -n swap rootvg
lvcreate -L5G -n root rootvg
lvcreate -L2G -n home rootvg

Форматируем тома:

mkfs.ext4 -L root /dev/mapper/rootvg-root
mkfs.ext4 -L home /dev/mapper/rootvg-home
mkswap -L swap /dev/mapper/rootvg-swap

Монтируем для установки:

mount /dev/mapper/rootvg-root /mnt/
mkdir -p /mnt/{home,boot/efi}

mount /dev/vda1 /mnt/boot/efi/
mount /dev/mapper/rootvg-home /mnt/home/
swapon /dev/mapper/rootvg-swap

Далее следует стандартная процедура установки Arch Linux (pacstrap, настройки загрузчика), но с учетом особенностей шифрования в хуках mkinitcpio и параметрах ядра.

Looking for a Senior DevOps or DevSecOps?

I help companies modernize their infrastructure, optimize Cloud/On-Premise costs, and build secure DevSecOps cultures.

homelab - This article is part of a series.
Part : This Article