- Сам богоподобный и великий Arch Wiki, а именно статья по установке Arch.
- Видео, которое очень помогло мне разобраться в установке Arch Linux. Именно оно вдохновило меня на создание данной статьи, поэтому практически вся информация (за исключением некоторых редактирования и дополнений) взята именно оттуда. Пусть данная статья и не рассказывает обо всём в мельчайших деталях, но всю основную установку от А до Я мы здесь разберём. Заваривайте чай, читать придётся много.
- archinstall - псевдографическая утилита для упрощённой установки. Если не хочется повторять всё нижеизложенное, то можно попробовать данный способ.
Содержание
- Команды для Vim.
- Скачивание образа.
- Делаем интернет.
- Разметка диска.
- Установка ядра.
- Точки монтирования для системы.
- Смена корневого каталога.
- Настройка времени.
- Локализация.
- Имя компьютера.
- Настройка хоста.
- Настройка аккаунтов.
- Настройка Vim.
- GRUB.
- Финальная настройка системы.
Команды для 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.
Итак, после долгих душевных терзаний вы всё-же решили, какая таблица разделов вам больше всего подходит. Замечательно. Теперь по-порядку:
- Создаём новый раздел с помощью команды n.
- Выбираем его номер.
- Указываем начальный сектор (место на диске, где начинается раздел. Просто выбирайте тот, что даётся по-умолчанию).
- Выбираем конечный раздел. По-умолчанию даётся конечный сектор (до конца диска), но приберегите этот простор для домашнего раздела, где будут все ваши сокровища. Для увеличения (или уменьшения) раздела совсем необязательно высчитывать номер сектора, а можно просто прибавить ГБ, например вот так: +40G. Так можно химичить с МБ, КБ - да хоть с ПБ, лишь бы места хватило. Размечаем по следующей схеме, которая зависит от того, что у нас стоит на материнской плате:
- BIOS - swap-подкачка, корневой каталог /, домашний каталог /home.
- UEFI - efi, swap, корневой каталог /, домашний каталог /home.
- swap - как ОЗУ, только на жёстком диске. Рассчитываем размер по-формуле: ёмкость ОЗУ + 1 или 2 ГБ. Если ОЗУ =< 4 ГБ, то swap-раздел просто необходим
- efi - раздел, на котором храниться сам EFI (необходим для запуска системы на UEFI). Ёмкость где-то 550 МБ минимум или 1 ГБ для большей уверенности.
- Устанавливаем типы для наших разделов по команде t, затем номер нашего раздела и тип, который мы хотим ему присвоить. Список всех типов выводится по команде L. Будет он огромным, но нужны нам лишь следующие типы разделов:
- Linux swap - наш раздел подкачки.
- Linux filesystem - сама файловая система формата ext4 (по-умолчанию все разделы имеют именно этот формат).
- EFI System - раздел для EFI загрузчика.
Где какой раздел? Команда 'p' любезно покажет вашу новую разметку и ёмкость каждого раздела, поэтому ориентируйтесь на них. Всё готово? Тогда вводим 'w'. Эта команда запишет изменения и выйдет из утилиты. А снова набрав 'fdisk -l' вы увидите новую разметку и её типы. Всё устраивает? Тогда приступаем к их форматированию.
- Разделы форматируем следующим образом:
EFI System
mkfs.fat -F32 /dev/sdxYSwap
Тут мы не только форматируем, но и активируем раздел подкачки:mk.swap /dev/sdxY
swapon /dev/sdxY
Linux filesystem
mkfs.ext4 /dev/sdxY- Когда всё отформатировано - время всё это примонтировать. Для начала примонтируем корневой раздел:
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, добавление приложений в автозапуск и в целом как сделать из системы минималистичную конфетку. Удачи в использовании)
Установка Arch Linux кратко и (почти) без боли
Итак, одним прекрасным утром вы проснулись и решили, что вам нужно попробовать Arch. Вам нравиться всё настраивать под себя, избавляясь от лишнего мусора и вообще вы хотите досконально разобраться в...
habr.com