Как установить 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. Красота требует жертв!
Когда Вы обошли еще несколько форумов и наконец стартовали Иксы, и зашли в свой менеджер рабочего стола, откройте терминал и напишите:
Наслаждайтесь!
Надеюсь, моя статья Вам помогла разобрать частые ошибки и настроить систему правильно.
А если вдруг Вы отчаялись поставить Арч самостоятельно, можете использовать мой скрипт с гитхаба. Спасибо за прочтение :)
Ненавижу копирайтинг. Тот самый "правильный" копирайтинг, которому учат на курсах за 50 тысяч. С его формулами AIDA, болевыми точками и призывами к действию.
Пока Батюшка Бизнесменский продолжает делиться кейсами, найденными в интернете, я хочу рассказать о своем реальном опыте продаж цветов к 8 марта.
ЦБ оставил ключевую ставку 21%, сигнал дал умеренно жёсткий, так что и вся неделя получилась жёсткой. Рубль тоже жёсткий, никак не обмякнет. В акциях, облигациях и крипте всё спокойно, а вот недвижка продолжает пробивать обратное дно. Новые максимумы рисует, ещё и льготные ипотеки расширяют. Из позитивного можно выделить новые дивиденды, ну и наш с…
Короче, в какой-то момент каждому из наc кажется что Солнце как-то не так заходит за горизонт и нужно «заменеджерить» закат вручную. На уроне государства это называется - реформа, а в корпорации - управляемые изменения.
Частая проблема бизнес-тренингов для сотрудников компаний – они дают только краткосрочный буст мотивации, нет долгосрочного эффекта в виде прироста компетенций: послушали, что-то записали, но быстро забыли.
Администрация Дональда Трампа сделала ход, которого от нее давно ждали, но все равно удивились: впервые наказала Китай за покупку нефти, попавшей под американские санкции.
Верховный суд рассмотрел спор о взыскании убытков с банка за неисполнение поручения клиента.
Ничего не понятно, но ооочень интересно!
Забыл тег <sarcasm>, но это и не Хабр. А вообще, спасибо, крутая статья. Завтра же попробую накатить на ноут.
Не слушайте никого, статья норм и Арч норм)
Вы правы, т.к. если человек не умеет чем-то пользоваться, скорее всего это не "лыжи не едут" :)
1.) Зачем это здесь?
2.) Чем вам arch wiki не угодила? (Там это все есть)
1 - ради интереса и опыта написания статьи
2 - в вики все супер, но не все размещается в одном месте по этой теме, как хотелось бы. моя статья собрана из разных кусков вики, форумов и опыта. и арч, по ней собранный, точно работает (у меня))
Доброго дня. Спасибо за помогайку, у меня возникает ошибка на пункте 5. Шифрование LUKS.
Все делаю как указано, при вводе команды на шифрование
# cryptsetup -v -y luksFormat --type luks2 /dev/sda3
выдает
Device /dev/sda3 is in use. Can not proceed with format operation.
Command failed with code -1 (wrong or missing parameters).
Не подскажите почему? Кроме самой установки /dev/sda3 ничем не занят.
Версия ARCH 5.11.16. Установку делаю по SSH.
Спасибо.