Что такое Arch Linux
Arch Linux — дистрибутив GNU/Linux созданный для фурри-фембоев в чулочках продвинутых пользователей ПК. У него нету как таковых версий, так как все программы подтягиваются из Интернета. Поэтому без интернета его никак не установить. Также, данный дистрибутив можно установить на любой ПК. Даже на ноутбук твоей бабушки!
Знание дистрибутива поможет вам разобраться и в остальных дистрибутивах. Если готовы осилить тонны команд и у вас есть лишние 1-2 часа, то берите Monster, надевайте чулочки и давайте начнём!
Скачивание ISO и запись
Для установки тебе понадобится:
- ПК (логично, да?)
- Флешка минимум на 16 ГБ
- Rufus или balena Etcher
- Доступ в интернет (лучше проводной)
- 1-2 часа свободного времени
Переходим на сайт archlinux.org в раздел Download и скачиваете ISO через файл .torrent или магнитную ссылку. Если ваш провайдер блокирует Torrent, то можно скачать с зеркала Яндекс. Чтобы не ошибиться, выберите файл archlinux-x86_64.iso
Когда скачали вам понадобится Rufus или balena Etcher. Думаю, вы сами разберётесь в интерфейсе.
Базовые команды Vim
Vim — это консольный текстовый редактор, который управляется только с помощью клавиатуры. Именно с помощью него мы будем настраивать некоторые параметры Arch.
В редакторе довольно много команд, но нам понадобится несколько:
i # Вход в режим ввода
Esc (клавиша) # Выход из режима ввода
X # Стирание символов не в режиме ввода
:wq # Сохранить и выйти
:q! # Выйти без сохранения
Настройка Wi-Fi подключения
Для тех, у кого подключению по проводу — можете пропустить данный пункт. Остальные следуйте командам ниже:
iwctl # Заходим в утилиту для настройки Wi-Fi
device list # Выводит список Wi-Fi адаптеров
Обычно Wi-Fi интерфейс называется wlan0. Если в строке Powered написано Off, то исправляем это командой ниже
device [имя] set-property Powered on
или
adapter [имя] set-property Powered on
Дальше, подключаемся к Wi-Fi:
station [адаптер] scan # Сканируем сеть на наличие Wi-Fi сетей
station [адаптер] get-networks # Выводим список найденных Wi-Fi сетей
station [адаптер] connect [SSID] # Подключаемся к нашей сети
Если что, SSID — это имя Wi-Fi сети.
Как только подключились надо проверить, работает ли интернет:
ping ya.ru
Должно получится примерно как на картинке:
Разметка диска
Размета диска одна из сложных частей в установке, но если знать, что надо писать и что оно означает, то ты с ним легко справишься.
Для начала узнаем, какие диски у нас видит ПК:
fdisk -l
Если у вас один диск в системе, то он должен отображаться как /dev/sda. Если у вас их больше, то ориентируйтесь по размеру диска или его модели
У меня же он один, поэтому так и пишу следующую команду для захода в утилиту для разметки диска:
fdisk /dev/sda
ВНИМАНИЕ! Здесь будет проводиться настройка для ПК на базе UEFI! Если у вас Legacy (BIOS) системы, то эта статья вам не подойдёт!
g # разметка диска в формате GPT
Теперь разделим наш диск на 2 раздела: EFI и корневой.
EFI-раздел (так и пиши команды):
- n
- (нажми Enter)
- (нажми Enter)
- +1G
Корневой раздел:
- n
- (нажми Enter)
- (нажми Enter)
- (нажми Enter)
После этого надо определить описание разделов.
EFI-раздел:
- t
- 1
- 1
Корневой раздел:
- t
- 2
- 23
Когда закончили, то надо посмотреть предварительный результат командой p. Должно получиться вот так:
Если всё верно, то сохраняем разметку командой w.
Форматирование разделов и монтирование в систему
Некоторые компоненты системы функционируют в разных файловых системах. Поэтому, каждый нужно отформатировать в свой тип.
mkfs.fat -F 32 /dev/sda1 # Форматируем EFI раздел в файловую систему FAT32
mkfs.btrfs /dev/sda2 # Форматируем корневой раздел в файловую систему BtrFS
Теперь, нам нужно получить доступ к этим разделам или же "смонтировать" их:
mount /dev/sda2 /mnt # Монтируем корневой раздел в папку mnt
mount --mkdir /dev/sda1 /mnt/boot/EFI # Монтируем EFI-раздел в папку по пути /mnt/boot/EFI попутно создавая её.
Установка базовой системы
Настало время установки базовой системы!.. Но для начала нужно сменить DNS, так как по-дефолту Arch выбирает DNS роутера, который может резать скорость. Здесь нам и пригодиться Vim. Если не ознакомились с командами — рекомендую сделать прямо сейчас, а потом вернуться.
vim /etc/systemd/resolved.conf # Открываем конфиг службы systemd-resolved, именно она отвечает за DNS
Ищем строку, которая начинается с #DNS=
Раскомментируем строку (убираем решётку в начале) и после "=" пишем адрес DNS от Google. Строка должна выглядеть вот так:
DNS=8.8.8.8
Если всё верно, то сохраняем конфиг, выходим из Vim и перезапускаем службу:
systemctl restart systemd-resolved
Теперь уже точно настало время установки базовой системы!
pacstrap -K /mnt base linux linux-firmware linux-headers amd-ucode vim sudo grub efibootmgr networkmanager zram-generator btrfs-progs reflector
Итак, давайте по порядку — что это за слова после -K? Сейчас объясню, здесь ничего сложного нету:
- base — базовый пакет программ
- linux — ядро нашей системы. Можно представить как сердце системы
- linux-firmware — базовый пакет драйверов для системы
- linux-headers — пакет необязательный, но без него криво работают драйвера NVIDIA
- amd-ucode — микрокоды для процессора. У меня AMD, но если у вас стоит Intel, то пишите intel-ucode
- vim — думаю и так понятно
- sudo — выдаёт права root обычному пользователю на время. Как режим Администратора в Windows, только намного шире
- grub — загрузчик системы
- efibootmgr — дополнение к GRUB для загрузки UEFI систем
- networkmanager — управляет интернетом в системе
- zram-generator — нужен для создания файла подкачки zram
- btrfs-progs — пакет драйверов для файловой системы BtrFS
- reflector — автоматическая утилита для обновления зеркал pacman
После установки мы генерируем fstab. Данный файл определяет, какие разделы будут монтироваться при загрузке системы.
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab # Проверяем результат
На выходе у вас должно получится примерно как на скриншоте:
Заходим в базовую систему
Хоть мы и установили систему, но мы не настроили ничего внутри. Мы это будем делать через временную смену каталога. Он же chroot.
arch-chroot /mnt
Генерация локалей
Открываем в vim файл /etc/locale.gen и раскомментируем 3 локали:
- en_US.UTF-8
- en_US.ISO-8859-1
- ru_RU.UTF-8
После сохранения файла пишем команду locale-gen. Так мы сгенерируем локали.
Осталось только поставить язык по умолчанию. Советую английский, так система будет работать стабильнее, большинство гайдов по Arch на нём, да и инглиш подучите.
echo LANG=en_US.UTF-8 > /etc/locale.conf && export LANG=en_US.UTF-8
Настройка времени
Для начала, вам нужно знать, в какой части света находиться ваш город. Например, Азия/Токио, Европа/Варшава и т. д.
Когда узнали, то включаем синхронизацию времени по NTP (по интернету, проще говоря)
timedatectl set-ntp true
Теперь поставим наш часовой пояс
timedatectl set-timezone Europe/Moscow
timedatectl status # Проверяем результат
Местное время должно отображаться в самой верхней строке. Если всё верно, то осталось сделать ещё пару шагов
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime # Делаем символическую ссылку в Сибирь, которая указывает на наш часовой пояс
После нам надо записать наше время в аппаратные часы:
hwclock --systohc
Редактируем hosts и hostname
hostname — это название нашего компьютера в сети.
echo example > /etc/hostname # Задаём название нашему компьютеру
example можно заменить на любое другое слово. Также, нужно добавить hostname и в hosts
vim /etc/hosts
Вставляем на новой строке:
127.0.1.1 example
Должно получиться вот так:
Настройка пользователей
В нашей системе будет всего 2 пользователя — наш и супер-пользователь.
Супер-пользователь (он же root) — это бог в нашей системе. Он может редактировать все файлы, изменять все параметры... Да хоть удалить всю систему! Поэтому, надо поставить для него сложный пароль.
Вот самые важные критерии для сложного пароля
- Не менее 8 символов
- Минимум 1 заглавная буква
- Добавить цифры
- Добавить спец. символы (!,@#$%&?*/\.>)
passwd # Меняем пароль у root
Теперь добавим обычного пользователя, так как под root довольно опасно сидеть:
useradd -m archuser # Создаём нашего пользователя
passwd archuser # Меняем пароль пользователя
usermod -aG wheel,audio,video,optical,storage archuser # Добавляем пользователя в группы для доступа к видео, аудио, CD-приводу (если есть) и хранилищу
Группа wheel нам понадобится для настройки sudo, чем мы сейчас и займёмся.
Настройка sudo
Для начала, зададим редактор по умолчанию:
EDITOR=vim
Откроем файл sudoers, который отвечает за настройки sudo:
visudo
И ищем строку ниже
# %wheel ALL=(ALL:ALL) ALL
Она позволяет пользоваться правами супер-пользователя тем, кто состоит в группе wheel.
Раскомментируем строку и сохраним файл.
Установка загрузчика
В этом нам поможет GRUB. Установим же его.
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --recheck
- target — указываем тип нашей системы
- efi-directory — указываем путь к EFI разделу
- recheck — просим установщик проверить правильность установки загрузчика
Если всё поставилось верно, то вы должны увидеть сообщение:
Installation finished. No error reported.
Теперь надо создать файл конфигурации загрузчика. Без него он не запуститься.
grub-mkconfig -o /boot/grub/grub.cfg
Во время создание конфига у вас появиться ошибка о выключенном os-prober. Не пугайтесь, на работу системы он не повлияет. Он нужен для обнаружение загрузчиком других систем. В том числе и Windows.
Если всё хорошо, то вы должны увидеть в конце короткое сообщение "done".
Финишируем
Осталось пару вещей перед первым запуском системы.
systemctl enable NetworkManager # Запускаем службу управления интернетом
Дальше нам нужно настроить zram — это файл подкачки для нашей системы. Для этого открываем конфиг по пути /etc/systemd/zram-generator.conf
Далее вписываем вот это:
[zram0]
zram-size = min(ram / 2, 4096)
compression-algorithm = zstd
Поздравляю! Установка Arch Linux завершена!
Теперь выходим из chroot и перезагружаемся:
exit # Выходим из chroot
reboot # Перезагружаем ПК
Заключение
Если всё поставилось верно, то вы должны увидеть подобный экран:
Но и это ещё не всё! Нам ещё нужно донастроить систему для полноценного использования. В следующей статье мы установим графическое окружение, браузер, драйвера для видеокарты и настроем их.
Не прощаемся!