Итак, одним прекрасным утром вы проснулись и решили, что вам нужно попробовать Arch. Вам нравиться всё настраивать под себя, избавляясь от лишнего мусора и вообще вы хотите досконально разобраться в Linux. Но главной проблемой подобных дистрибутивов является то, что нужно уметь с ними работать. Хотя бы установить. И если изучение самого Arch ложиться сугубо на плечи читателя, то с установкой мы сейчас и разберёмся.
Главное, что нужно знать - писать придётся много. Причём в этот страшный чёрно-белый терминал, в который вы хоть раз в жизни да заходили. С другой стороны, если всё делать по-инструкции и хоть немного разбираться в Linux - серьёзных проблем возникнуть не должно. Если же они всё-таки возникнут:

  • Сам богоподобный и великий Arch Wiki, а именно статья по установке Arch.

  • Видео, которое очень помогло мне разобраться в установке Arch Linux. Именно оно вдохновило меня на создание данной статьи, поэтому практически вся информация (за исключением некоторых редактирования и дополнений) взята именно оттуда. Пусть данная статья и не рассказывает обо всём в мельчайших деталях, но всю основную установку от А до Я мы здесь разберём. Заваривайте чай, читать придётся много.

  • archinstall - псевдографическая утилита для упрощённой установки. Если не хочется повторять всё нижеизложенное, то можно попробовать данный способ.

Содержание

  1. Команды для Vim.

  2. Скачивание образа.

  3. Делаем интернет.

  4. Разметка диска.

  5. Установка ядра.

  6. Точки монтирования для системы.

  7. Смена корневого каталога.

  8. Настройка времени.

  9. Локализация.

  10. Имя компьютера.

  11. Настройка хоста.

  12. Настройка аккаунтов.

  13. Настройка Vim.

  14. GRUB.

  15. Финальная настройка системы.

Команды для Vim

:q - выйти.
:q! - выйти без сохранения.
:w - сохранить.
i - режим ввода.
Esc - обычный режим.
x - удалить символ.
/ - поиск.

Скачивание образа

Первое испытание для того, чтобы скачать Arch - найти образ системы. Благо это очень простая задача: заходим сюда, качаем и делаем загрузочную флешку (Rufus для Windows, Ventoy для Linux - да хоть dd в терминале Linux - это тема для отдельной статьи и рассматривать мы её здесь не будем).

Делаем интернет

Для начала давайте посмотрим, как интернет доходит до компьютера. Если через кабель Ethernet, то всё должно подхватиться автоматически. А вот с Wi-Fi всё интереснее.
Запускаем утилитку iwctl:

iwctl

Если хотим посмотреть, что тут вообще и как, то выводим справку:

help

Но будем надеяться, что вам хватит той информации, что есть здесь. Итак, для начала посмотрим, чем вообще мы можем ловить Wi-Fi и как это устройство назвала система:

device list

Тут же мы можем увидеть его состояние (вкл\выкл). Если оно выключено, то исправляем это безобразие:


device [устройство] set-property Powered on
adapter [адаптер] set-property Powered on

Итак, всё включено, всё работает (по крайней мере надеемся на это). Теперь сканируем, выводим результаты и подключаемся к той сети, которая понравилась (и к которой у нас есть пароль). Ах да, SSID - это имя сети:

station [устройство] scan
station [устройство] get-networks
station [устройство] connect [SSID]

Итак, всё готово? А вот сейчас и узнаем. Вводим команду обнаружения сетевых устройств, а затем проверяем соединение с любым сайтом (я предпочитаю linux.org):


ip link
ping linux.org

Если мы видим следующее - то всё работает:

64 bytes from 104.26.15.72: icmp_seq=1 ttl=54 time=67.0 ms
64 bytes from 104.26.15.72: icmp_seq=2 ttl=54 time=67.6 ms
64 bytes from 104.26.15.72: icmp_seq=3 ttl=54 time=68.3 ms

Разметка диска

Начало положено. Теперь время сжечь мосты с предыдущей ОС на компе и сделать новую разметку диска. Для начала посмотрим, с чем мы вообще имеем дело:

fdisk -l

То, что мы видим - это наши диски. А теперь про то, как это вообще читать. Мы видим наши диски в формате '/dev/sdxY', где 'x' - это буква диска, а 'Y' - номер раздела. Нам понадобиться эта информация, чтобы не действовать наощупь. А увидим мы её в следующем формате:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048   6293503   6291456     3G 82 Linux swap / Solaris
/dev/sda2         6293504 111151103 104857600    50G 83 Linux
/dev/sda3       111151104 625142447 513991344 245.1G 83 Linux

Это, кстати говоря, разметка моего Arch, поэтому можете ориентироваться на неё (Но учтите, что у меня BIOS. Если у вас UEFI, то к разметке добавиться раздел EFI, но об этом чуть позже).

А теперь сама разметка. Переходим к диску, который мы хотим размечать (раздел не указываем):


fdisk /dev/sdx

Мы перешли в саму утилиту fdisk, поэтому команды теперь представляют из себя лишь одну букву. Чтобы увидеть их все, вводим m. Затем выбираем таблицу разделов и на этом моменте мы немного остановимся.

Таблица разделов - это то, где храниться информация о наших разделах и том, как мы разметили наш диск. Есть 2 вида - MBR (более старый) и GPT (более новый). Разница между ними есть и вот по каким критериям их выбрать:

  • Современные материнские платы с UEFI заточены именно на GPT, поэтому для них предпочтительно использовать именно его.

  • Некоторые UEFI вообще не поддерживают MBR.

  • На старых системах с BIOS GPT может просто не поддерживаться.

  • Если вы хотите раздел ёмкостью >= 2,2 ТБ, то ваш выбор GPT.

Но если вам нужна более подробная информация - тогда вам сюда. Саму же таблицу разделов можно выбрать командами g (GPT) или o (MBR).

Итак, после долгих душевных терзаний вы всё-же решили, какая таблица разделов вам больше всего подходит. Замечательно. Теперь по-порядку:

  1. Создаём новый раздел с помощью команды n.

  2. Выбираем его номер.

  3. Указываем начальный сектор (место на диске, где начинается раздел. Просто выбирайте тот, что даётся по-умолчанию).

  4. Выбираем конечный раздел. По-умолчанию даётся конечный сектор (до конца диска), но приберегите этот простор для домашнего раздела, где будут все ваши сокровища. Для увеличения (или уменьшения) раздела совсем необязательно высчитывать номер сектора, а можно просто прибавить ГБ, например вот так: +40G. Так можно химичить с МБ, КБ - да хоть с ПБ, лишь бы места хватило. Размечаем по следующей схеме, которая зависит от того, что у нас стоит на материнской плате:

  • BIOS - swap-подкачка, корневой каталог /, домашний каталог /home.

  • UEFI - efi, swap, корневой каталог /, домашний каталог /home.

А теперь немного разъяснений:

  • swap - как ОЗУ, только на жёстком диске. Рассчитываем размер по-формуле: ёмкость ОЗУ + 1 или 2 ГБ. Если ОЗУ =< 4 ГБ, то swap-раздел просто необходим

  • efi - раздел, на котором храниться сам EFI (необходим для запуска системы на UEFI). Ёмкость где-то 550 МБ минимум или 1 ГБ для большей уверенности.

  1. Устанавливаем типы для наших разделов по команде t, затем номер нашего раздела и тип, который мы хотим ему присвоить. Список всех типов выводится по команде L. Будет он огромным, но нужны нам лишь следующие типы разделов:

  • Linux swap - наш раздел подкачки.

  • Linux filesystem - сама файловая система формата ext4 (по-умолчанию все разделы имеют именно этот формат).

  • EFI System - раздел для EFI загрузчика.

    Где какой раздел? Команда 'p' любезно покажет вашу новую разметку и ёмкость каждого раздела, поэтому ориентируйтесь на них. Всё готово? Тогда вводим 'w'. Эта команда запишет изменения и выйдет из утилиты. А снова набрав 'fdisk -l' вы увидите новую разметку и её типы. Всё устраивает? Тогда приступаем к их форматированию.

  1. Разделы форматируем следующим образом:

EFI System

mkfs.fat -F32 /dev/sdxY

Swap

Тут мы не только форматируем, но и активируем раздел подкачки:

mk.swap /dev/sdxY
swapon /dev/sdxY

Linux filesystem

mkfs.ext4 /dev/sdxY

  1. Когда всё отформатировано - время всё это примонтировать. Для начала примонтируем корневой раздел:


mount /dev/sdxY /mnt

Затем создадим пару директорий (home для домашнего раздела, efi для загрузчика UEFI):


mkdir /mnt/home /mnt/efi

Монтируем их:


mount /dev/sdxY /mnt/home
mount /dev/sdxY /mnt/efi

Установка ядра

В корневой раздел устанавливаем само ядро и парочку приблуд:


pacstrap /mnt base linux linux-firmware

А теперь по-порядку:

  • base - основной инструментарий (cat, ls, cd и прочее).

  • linux - само ядро. Их есть несколько видов, можно установить любое другое, но будем честны - нам главное, чтобы система просто работала, а значит стандартного ядра нам за глаза хватит.

  • linux-firmware - основной пакет драйверов. Есть ещё и дополнительный, но этого вам должно хватить. Если у вас, конечно, не имеется какого-то непонятного самописного устройства сумрачного китайского гения, о существовании которого знают 3 китайца и вы сами. В таком случае поиск драйверов вообще может не иметь успеха.

Точки монтирования для системы

Следующий пункт нам нужен, чтобы система знала, какие разделы есть в её распоряжении и откуда её извлекать информацию о запуске. Делается всё это одной командой:

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

В этот файл должны записаться все разделы, что мы делали. Но нужно проверить,
всё ли записалось. Для этого вводим следующее:


vim /mnt/etc/fstab

Если файл выглядит примерно так - значит всё сделано правильно:

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sda2
UUID=f5fbd0f9-47cf-4074-bf76-506d4c2d7b23   /           ext4        rw,           relatime  0 1

# /dev/sda3
UUID=1f821695-d86d-4c56-a6c6-4ca4548132d1   /home       ext4        rw,           relatime  0 2

# /dev/sda1
UUID=5a4f68f4-9bd7-4f54-8b93-12faad1d0bf4   none        swap

Смена корневого каталога

Входим в нашу свежеустановленную систему, дабы навести там порядок:

arch-chroot /mnt

А вот для работы с текстовыми файлами нужно установить Vim:

pacman -S vim

Настройка времени

Если нам нужны часы (а нам нужны часы), то нам необходимо настроить время. Для начала делаем синхронизацию с сервером NTP:

timedatectl set-ntp true

Теперь устанавливаем часовой пояс и проверяем. Регион и город берём свой:

timedatectl set-timezone Europe/Kiev
timedatectl status

Теперь создаём симлинк (ярлык) часового пояса и проверяем:

ln - sf /usr/share/zoneinfo/Europe/Kiev /etc/localtime
ls /usr/share/zoneinfo

А затем делаем установку значения аппаратных часов на основе значения системных. Кстати говоря, при использовании DualBoot с Windows этот параметр перезапишется самой Виндой, имейте это ввиду:

hwclock --systohc

Локализация

Тут нам уже придётся копаться в конфигах, но не переживайте - вы будете часто это делать в Arch, поэтому привыкните. Сначала заходим в файл локализации:

vim /etc/locale.gen

Затем ищем и раскомментируем (убираем # в начале строки) те языки, которые мы хотим. В нашем случае это en_US.UTF-8 UTF_8 и ru_RU.UTF-8 UTF-8. Потом сохраняем файл и выходим. Осталось лишь сгенерировать эти раскомментированные локализации и вписать язык системы в конфигурационный файл:

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

Имя компьютера

Один из самых простых пунктов. Заходим с помощью Vim по адресу /etc/hostname, вписываем имя своего компьютера (1 слово латинницей) и выходим.

Настройка хоста

Всё делаем в Vim. Заходим по адресу /etc/hosts и вписываем следующее:

127.0.0.1    localhost
::1          localhost
127.0.1.1    [имя_компьютера].localdomain    [имя_компьютера]

Настройка аккаунтов

Для начала сделаем пароль для пользователя root: вводим passwd и затем задаём пароль. Использовать его мы будем редко, поэтому лучше сделать его посложнее.

Потом мы создаём аккаунт обычного пользователя, с которого и будем сидеть 99% времени. Для этого создаём аккаунт, задаём ему пароль, даём права для нормального пользования системой и смотрим, какие права мы ему дали:

useradd -m [username]
passwd [username]
usermod -aG wheel,audio,video,optical,storage [username]
userdbctl groups-of-user [username]

Затем мы устанавливаем sudo. Да-да, по-умолчанию его здесь нет:

pacman -S sudo

Настройка Vim

Потом мы химичим с Vim. Сначала мы делаем его редактором по-умолчанию (да, это вводим просто в терминал):

EDITIOR=vim

Затем вводим visudo и в открывшемся файле для того. чтобы мы могли с обычного аккаунта запускать команды, раскомментируем следующую строчку:

%wheel ALL=(ALL) ALL

GRUB

В качестве загрузчика будем использовать GRUB. Для этого его сначала нужно установить:

pacman -S grub

Для UEFI также необходимо установить efibootmgr, подробности здесь и здесь.

Если мы хотим DualBoot с Windows, то в файле /etc/default/grub в первом абзаце прямо под строкой GRUB_CMDLINE_LINUX="" вписываем следующее:

GRUB_DISABLE_OS_PROBER=false

Если у нас UEFI, тогда нам нужно также сделать в каталоге /boot следующий каталог и смонтировать в него раздел EFI:

mkdir /boot/EFI
mount /dev/sdxY /boot/EFI

Замечательно, а теперь нам нужно произвести установку GRUB (указываем именно диск, а не раздел!) и сделать конфиг для нормальной загрузки (без него будет сложно, поверьте мне):

grub install --target=x86_64-efi --bootloader-id=grub_uefi --recheck /dev/sdx
grub-mkconfig -o /boot/grub/grub.cfg

А теперь подробнее о параметрах, что мы указывали в grub-install:

  • --target - версия загрузчика: i386-pc для BIOS, x86-64-efi для UEFI.

  • --bootloader-id - имя для загрузочной записи GRUB, актуально для UEFI.

  • --recheck - проверка установки.

Финальная настройка системы

Для того, чтобы у нас работал интернет, нужно скачать пару утилит:

sudo pacman -S dhcpcd iwd

  • dhcpcd - для интернета в целом.

  • iwd - для беспроводного соединения (именно с помощью этой утилиты мы подключались к интернету в начале).

Затем мы выходим из учётной записи и перезагружаем компьютер, загружая уже установленную систему:

exit
reboot

После перезагрузки логинимся как обычный (не root) пользователь и начинаем финальную настройку нашего Arch. Для того, чтобы нам сделать интернет вводим следующее (первая строчка нужна лишь при Wi-Fi подключении):

iwctl --passphrase [пароль] station [device] connect [SSID]
sudo systemctl enable dhcpcd

Далее мы химичим с репозиториями pacman:

sudo vim /etc/pacman/pacman.conf

Здесь мы ищем следующую строку и раскомментируем её:

[multilib]
include = /etc.pacman.d/mirrorlist

Далее мы делаем обновление всех пакетов и репозиториев:

sudo pacman -Syu

Если же вам выбило ошибку - просто перезагрузите систему ещё раз и заново подключитесь к интернету.

После нам нужно установить мелочи - графическую оболочку. Этот пункт необязателен, если вам нужно не более, чем работа в терминале без графических приложениздесьй, но всё же 99% графическая оболочка понадобиться. Я же буду использовать X11 как основу и i3 как оконный менеджер. Вы же вольны выбирать любые другие альтернативы, ибо данный пункт максимально свободен в своей реализации.
Для начала установим сам Xorg и i3:

sudo pacman -S xorg xorg-xinit xorg-server
sudo pacman -S i3

Затем установим эмулятор терминала на свой вкус, лично я предпочитаю Alacritty. Ах-да, и красивые шрифты тоже не помешают, хотя их вы вообще можете не устанавливать, это чистая вкусовщина:

sudo pacman -S alacritty ttf-jetbrains-mono

Что же дальше? А дальше мы добавляем i3 в автозапуск startx:

echo "exec i3" >> .xinitrc

Всё. Вводим startx, настраиваем клавишу Mod, терминал открываем на Mod+Enter.
Поздравляю, вы установили Arch Linux. Теперь у вас есть система, которую вы контролируете от и до (ну не совсем, но до этого вам ещё нужно дойти). Если же эта статья найдёт своего читателя, то я напишу про настройку i3, Alacritty, добавление приложений в автозапуск и в целом как сделать из системы минималистичную конфетку. Удачи в использовании)

Комментарии (49)


  1. unreal_undead2
    05.04.2024 11:14
    +2

    А не проще взять Manjaro?


    1. werevolff
      05.04.2024 11:14
      +13


    1. JosipUndr Автор
      05.04.2024 11:14

      Только если хочешь Arch-подобную систему, работающую из коробки. Сам же Arch именно для тех, кто хочет всё настроить сам и с нуля


      1. unreal_undead2
        05.04.2024 11:14
        +3

        На мой взгляд основные особенности Arch - rolling release и разделение базовых пакетов и AUR. Если хочется по максимуму повозиться с потрохами системы и настройкой под себя - есть Gentoo.


        1. CrazyOpossum
          05.04.2024 11:14
          +1

          Я ещё лично не люблю в user-friendly дистрах, что после установки нужно тратить время на удаление/disable горы мусорных пакетов/сервисов.


          1. ZillahGiovanni
            05.04.2024 11:14

            Насчет мусора в арче:
            Чтобы установить dig, приходится ставить целый bind пакет вместе с сервером.
            Чтобы установить psql(клиент для postgresql), нужно ... угадайте что.


      1. werevolff
        05.04.2024 11:14

        Не знаю: несколько лет сидел на арче. Потом, перешëл на Manjaro. Arch - это, в большей степени, идея о том, что инструмент не должен диктовать свои правила. Manjaro нарушает эту концепцию, но я не скажу, что она прям-таки юзабельная. Скорее, привлекательная, как философия. Но, когда тебе нужна система с кучей софта для работы (включая коммуникацию), абсолютно бесполезная. Поскольку, хочешь, не хочешь, а софт, который требует поставить работодатель уже тебя контролиоует.

        Поэтому, сейчас я вообще сижу на винде. Манджаро стоит второй системой.


    1. V1tol
      05.04.2024 11:14
      +1

      Manjaro это худший пример дистрибутива на базе арча. Лучше любой другой, а в идеале archinstall.


    1. Breathe_the_pressure
      05.04.2024 11:14
      +1

      На Манджаро много нареканий, типа они там косячили с сертификатами, были проблемы с АУР, у меня даже оно падало при перестановке ядра.

      Но в целом,(у меня в использовании и Арч и Манджаро,) как Арч из коробки мне нормально. Доволен и тем и другим. А Эндевор мне не понравился например. Так что это вопрос вкуса.

      А вот ханжи "I use Arch btw", над ними уже давно на Реддите ржут.


      1. werevolff
        05.04.2024 11:14

        А вот ханжи "I use Arch btw", над ними уже давно на Реддите ржут.

        Единственное, что не меняется - это отношение к пользователям Gentoo. Ты их уважаешь и считаешь психбольными одновременно.


      1. feelamee
        05.04.2024 11:14

        мне кажется "i use arch btw" уже давно стал мемом? если вообще не родился им

        неужели кто-то это говорит всерьез


        1. CrazyOpossum
          05.04.2024 11:14

          Я говорю, так в лицензии велено.


          1. feelamee
            05.04.2024 11:14

            покажите, очень интересно
            хочу сохранить


            1. CrazyOpossum
              05.04.2024 11:14
              +2

              Например
              Например


              1. feelamee
                05.04.2024 11:14
                +2

                пх.. забавно

                а это разве не установщик, кстати?))


                1. CrazyOpossum
                  05.04.2024 11:14

                  Это картинка в интернете :) Если помечтать, то такую форму можно было бы увидеть на странице скачки образа.


    1. Wolfen113
      05.04.2024 11:14

      Если чистый арч тяжко осилить. Тогда уж на худой конец лучше Arcolinux или EndeavourOS.

      Манджара она как убунта ток от мира арча. Такой же кривой дистрибутив напичканный отсебятены его разработчиков. В свое время читая группы где люди часто делятся впечатлениями и проблемами в своих дистрибктивов. Постоянно ток и слышала потоки жалоб на манджару. И пару личных знакомых тоже об нее обожглись пытаясь в линукс через этот дистрибутив.


    1. Katrovsky
      05.04.2024 11:14

      Проще взять Archinstall, который идёт в комплекте с загрузочным образом.


  1. Hutaab
    05.04.2024 11:14
    +1

    sudo pacman -S archinstall


  1. CrazyOpossum
    05.04.2024 11:14
    +8

    В чём отличие статьи от того же Installation guide по первой ссылке? Без боли не получится, есть много нюансов - хотим ли дуалбут, efivars, тюнинг для ssd, шифрование диска и т.д. Это всё отражено по перекрёстным ссылкам на вики.

    А затем делаем установку аппаратных часов как системных:
    hwclock --systohc

    Наоборот, эта команда устанавливает hardware на основе system. И это сломается при дуалбуте, потому что винда потом опять перезапишет обратно.

    И фундаментальный вопрос - зачем? Нет никакого смысла заманивать людей в арч потому что он простой, это просто не так. Лучше рассказать для кого он и чем отличается от разных убунт и дать ссылку на вики, имхо.


    1. JosipUndr Автор
      05.04.2024 11:14
      +1

      В чём отличие статьи от того же Installation guide по первой ссылке?

      Моей целью было написать гайд краткий и понятный для непосвящённых, а вот чем они будут руководствоваться - решать им самим.

      Наоборот, эта команда устанавливает hardware на основе system. И это сломается при дуалбуте, потому что винда потом опять перезапишет обратно.

      А это мы учтём, спасибо.

      Лучше рассказать для кого он и чем отличается от разных убунт и дать ссылку на вики, имхо.

      Обзоров на то, чем Arch отличается от других дистрибутивов, более чем достаточно. Но чтобы его опробовать, нужно хотя-бы осилить его установку


    1. malotchuev
      05.04.2024 11:14
      +2

      Отличие в том, что в официальном руководстве нет ошибок))) А тут - почти через одну с ошибками. Если кто-то попытается ставить Арч по этой статье, то нифига у него не выйдет. То дефис потерялся, то точка лишняя...


      1. JosipUndr Автор
        05.04.2024 11:14

        Для этого есть комментарии. Пишите где, какие ошибки и как их исправить


  1. maxp
    05.04.2024 11:14
    +3

    Кстати, а нынче линуксы не модно на btrfs ставить? Или ext4 до сих пор рулит?

    p.s.
    не могу пройти мимо :)
    Прочитайте это - https://tsya.ru/ ведь совсем не сложно запомнить...


    1. CrazyOpossum
      05.04.2024 11:14
      +2

      Держал одно время на btrfs. После краша системы (не связано с btrfs), он перешёл в read-only без возможности восстановления - копируй, форматируй, начинай сначала. Больше btrfs я видеть не хочу.


      1. V1tol
        05.04.2024 11:14
        +1

        без возможности восстановления

        перешёл в read-only

        Противоречие прямо в соседних фразах. Если на вашей системе btrfs так ложится, то ext4 высыпется в невосстановимую кашу, а ещё хуже - будет незаметно портить файлы, пока не доберётся до важных системных файлов, что система ляжет прямо во время работы.


        1. CrazyOpossum
          05.04.2024 11:14
          +2

          В чём противоречие? Для меня "возможность восстановления" - это запустил chkdsk на ночь и забыл об инциденте. Копировать 200гб на носитель, заново делить диски, я не готов.

          ext4 может и высыпется, но 11 лет без сбоев против 1.5 на btrfs


  1. TaPX
    05.04.2024 11:14
    +2

    archinstall


  1. andrezh
    05.04.2024 11:14
    +3

    Установка Arch Linux кратко и без боли:

    archinstall


    1. JosipUndr Автор
      05.04.2024 11:14

      Ну или так, но лучше показать, как это сделать руками, ибо лишним никогда не будет