Дисклеймер!
Если вы типичный юзер Ubuntu который не может даже комманду в терминал правильно ввести. То не суйтесь в Arch Linux! Это сложный дистрибутив который можно практически полностью настроить под себя, но также можно и случайно сломать. Поэтому дважды подумайте перед установкой Arch'a как основную систему.
Этап 1. Скачивание образа и создание загрузочной флешки
Образ можно скачать тут. После скачивания образа нужно создать загрузочную флешку. Есть несколько самых лучших вариантов:
1. Подойдет если у вас сейчас стоит Windows: Rufus.
2. Подойдет и для Windows и для Linux: Etcher .
3. Также можно сделать из флешки мульти загрузочную блогадаря: Ventoy.
Я рекомендую 3 вариант т.к все что нужно будет сделать для загрузки в LiveCD образ, это просто скинуть ISO файл на флешку. После того как вы создали загрузочную флешку, грузимся в LiveCD Arch Linux'а.
Этап 2. Подключаемся к интернету
Если у вас не WIFI этот этап можно пропустить т.к Ethernet кабель работает из коробки
Запускаем утилиту iwctl для подключение к сети:
$ iwctl
Выводим список WIFI адаптеров, выбираем свой:
$ [iwd]# device list
Выполняем сканирование сетей:
$ [iwd]# station ваш_wifi_адаптер scan
Выводим отсканированные сети:
$ [iwd]# station ваш_wifi_адаптер get-networks
Выбираем свою сеть и подключаемся:
$ [iwd]# station ваш_wifi_адаптер connect ваш_essid(имя сети)
Если у вашей сети есть пароль, то тулза попросит его ввести.
Этап 3. Создание разделов на диске
Если у вас несколько дисков вводим:
$ lsblk
Выбираем нужный, у меня это /dev/sda, теперь запускаем программу для разметки диска (указывая свой диск):
$ cfdisck /dev/sda
Программа очень простая, Delete - удаляет раздел, New - создает, Write - записывает изменения, Quit - выходит из программы. Создаем два раздела и запоминаем их имя:
Имя: /dev/sda1 Тип: Linux filesystem Размер: от 20GB - Это наш корневой раздел
Имя: /dev/sda2 Тип: EFI System Размер: от 500MB, лучше 1000MB - Это наш загрузочный раздел
Сохраняем изменения (Write) и выходим из программы (Quit).
Также стоит заметить что далее в гайде я буду использовать именно /dev/sda у вас это может быть допустим /dev/sdb, ещё стоит заметить что в гайде используется моя размтека где /dev/sda1 - корень, a /dev/sda2 загрузочный раздел. Это все - стоит учитывать.
Этап 4. Форматирование разделов
Здесь все просто. Для форматирования будем использовать mkfs.
Для начало форматируем корень (я рекомендую все таки использовать ext4, по моему мнению с ним меньше проблем, этот гайд рассчитан именно на ext4) Форматируем /dev/sda1 в ext4:
$ mkfs.ext4 /dev/sda1
Теперь форматируем загрузочный раздел в fat32:
$ mkfs.fat -F32 /dev/sda2
Этап 5. Монтируем разделы и устанавливаем базовую систему.
Для начало нужно смонтировать корневой раздел в /mnt:
$ mount /dev/sda1 /mnt
Теперь устанавливаем базовую систему и micro (более минималистичный аналог редактора текста nano) в наш смантированный раздел:
$ pacstrap -i /mnt base linux linux-firmware micro
Теперь последний этап перед настройкой базовой системы: генерируем файл fstab в наш смантированный корневой раздел:
$ genfstab -U -p /mnt >> /mnt/etc/fstab
После всего этого мы наконец можем переходить к настройке системы удаленно через chroot.
Этап 6. Chroot: базовые настройки
Для начала входим в сам Chroot:
$ arch-chroot /mnt /bin/bash
Открываем файл /etc/locale.gen в котором нам нужно откаментировать локали для нашей системы:
$ micro /etc/locale.gen
Теперь через CTRL+F ищем нужные нам локали и убираем # (для раскоментирования), мне нужна только русская локаль (английская локаль обязательна для всех):
#en_US.UTF-8 UTF-8
#ru_RU.UTF-8 UTF-8
Сохраняем (CTRL + S) и закрываем (CTRL + Q) файл. Теперь генерируем наши новые локали:
$ locale-gen
Устанавливаем локаль (язык) нашей будущей системе, я устанавливаю русскую:
$ echo "LANG=ru_RU.UTF-8" > /etc/locale.conf
Теперь устанавливаем время, сначало нужно установить TimeZone'у. Посмотреть нужный индификатор TimeZone'ы можно тут, я установливаю Москву:
$ ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Теперь можно установить новое время:
$ hwclock --systohc --utc
Теперь нужно установить имя компьютера (HostName), у меня это vivobox:
$ echo "vivobox" > /etc/hostname
И последнее что мы сделаем в этом этапе это настроим файл /etc/hosts:$ micro /etc/hosts
В файле прописываем следущее (вместо vivobox ваш HostName):
127.0.0.1 localhost
::1 localhost
127.0.1.1 vivobox.localdomain vivobox
Сохраняем (CTRL + S) и закрываем (CTRL + Q) файл.
Этап 7. Chroot: настройка пользователя, групп для пользователя, doas и sudo
Для начало задодим пароль пользователю root (пароль нужно ввести два раза, и он не будет отоброжаться для безопасности):
$ passwd
Создаем пользователя, я буду использовать свой ник: mrfufl4ik:
$ useradd -m mrfufli4k
Устанавливаем пользователю группы, если хотите узнать больше читайте это:
$ usermod -aG wheel,audio,video,storage mrfufl4ik
И последнее создаем пользователю пароль (пароль нужно ввести два раза, и он не будет отоброжаться для безопасности):
$ passwd mrfufl4ik
Использование sudo:
Сначало установим sudo:
$ pacman -Sy sudo
Теперь включим sudo для пользователей группы wheel:
$ EDITOR=micro visudo
У вас откроется файл, где нужно найти и раскоментировать (убрать #):
#%wheel ALL=(ALL) ALL
Сохраняем (CTRL + S) и закрываем (CTRL + Q) файл.
Использование аналога sudo - doas:
Я не рекомендую использовать doas новичкам. Да doas минималистичнее и выполняет только одну самую важную функцию: дает временный доступ к root. А sudo выполяет ещё кучу других не сильно полезных для dekstop'ного линукса функций. Но все же могут быть проблемы с совместимостью, плюсом ко всему практически во всех гайдах используется sudo.
Сначало установим сам doas:
$ pacman -Sy opendoas
Открываем файл /etc/doas.conf:
$ micro /etc/doas.conf
Прописываем:
permit persist :wheel
Это даст возможность использовать группе wheel: doas. Сохраняем (CTRL + S) и закрываем (CTRL + Q) файл.
Этап 8. Chroot: установка Network Manager:
Если у вас Ethernet то вроде как все должно завестить без каких либо программ. Поэтому можете пропустить этот этап.
Устанавливаем Newtork Manager:
$ pacman -S networkmanager
Включаем службу Network Manager'а:
$ systemctl enable NetworkManager
Этап 9. Chroot: установка загрузчика GRUB
Устанавливаем сам grub и efibootmgr:
$ pacman -S grub efibootmgr
Создаем папку для монтирования и монтируем загрузочный раздел:
$ mkdir /boot/efi
$ mount /dev/sda2 /boot/efi
И самое главное устанавливаем grub на смонтированный загрузочный раздел и конфигурируем его:
$ grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi --removable
$ grub-mkconfig -o /boot/grub/grub.cfg
Этап 9.5. Перезагрузка
Выходим из chroot:
$ exit
Отмантируем корневой и загрузочный раздел:
$ umount -R /mnt
И очивидно перезагружаемся:
$ reboot
Флешку уже можно извлечь, и если вы все сделали правильно вы попадете в Grub. С которого можно запустить вашу новую систему.
Этап 10. Swap File
В загруженной системе входим в пользователя root. После чего создаем Swap файл, я выделил ему 8GB:
$ fallocate -l 8G /swapfile
Устанавливаем на файл нужные права:
$ chmod 600 /swapfile
Включаем Swap режим для файла:
$ mkswap /swapfile
$ swapon /swapfile
И прописываем авто загрузку swap'а в fstab файл:
$ echo "/swapfile none swap sw 0 0" >> /etc/fstab
Можем выходить из root'а и логиниться в своего пользователя:
$ exit
Этап 11. Подключение к WIFI через NMCLI
Сначало получаем список сетей:
$ nmcli device wifi list
Подключаемся к своей сети:
$ nmcli device wifi connect ваш_essid(имя сети) password "ваш_пароль"
Для того чтобы отключиться от текущей сети:
$ nmcli device disconnect
Этап 12. Заключение
Система установленна и готова к установки DE (графического окружения). Теперь вы смело можете выходить на улицу кричать: I USE ARHC BTW.