Как установить Arch Linux+LVM: устраняем популярные ошибки
Многие пользователи ОС Linux рано или поздно желают перейти на более удобный и настраиваемый дистрибутив, нежели тот, который они использовали раньше. В этой статье я расскажу вам, как установить Arch с шифрованным LVM с разбором ошибок, с которыми Вы можете столкнуться в начале.
Поехали!
0. Создание загрузочной флешки
Если Вы используете виртуальную машину (что я очень советую сделать перед установкой арча на реальную машину), то этот этап можно опустить. Иначе, скачиваем iso образ с официального сайта и проверяем его контрольные суммы:
- Для Windows, образ прожигается в программе Rufus.
- Для Linux, вставляем флешку и пишем в терминале:
Загружаемся с этой флешки и переходим к следующему этапу.
1. Подключение к интернету
Здесь чаще всего юзер сталкивается с проблемой, если использует образ без wifi-menu, который мы так любили. Но ничего страшного, у нас есть iwctl или проводное соединение (надеюсь!)
При использовании wifi, сначала узнаем имя девайса, после чего подключимся к нему, написав имя девайса (например, wlp8s0), пароль и ssid БЕЗ кавычек:
При использовании провода, проблем возникать не должно. Настроили? Пингуем!
Не забудьте прервать пинг командой Ctrl+C, если засмотрелись на выполненный пункт работы =)
Иначе идем сюда и делаем по инструкции:
2. Успешный старт
Подгрузим русский язык, проверим драйвера, обновим ключи на всякий случай (последние 4 команды можно не выполнять):
3. Разметка диска
Некоторые шифруют перед разметкой, например в этой статье. Мы так делать не будем.
Я предпочитаю инструмент cfdisk, в нем все управляется с клавиатуры. Создаем в нем три раздела: под boot, под swap и под LVM. При желании, закиньте раздел подкачки swap под LVM, но я буду делать вот так:
Если Вы используете UEFI, то выбирайте метку gpt и тип раздела boot — EFI Sysytem, если у Вас Legacy boot, то метку dos, тип 83 и флажок bootable:
Не забудьте записать изменения (Write) и проверить разметку командой
Если что-то не так, идем и делаем разметку заново.
4. Монтируем и создаем логический объем
Внимание! Здесь и далее я использую название жесткого /dev/sda. Если у Вас SSD или виртуальный диск, уточните его название в fdisk -l и используйте его.
Домонтируем остальное (можно использовать другую файловую систему, кроме ext4, например f2fs или btrfs):
5. Шифрование LUKS
Здесь есть несколько вариаций, как шифровать логический объем на /dev/sda3. Мы используем luks2 формат, детальный, с запросом пароля, без лишних ключей:
После чего нас спросят что-то о разрушении всех данных (но у нас ведь их нет, не страшно, пишем YES большими буквами) и запросят пароль, который будет вводиться при загрузке устройства. Подробнее о ключах тут:
6. Установка базовой системы, таблица
Здесь будем очень внимательны и предварительно сменим зеркала на самые ближние. Можно вручную прописать в файле /etc/pacman.d/mirrorlist русский яндекс сервер и еще пару штук серверов.
Если первая команда начинает давать сбой, прерываем ее Ctrl+C и идем проверять пинг и зеркала еще раз.
7. Chroot (change root)
Здесь важнее всего строка №3, остальные нужны для предотвращения ошибки WARNING: Failed to connect lvmetad... WARNING: Device /dev/nvme0n1 not initialized in udev database...
Если на этом этапе возникает проблема (что часто бывает), перепроверяем вывод команд mount, lsblk, pvdisplay, vgdisplay, lvdisplay. Монтируем разделы заново, если что-то не так, как задумывалось.
Добавляем волшебный /bin/bash в конце команды, чтоб заработало. :)
В случае успеха у нас с вами меняется приглашение в терминал (появляются квадратные скобочки).
А если не пингует, возвращаемся к пункту 1.
8. Настройка системы
Настроим время, язык, локали:
Выше команды описаны довольно кустарно, но Вы можете открывать файлы /etc/locale.gen, /etc/locale.conf, /etc/vconsole.conf и прописывать всё ручками. Прямо как написано в Вики.
После чего зададим имя компьютеру и юзеру, дадим юзеру и супер-юзеру пароль, добавим юзера в группу wheel:
Чтобы иметь возможность использовать sudo, раскомментируем в файле /etc/sudoers строчку % wheel ALL=(ALL) ALL'.
Можем раскомментировать другую, чтоб выполнять что угодно без пароля, но это противоречит логике распределения прав, так что идем дальше.
9. Загрузчик
Если используем UEFI:
GRUB:
UEFI-GRUB (зачем? не знаю, на вкус и цвет):
10. Образ mkinitcpio и др.
После этого добавим intel/amd ucode, чтоб потом не мучаться с проблемами отсутствия звука:
Если у нас внезапно оказалось несколько ОС и мы их еще не форматировали и не убил, поставим os-prober.
Редактируем /etc/mkinitcpio.conf, и в HOOKS добавляем lvm2 — перед filesystems:
# usr, fsck and shutdown hooks. class="cdx-marked-text marked-text">HOOKS=\«base udev autodetect modconf block lvm2 filesystems keyboard fsck\»
Опционально: добавим репозиторий multilib для работы с 32-битными пакетами (обычно он не нужен). Если нужен, выполняем следующую команду и раскомментируем строки [multilib] и Include = /etc/pacman.d/mirrorlist после нее.
11. Иксы, менеджер рабочего стола
Здесь ради примера я покажу, как настроить GNOME 3 и XFCE, т.к. они просты и приятны в использовании. Для начала обновимся:
GNOME:
XFCE:
12. Выход из chroot
В принципе, мы уже всё сделали. Установим на всякий случай firefox, networkmanager и neofetch (последний — исключительно для красоты).
Теперь у нас не должно быть проблем с интернетом. Чтобы все было так же славно и со звуком, ставим:
И заполняем этот файлик в соответствии с требованиями wiki.
И выходим!
При перезагрузке выбираем Boot existing OS.
Хотелось бы язвительно сказать «Готово!» и послать Вас изучать форумы со своими проблемами, но позволю себе совет: если Вы увидели меню GRUB, и система не загрузилась:
- идем обратно в Boot Arch Linux
- монтируем разделы как показано в пункте 4
- генерируем (или проверяем) таблицу разделов как в пункте 6
- chroot’имся как в пункте 7
- создаем новый образ с помощью grub-mkconfig, как в пункте 9
- exit, reboot
13. Красота требует жертв!
Когда Вы обошли еще несколько форумов и наконец стартовали Иксы, и зашли в свой менеджер рабочего стола, откройте терминал и напишите:
Наслаждайтесь!
Надеюсь, моя статья Вам помогла разобрать частые ошибки и настроить систему правильно.
А если вдруг Вы отчаялись поставить Арч самостоятельно, можете использовать мой скрипт с гитхаба. Спасибо за прочтение :)