September 30, 2021

Установка Arch Linux

1. Подготовка к установке

Качаем iso образ с сайта на компьютер.

Определяем, как отображается флешка в системе, командой в терминале:

df

У меня флешка определилась как /dev/sdb1

Отмонтируем флешку командой:

sudo umount /dev/sdb1

Форматируем флешку в файловую систему FAT32 командой:

sudo mkfs.vfat -n 'arch' -I /dev/sdb

arch- название флешки

Записываем скачанный образ командой:

sudo dd if='Ваш путь к образу' of=/dev/sdb

Перегружаемся и запускаемся с ранее созданной загрузочной флешки.

2. Подключаемся к WiFi

Узнаем имя беспроводного, сетевого подключения командой:

ip a

Разблокируем WiFi адаптер в системе командой

rfkill unblock wifi

Включаем WiFi адаптер командой:

ip link set 'name_interface' up

где name_interface имя беспроводного интерфейса (пишем без ковычек)

Запускаем утилиту для управления беспроводными сетями командой:

iwctl

В утилите выполняем подключение к нашей точке доступа WiFi:

station 'name_interface' connect 'name'

где 'name_interface' имя беспроводного интерфейса, а 'name' имя точки доступа WiFi (пишем без ковычек). Если точка доступа с паролем, то появится сообщение для ввода пароля. При вводе пароля, он не будет отображаться.

Выходим из утилиты iwctl командой:

exit

Проверяем интернет соединение командой:

ping google.com

Если не пингуется, нужно отредактировать DNS адресав файле:

nano etc/resolve.conf

В файле дописываем:

nameserver 8.8.8.8

nameserver 8.8.4.4

Сохраняем файл и выходим.

3. Размечаем диск для установки системы

Смотрим как подписан диск в системе командой:

fdisk -l

Создаем таблицу разделов GPT командой:

fdisk dev/vda

Если разделы уже есть на диске, удаляем их этой же утилитой:

fdisk /dev/vda

Вводим команду:

d

и номер диска для удаления.

После удаления вводим команду:

g

Далее команду:

w

3.1. Производим разбивку диска

Разбиваем диск на разделы с помощью утилиты:

cfdisk /dev/vda

  • Создаем раздел с размером 31M с типом BIOS boot.
  • Создаем раздел с размером до 500М с типом EFI System.
  • Создаем корневой раздел на все оставшееся свободное место, с типом Linux filesystem.
  • Нажимаем кнопку "Write" ==>> Yes ==>> "Quit"

3.2. Создаем файловую систему на созданных разделах диска

Форматируем раздел с типом EFI System в FAT:

mkfs.vfat /dev/vda2

Форматируем корневой раздел в BTRFS:

mkfs.btrfs -f /dev/vda3

3.3. Монтируем разделы

Монтируем корневой раздел:

mount /dev/vda3 /mnt

В каталоге mnt создаем каталог boot для загрузчика

mkdir /mnt/boot

Для обычного BIOS оставляем как выше. Если BIOS UEFI, тогда в каталоге boot создаем еще один каталог EFI для загрузчика EFI UEFI BIOS
mkdir /mnt/boot/EFI

Примонтируем бут-раздел к только что созданному каталогу

mount /dev/vda2 /mnt/boot

Для обычного BIOS оставляем как выше. Если BIOS UEFI, тогда выполняем команду:
mount /dev/vda2 /mnt/boot/EFI

4. Устанавливаем базовую систему

pacstrap -i /mnt base base-devel linux-lts linux-lts-headers linux-firmware dosfstools btrfs-progs intel-ucode iucode-tool nano

где linux-lts linux-lts-headers ядро linux (если использовать другое ядро, то соответственно здесь будут другие названия).
intel-ucode если процессор intel. Для процессора AMD- использовать этот код amd-ucode

Жмем Enter, 'Y' и дожидаемся окончательной установки

4.1. Создаем файл конфигурации файловой системы диска

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

Проверяем содержимое конфига командой:

cat /mnt/etc/fstab

На экране появится вывод с содержимым файла fstab

4.2. Вносим настройки в систему

Переходим в установленную систему командой:

arch-chroot /mnt

- Конфигурируем время и дату:

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

Далее

hwclock --systohc

  • - Русифицируем систему. Открываем конфиг с локализацией в редакторе Nano

nano /etc/locale.gen

  • - Раскомментируем языки, которые нужны (убираем #, в кодировке UTF-8).

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • - Для генерации локализации языков вводим команду:

locale-gen

Открываем в редакторе файл:

nano /etc/locale.conf

  • - В файл прописываем локализацию, на которую будет переведена система.

Для русского языка: LANG=ru_RU.UTF-8

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • - Настраиваем язык консоли

Открываем в редакторе файл:

nano /etc/vconsole.conf

В файле прописываем:

KEYMAP=ru

FONT=cyr-sun16

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Задаем имя компьютреа

Открываем в редакторе файл:

nano /etc/hostname

И вписываем имя компьютера:

comp_name

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Редактируем файл доменных имен компьютера

nano /etc/hosts

В файле прописываем:

127.0.0.1 localhost

::1 localhost

127.0.0.1 comp_name.localdomane comp_name

где comp_name имя компьютера, которое мы дали выше

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Создаем образ ядра для оперативной памяти

mkinitcpio -P (для одного ядра)

Если ядер несколько, то для выбора ядра вводим:
mkinitcpio -p linuz-zen
  • Устанавливаем пароль root (пароль вводится, но не отображается)

passwd

  • Скачиваем загрузчик и сетевые утилиты:

pacman -S grub efibootmgr dhcphd dhclient networkmanager

  • Устанавливаем загрузчик на диск:

grub-install /dev/vda

Если не сработала предыдущая команда для UEFI BIOS, тогда вводим эту команду:
grub-install --boot-directory=/boot/EFI
  • Конфигурируем загрузчик командой:

grub-mkconfig -o /boot/grub/grub.cfg

После завершения, выходим командой:

exit

  • Все размонтируем командой:

umount -R /mnt

  • Перезагружаемся в установленную систему:

reboot

После перезагрузки логинимся под root

  • Открываем и редактируем файл:

nano /etc/sudoers

В файле ищем строку (%wheel ALL=(ALL) ALL) и раскомментируем ее (снимаем #). Для того, чтобы у обычного юзера был root доступ

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Создаем обычную учетную запись юзера:

useradd -m -G wheel -s /bin/bash your_username

где your_username ваш юзернейм в нижнем регистре
  • Задаем пароль для созданной учетной записи

passwd your_username

!! Пароль должен отличаться от пароля root !!

Выходим командой exit

Логинимся в учетную запись your_username

Вводим команду sudo su для проверки root доступа

Пароль вводим от учетной записи юзера your_username

  • Запускаем службу Network Manager:

systemctl enable NetworkManager

Перезагружаем систему командой reboot

  • Входим в систему под your_username
  • Подключаемся к интернету:

nmcli d wifi connect 'name' password XXXXXXXXX

где 'name' имя точки доступа (вводим без кавычек), а XXXXXXXXX пароль от точки доступа.
Если точка доступа без пароля, тогда жмем Enter после ввода 'name'

После подключения к интернету редактируем файл конфигурации pacman:

sudo nano /etc/pacman.conf

В файле убираем # со строчки

[multilib]

Include = /etc/pacman.d/mirrorlist

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Устанавливаем набор пакетов для видео ускорения (для Intel):

sudo pacman -Syu lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd- loader libva-media-driver xf86-video-intel

= Nvidia =
nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader lib32-opencl-nvidia opencl-nvidia libxnvctrl
Сюда же оптимизированные DKMS модули проприетарного драйвера NVIDIA https://aur.archlinux.org/packages/nv... - устанавливаем -
1 ) git clone https://aur.archlinux.org/nvidia-dkms...
2 ) cd nvidia-dkms-performance
3 ) makepkg -sric ( там соглашаемся с заменой пакета )
4) sudo mkinitcpio -p наименование вашего ядра
5 ) reboot
= Nvidia + Intel =
nvidia-dkms nvidia-utils lib32-nvidia-utils nvidia-settings vulkan-icd-loader lib32-vulkan-icd-loader lib32-opencl-nvidia opencl-nvidia libxnvctrl
lib32-mesa vulkan-intel lib32-vulkan-intel vulkan-icd-loader lib32-vulkan-icd-loader libva-intel-driver xf86-video-intel
Здесь тоже ставим DKMS модули как описано выше
= AMD =
lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader

Устанавливаем графическую оболочку

  • Устанавливаем NetworkManager Applet:

sudo pacman -S network-manager-applet

После окончания перезагружаемся командой:

reboot

После перезагрузки, входим в систему под your_username

  • Запускаем установку графической оболочки:

sudo pacman -S xorg xorg-server plasma plasma-wayland-session gnome gnome-extra gdm

Выше- код для установки GNOME
Для других оболочек код ниже:
+XFCE pacman -S xorg xorg-server xfce4 xfce4-goodies lightdm lightdm-gtk-greeter Включает дисплей менеджер systemctl enable lightdm
+KDE plasma pacman -S xorg xorg-server plasma plasma-wayland-session egl-wayland sddm sddm-kcm packagekit-qt5 kde-applications Включаем дисплей менеджер systemctl enable sddm
+Сinnamon pacman -S xorg xorg-server cinnamon Включаем дисплей менеджер systemctl enable gdm
+Deepin pacman -S xorg xorg-server deepin deepin-extra lightdm lightdm-deepin-greeter Включаем дисплей менеджер systemctl enable lightdm
+Enlightenment pacman -S xorg xorg-server enlightenment lightdm lightdm-gtk-greeter Включаем дисплей менеджер systemctl enable lightdm
+ Mate pacman -S xorg xorg-server mate mate-extra mate-panel mate-session-manager Включаем дисплей менеджер systemctl enable mdm
+LXDE pacman -S xorg xorg-server lxde-common lxsession openbox lxde lxdm Включаем дисплей менеджер systemctl enable lxdm
== Прочие графические оболочки тут === https://wiki.archlinux.org/title/desk...
  • Включаем дисплей менеджер:

sudo systemctl enable gdm

Перезагружаемся командой reboot

  • После перезагрузки, в терминале создаем файл подкачки

touch swapfile

chattr +C swapfile

fallocate --length 2048MiB swapfile

sudo chown root swapfile

sudo chmod 600 swapfile

sudo mkswap swapfile

sudo swapon swapfile

Проверяем работу командой:

htop

Для того, чтобы файл подкачки задействовался при загрузке системы, выполняем команду:

sudo nano /etc/fstab

В файле, в низу вписываем:

/home/your_username/swapfile none swap defaults 00

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

Перезагружаемся reboot

  • Добавляем дополнительные модули:

sudo nano /etc/mkinitcpio.conf

В файле прописываем

MODULES=(crc32c libcrc32c zlib_deflate btrfs)

где crc32c libcrc32c zlib_deflate btrfs модули для файловой системы btrfs они увеличивают производительность файловой системы.

Для видеокарт NVIDIA добавляем дополнительно и эти модули:
nvidia nvidia_modest nvidia_uvm nvidia_drm

Cохраняем файл в редакторе Nano и выходим (Ctrl+O => Enter => Ctrl+X)

  • Пересобираем ядро:

sudo mkinitcpio -P Эта команда, если одно ядро

sudo mkinitcpio -p linux-имя_ядра Эта команда, если в систем несколько ядер. После флага -p указываем то ядро, которое хотим чтобы загружалось