[Из песочницы] Методы проб и установки Arch Linux
Сейчас речь пойдет об установке в различных вариантах такого небезызвестного дистрибутива линукса — Arch Linux. На момент написания статьи он занимает на distrowatch почётное 12-е место по количеству поисковых запросов за 6 месяцев с почётной средней оценкой самого дистрибутива 9.3/10. Многие считают его настоящим линуксом, для настоящих программистов, но знаменит он в первую очередь не этим, а своим нетривиальным процессом установки. Запуская загрузочный носитель пользователь в первую очередь видит отнюдь не привычный интерфейс в стиле «нажмите сюда, чтобы установить X», а большое черное окно в мир линукса.
Надежда на графический интерфейс для настройки/использования Вашей системы в конце концов принесет пользователю только проблемы. В какой-то момент времени пользователь почувствует, что ему нужно знать, что скрывает графический интерфейс…
Наверное, это самый безопасный способ попробовать свои силы в установке этой системы или, по крайней мере, хороший способ »отрепетировать» установку рядом вместо Windows, другого Linux или MacOS. Пользоваться лично я буду лицензионным VMware Workstation Pro 14…
Но подойдет в целом и любая другая программа для работы с виртуалками.
Для начала нам потребуется свежий iso-образ, скачанный с archlinux.org
Скачали? Круто!
Создаём с ним новую виртуальную машину. Отдаём памяти, сколько не жалко, запускаем и открываем гайд в интернете читаем дальше.
Для установки системы нам потребуется соединение с интернетом, которое при стандартных настройках новой виртуалки должно быть. Проверяем с помощьюping google.com
Потом нам необходимо разметить диск. Для этого в образе, что мы запустили, присутствуют несколько утилит, например cfdisk, fdisk, gdisk, cgdisk, partitionmanager, parted, gparted… Список можно продолжать. Я люблю пользоваться утилитой cfdisk, т.к. она позволяет разметить и в MBR, и в GPT.
Какую таблицу разделов выбрать — дело каждого, от себя лишь скажу, что GPT будет поновее MBR. Подробнее о выборе между GPT и MBR можно почитать тут.
Запускаем cfdisk, который должен спросить нас про таблицу разделов. Выбираем GPT (или dos). Делаем раздел на 100 МБ. Дальше можно заморочиться и сделать отдельные разделы для разных точек монтирования: под /home, /boot, /var… Но на виртуалке, я считаю, это ни к чему — пилим единый раздел на всё оставшееся место под root.
Не забываем записать изменения на диск, выбрав пункт write.
Далее нужно создать файловые системы утилитой mkfs. EFI раздел я предлагаю отформатировать в FAT32:
mkfs.vfat -F 32 /dev/sdaX
Где X — номер раздела (у меня, например, это sda1)
Остальные разделы все обычно форматируют либо в ext4, либо в ext3:
mkfs.ext4 /dev/sda2
Затем монтируем сначала корневой раздел в /mnt, затем всё остальное в соответствующие созданные директории в /mnt
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
//повторяем для любых оставшихся разделов если таковые имеются
Перед непосредственно установкой, я люблю настраивать зеркала с помощью утилиты reflector:
pacman -S reflector
reflector —verbose -l 200 —sort rate —save /etc/pacman.d/mirrorlist
Reflector отсортирует все зеркала по пингу и запишет первые 200 из них в mirrorlist.
Теперь ставим саму систему: pacstrap -i /mnt base base-devel
После того, как команда выполнилась, нам необходимо дать понять системе, какие разделы должны быть примонтированны при загрузке — для этого пишем: genfstab -U /mnt >> /mnt/etc/fstab
А теперь разминаем пальчики, сейчас придется ещё немного постучать по клавиатуре…
Произведем небольшую начальную настройку системы. Для этого переходим к её корневому каталогу: arch-chroot /mnt
Настраиваем время:
ln -sf /usr/share/zoneinfo/%Регион%/%Город% /etc/localtime
hwclock --systohc
Затем в файле /etc/locale.gen находим наш родной язык и раскомментируем его, потом пишем, собственно locale-gen
.
Далее следует указать имя компьютера в файлике /etc/hosts. Пример конечного файла:
127.0.0.1 localhost
::1 localhost
127.0.1.1 %моёимяхоста%.localdomain %моёимяхоста%
Добавляем один грамм пользователя
useradd -m -g users -G wheel -s /bin/bash %userName%
Щепотку паролей:
passwd
//то был пароль для root
passwd %userName%
//а это был пароль к нашему пользователю
И напоследок, чтобы система загружалась, ставим загрузчик. Подробнее о тех, что можно установить можно прочитать здесь. Какой именно ставить — решать, конечно, вам, а здесь и сейчас мы установим самый обычный grub:
pacman -S grub
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
В общем-то готово, можно выйти из chroot, отмонтировать диски и перезагрузить машину. Потом можно уже ставить на неё графическое окружение. Подробнее об этом написано тут.
Ну вот, можно в принципе и наслаждаться…
Акт второй: установка на внешний носитель
Давайте решим задачу: у нас имеется забитый жесткий диск с Windows 10/Mac Os Mojave, на котором есть скачанный образ Arch Linux, а также совершенно пустой внешний ssd или hdd.
Задача: Установить систему на внешний диск, не выходя из Windows/MacOS
Подумайте пару минут, а затем посмотрим элегантный «лайфхак».
Для этого мы просто создаём её без какого либо виртуального жесткого диска, а затем подключаем к ней внешний носитель (далее — флешка) и повторяем этапы, описанные выше.
Замечание: при загрузке с полученной флешки могут возникнуть разного вида проблемы с сетью, в большинстве случаев из-за конфликтов между службами, отвечающими за подключение и реализацию доменных имён. Решается она выбором, какую службу использовать, и последующим отключением через systemctl всех остальных. Важно также упомянуть про стандартную утилиту wifi-menu
Чем же это может впоследствии пригодиться? А я скажу — ситуации бывают разные. Однажды у вас сломалась рабочая машина, вы живёте неделю-две без неё, т.к. она находится в ремонте, а работать на чем либо вам надо. Или вы купили/собрали новый компьютер, на котором пока даже ms-dos’а нет — у вас будет возможность хотя бы сделать загрузочную флешку/диск ну или продолжать работать с внешнего носителя. Портативность, так сказать. В то же время устанавливать на внешний диск, я считаю, лучше уж как минимум manjaro.
Акт третий: установка рядом с другой операционной системой
Хорошенько потренировавшись в установке арча на виртуалки, можно и на реальный диск попробовать поставить. Единственная разница состоит в том, что если были на диске раньше другие операционные системы — то надо бы по ним не попасть удалением разделов… Также можно сделать некоторые «улучшения» установки: например выделить место под раздел подкачки
mkswap /dev/sdxy
swapon /dev/sdxy
Остаётся лишь пользовательская настройка, которую я описывать здесь не буду, ибо это процесс творческий и индивидуальный.
Эпилог: зачем это всё надо
Лично я склоняюсь к версии, что Arch Linux это лучший дистрибутив. Да, он может иногда ломаться при обновлении (этим грешны многие rolling release), но в 2018 году это происходит уже максимально редко. Арч — самый легковесный дистрибутив «на рынке», это звание может оспорить разве что Gentoo. В отличии от последней, кстати, нам не приходится насиловать свою машину компиляцией пакетов. Репозитории Арча огромны, в них есть почти всё. А если этого нет, то почти любой deb-пакет можно сконфигурировать специально для PKGBUILD’а. Если что-то всё-таки как-то ломается, то скорее всего на этот счёт уже есть статья на archwiki, что позволяет при наличии умения читать её достаточно легко исправить. Арч можно настроить под себя. Как угодно.
А ещё у него логотип красивый.
На этом считаю тему исчерпанной, на чем и завершаю данное увлекательное повествование. Счастья тем, кто дочитал до этого момента.