...

четверг, 18 октября 2018 г.

[Из песочницы] Методы проб и установки 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, что позволяет при наличии умения читать её достаточно легко исправить. Арч можно настроить под себя. Как угодно.
А ещё у него логотип красивый.

На этом считаю тему исчерпанной, на чем и завершаю данное увлекательное повествование. Счастья тем, кто дочитал до этого момента.

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий