Как установить Arch без боли??


Предисловие


Слышал, что некоторые считают Arch сложным в установке. Отчасти они правы, но для любого человека, который способен разобраться в установке и настройке linux, установка Arch довольно проста. Также это самый гибкий дистрибутив, поэтому настроить под себя его получится лучше других дистрибутивов.


Данный гайд является сборной солянкой из всех гайдов, что я прочитал (как русскоязычные, так и иноязычные). Его цель просто и без лишней технической информации показать пошаговую установку Arch и сделать это на русском языке. Главное, что статья написана от непонимающего для непонимающих. Заранее скажу, что некоторые скрины будут уже с установленного Arch, но это никак не меняет работу команд и то, что вы увидите при их использование.


Итак, начнём с простого.


Идём на сайт и качаём ISO-файл:



Там ищем зеркало(скорее всего русское) и скачиваем образ:



Для упрощения дальнейшей жизни лучше скачать Etcher, прямо на сайте есть довольно понятная инструкция в картинках, так что справятся все.


 Установка


// начну с настройки VirtualBox, если вы используете её, то выполните следующие действия


1.Идём в настройки машины:


2.Во вкладке система ставим галочку около пункта ''Включить EFI'':



3.Далее идём во вкладку носители, там добавляем контроллер IDE и выбираем наш дистрибутив


Далее установка будет для всех одинакова.


Начинаем с запуска



Выбираем первую строку и жмём Enter


Проверим соединение с интернетом:


Это нужно, потому что Arch требует интернет для своей установки.


Такой командой можно проверить своё соединение и увидеть время ответа сайта.


ping -c 3  google.com


Если вы используете wifi на своём ПК, то используйте утилиту :


wifi-menu

Вы увидите примерно это:



Разделы диска


Для того, чтоб разбить наш диск на разделы, можно сначала узнать какие диски подключены. Скорее всего у вас будет USB флешка и HDD\SSD вашего ПК.


Команда для просмотра разделов (понадобится нам ещё много раз):


lsblk


Если у вас несколько дисков, а вы хотите установить на какой-то конкретный, то можно посмотреть диски по размерам.


fdisk -l


Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :


cfdisk /dev/sda


Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.


Используя стрелочки создаём 3 раздела на диске:


  • /dev/sda1 # размером 1G места под UEFI
  • /dev/sda2 # размером примерно 10-15 GB под root
  • /dev/sda3 # всё оставшееся место под директорию home

PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы


Для проверки используем lsblk снова. Если всё норм, что /dev/sda будет содежать в себе 3 раздела.




Далее форматируем наши разделы.


  1. Форматируем тот раздел, который мы выделили под UEFi


    mkfs.fat -F32 /dev/sda1

  2. Раздел root


    mkfs.ext4 /dev/sda2

  3. Раздел home


    mkfs.ext4 /dev/sda3


Монтируем root и создаём папку home:


mount /dev/sda2 /mnt
mkdir /mnt/home
mount /dev/sda3 /mnt/home

И снова lsblk для проверки


Установка


Начинается самая долгая часть, потому что нужно будет много скачать. Устанавливаем все основные пакеты, а также nano, чтоб редачить файлы системы. Если вдруг вы знакомы с  vim можете скачать и его (дописать в конец).


pacstrap -i /mnt base linux linux-firmware sudo nano

Вам предложат что установить выбирайте all и далее yes. Встречался с проблемой, что можно было скачать первый или второй вариант, можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.


Создадим  fstab файл


genfstab -U -p /mnt >> /mnt/etc/fstab

 Настраиваем установленную систему


Chroot


Chroot (change root) нужен нам, чтобы мы могли сменить  root пользователя (как и сказано в названии команды).


arch-chroot /mnt /bin/bash


Настройка файла локали


Для начала идём в файл локали, чтоб настроить язык


nano /etc/locale.gen


Находим там #en_US.UTF-8 и стираем #, с русским языком так же. PS: можно использовать Ctrl + W для поиска языка в файле.


Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter


Далее пишем команды, которые сгенерируют локаль и создаём locale.conf с нужными настройками языка.


locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf

Настраиваем временную зону


ln -sf /usr/share/zoneinfo/

Далее жмём 2 раза на Tab и видим список регионов, после городов.


В моём случае было так:


ln -sf /usr/share/zoneinfo/Europe/Kaliningrad /etc/localtime

Задаём время


Тут 2 команды. Одна ставит время для системы, а другая его показывает.


hwclock --systohc --utc
date

Имя хоста и адрес


Я решил назвать ПК ArchMe, поэтому используем следующую команду:


echo ArchMe > /etc/hostname

Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.


nano /etc/hosts
127.0.1.1 localhost.localdomain ArchMe

Сетевой менеджер


Качаем и включаем.


pacman -S networkmanager
systemctl enable NetworkManager 

Установка GRUB


Для начала сменим пароль root пользователя :


passwd

GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.


pacman -S grub efibootmgr
mkdir /boot/efi
mount /dev/sda1 /boot/efi
lsblk # для проверки всё ли норм смонтировано 
grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable
grub-mkconfig -o /boot/grub/grub.cfg

Перезагрузка


Чтобы без потерь перезагрузить нашу систему используем эти команды:


exit
umount -R /mnt
reboot

После перезагрузки вы увидите следующее. Если это так, то наш GRUB установился правильно




Входим в root аккаунт и создаём  swapfile (что-то вроде доп оперативки) и задаём ему размер как у вашей ОЗУ


fallocate -l 3G /swapfile

Далее выполняем следующие команды:


chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

И проверяем, работает ли swap:


free -m

Добавим пользователя и окружение


useradd -m -g users -G wheel -s /bin/bash username
passwd username

username замените на то имя, что хотите вы)


Также нужно дать ему права суперюзера:


EDITOR=nano visudo

там ищем  и убираем #, а дальше Ctrl + O, затем Enter и Ctrl + X, затем Enter


# %wheel ALL=(ALL) ALL

Дрова

pacman -S pulseaudio pulseaudio-alsa xorg xorg-xinit xorg-server

Вам будет предложен выбор, выбирайте исходя из своей графики.


Окружение

Вначале покажу как поставить довольно простое — XFCE


pacman -S xfce4 lightdm lightdm-gtk-greeter
echo "exec startxfce4" > ~/.xinitrc
systemctl enable lightdm

И моё любимое  i3, там выбираем пакеты 2 4 5. Возможно вы увидите квадраты вместо символов, но это нормально, вам просто нужно будет скачать шрифт dejavu (pacman -S ttf-dejavu). Cписок горячих клавиш можно посмотреть  тут


echo "exec i3"  > ~/.xinitrc
sudo pacman -S i3


Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.


Для запуска вашего окружения используйте


startx