libre.UA ВІКІ

🌐🔒️Вільне програмне забезпечення

Головна сторінка Ресурси Новини Спільноти

Автор: just_bird

Встановлення Arch Linux

Вступ

Arch Linux — дистрибутив, що був оснований канадським програмiстом i гiтарiстом Джаддом Вiнетом в нульових роках. Вiн надихнувся iдеями BSD-систем та подобних їм дистрибутивiв Linux: Crux та Slackware. Для створення Arch Джадд скористався вiдомою книгою «Linux from scratch». А в 2007-му роцi Вiнет вiдiйшов вiд справ, i передав кермо в руки Аарона Грiффiна.

В своїй мiнiмальнiй комплектацiї цей дистрибутив GNU/Linux має систему iнiцiалiзацiї Systemd, ядро Linux та пакетний менеджер Pacman.

Все iнше користувач повинен встановлювати та налаштовувати самостiйно, перекопавши iнтернет та документацiю. В цьому посiбничку буде розказано, як встановити Arch Linux, i ви дiзнаєтесь, як це працює.

Цей гайд написаний для UEFI-комп’ютерiв. Якщо вам буде щось незрозумiло — wiki.archlinux.org в допомогу. Гойда!

Встановлення

2.1 Пiдготовка

  1. Завантажуємо iso-файл дистрибутиву Arch Linux з сайту.
  2. Пiдготовлюємо флешку, встановивши Ventoy та зробивши завантажувальною.
  3. Копiюємо iso-образ до флешки та завантажуємося з неї.

2.2 Налаштування iнтернет-з’єднання

2.2.1 Бездротове

Нам необхiдно пiдключитися до iнтернету, щоб згодом встановити усi необхiднi програми. I якщо в нас бездротове з’єднання, то для цього ми скористаємося утiлiтою iwctl.

  1. Вмикаємо сервiс iwd, який забезпечить роботу iwctl: systemctl start iwd
  2. Запускаємо саму утiлiту iwctl: iwctl
  3. иводимо список Wi-Fi-девайсiв: device list
  4. Скануємо мережi, до яких зможемо пiдключитись: station назва_девайсу scan
  5. Виводимо просканованi мережi: station назва_девайсу get-networks
  6. Пiдключаємося до Wi-Fi i вводимо пароль, якщо є: station назва_девайсу connect назва_мережi
  7. Виходимо з iwctl: exit
  8. Перевіряємо пiдключення до iнтернету: микаємо сервiс iwd, який забезпечить роботу iwctl: ping archlinux.orgi
  9. Якщо пінгується, то з’єднання встановлено.
2.2.2 Дротове

Якщо в нас дротовий інтернет, то можна одразу користуватись інтернетом.

  1. Для перевірки мережних пристроїв: ip link
  2. Для перевірки підключення до інтернету: ping archlinux.org

2.3 Налаштування часу

  1. Синхронізація часу з iнтернетом: timedatectl set-ntp true
  2. Встановлення часового поясу: timedatectl set-timezone Europe/Kyiv
  3. Перевірка: timedatectl status

2.4 Розмітка диску

2.4.1 Розмітка EFI-розділу

EFI розділ дозволить нам завантажувати ОС.

  1. Створюємо розділ: n
  2. Задаємо номер розділу: 1
  3. Задаємо стартову точку сектору: натисніть Enter, щоб обрати точку по-замовчуванню
  4. Задаємо кінцеву точку сектору (об’єм 528 мегабайт): +528M
2.4.2 Розмітка Swap-розділу

Swap-розділ дозволить нам використати певну кількість пам’яті HDD (або SSD) як доповняльну до ОЗУ, якщо закінчиться оперативна пам’ять. Проте це буде створювати додаткове навантаження на постійну пам'ять, тому краще не зловживати.

  1. Створюємо новий розділ: n
  2. Задаємо номер: 2
  3. Задаємо стартову точку сектору: натисніть Enter, щоб обрати точку по-замовчуванню
  4. Задаємо кінцеву точку сектору (об’єм 4 гігабайти): +4G
2.4.3 Розмітка кореневого розділу

На кореневому розділі будуть зберігатися усі наші дані.

  1. Створюємо розділ: n
  2. Задаємо номер: 3
  3. Задаємо стартову точку сектору: натисніть Enter, щоб обрати точку по-замовчуванню
  4. Задаємо кінцеву точку сектору (увесь об’єм, що залишився): натисніть Enter, щоб обрати увесь незайнятий об’єм
2.4.4 Зміна типу EFI-розділу

Зараз EFI-розділ має тип «Linux Filesystem», проте його треба замінити на «EFI System».

  1. Змінюємо тип розділу: t
  2. Вказуємо номер розділу: 1
  3. Вказуємо необхідний тип розділу: 1
2.4.5 Зміна типу Swap-розділу

Наразі Swap-розділ також має тип «Linux Filesystem», і його треба замінити на «Linux swap».

  1. Змінюємо тип розділу: t
  2. Вказуємо номер розділу: 2
  3. Вказуємо необхідний тип розділу: 19
2.4.6 Зберігаємо результати розмітки та перевіряємо
  1. Записуємо зміни та виходимо з утиліти: w
  2. Перевіряємо наявні розділи дисків та запам’ятовуємо назви розділів: fdisk -l

2.5 Форматування та монтування розділів

Після минулої команди fdisk -l ми запам’ятали назви розділів. Приймемо EFI-розділ за /dev/sda1, Swap-розділ за /dev/sda2, а кореневий розділ за /dev/sda3. Якщо у вас інше, то тоді підставляйте замість /dev/sda1, наприклад, /dev/sdb1, замість /dev/sda2/dev/sdb2 і т. д.

  1. Форматування EFI-розділу в FAT32: mkfs.fat -F32 /dev/sda1
  2. Форматування Swap-розділу: mkswap /dev/sda2
  3. Активування Swap-розділу: swapon /dev/sda2
  4. Форматування кореневого розділу в стандартний тип файлової системи Ext4: mkfs.ext4 /dev/sda3
  5. Монтування кореневого розділу до /mnt

2.6 Встановлення первичної системи

2.6.1 Базовi пакети, точки монтування та chroot
  1. Встановлення базових пакетів: pacstrap /mnt base base-devel linux linux-firmware linux-headers networkmanager
  2. Генеруємо список точок монтування: genfstab -U /mnt >> /mnt/etc/fstab
  3. Переходимо в нашу систему для подальшої обробки: arch-chroot /mnt
2.6.2 Налаштування часу
  1. Переходимо до кореневого каталогу встановлюємої системи: arch-chroot /mnt
  2. Створюємо посилання на часовий пояс: ln -sf /usr/share/zoneinfo/Europa/Kyiv /etc/localtime
  3. Встановлюємо час: hwclock –-systohc
2.6.3 Налаштовування мов
  1. Встановлюємо текстовий редактор nano: sudo pacman -S nano
  2. Редагуємо файл з мовами за допомогою nano: nano /etc/locale.gen
  3. Натискаємо на Ctrl+W та вводимо наступний текст для пошуку: en_US.U
  4. У рядку en_US.UTF-8 UTF-8 прибираємо «#» для розкоментування.
  5. Якщо вам потрібна українська мова, то знову натискаємо на Ctrl+W та вводимо текст для пошуку: uk_UA.U
  6. Після знаходження рядка uk_UA.UTF-8 UTF-8, розкоментуйте його, тобто видаліть символ «#».
  7. Натискаємо Ctrl+O для запису змін, Enter для підтвердження, і Ctrl+X для виходу з редактора nano.
  8. Для очищення екрану можемо натиснути на Ctrl+L або ввести clear.
  9. Генеруємо локалі: locale-gen
  10. Вказуємо основною мовою системи англійську: echo "LANG=en_US.UTF-8" > /etc/locale.conf
2.6.4 Налаштування iменi комп’ютеру, користувачiв, паролiв та привілей
  1. Створюємо назву комп’ютера: echo "pc" > /etc/hostname
  2. Редагуємо файл /etc/hosts завдяки редактору nano, вписавши наступні дані і натиснувши Ctrl+O, Enter і Ctrl+X:
    127.0.0.7    localhost
            ::1          localhost
            127.0.1.1    назва_комп’ютера.localdomain    назва_комп’ютера
  3. Створюємо пароль для root-користувача: passwd
  4. Створюємо нового користувача «user»: useradd -m user
  5. Додаємо пароль користувачу «user»: passwd user
  6. Надаємо привілеї користувачу: usermod -aG wheel,audio,video,optical,storage user
2.6.5 Налаштування sudo
  1. Завантажуємо пакет sudo: pacman -S sudo
  2. Встановлення редактору текста по-замовчуванню: EDITOR=nano
  3. Безпечно редагуємо файл /etc/sudoers: visudo
  4. Шукаємо завдяки Ctrl+W в nano рядок, який потрібно буде розкоментувати (прибрати символ «#» на початку): %wheel ALL=(ALL) ALL(будьте уважні, саме цей рядок!)
  5. Зберігаємо файл та виходимо з нього, використовуючи Ctrl+O і Ctrl+X відповідно.
2.6.6 Налаштування iнтернету
  1. Додаємо демон (службу) iнтернету до автозапуску: systemctl enable NetworkManager
2.6.7 Налаштування завантажувача grub
  1. Завантажуємо grub та iнші доповняльні пакети: pacman -S grub efibootmgr dosfstools mtools
  2. Якщо ви хочете мати дві ОС на одному комп’ютері, то вам треба додатково завантажити пакет os-prober, та вписати в файл /etc/default/grub після рядку GRUB_CMDLINE_LINUX="" наступне: GRUB_DISABLE_OS_PROBER=false
  3. Створюємо каталог завантажувача: mkdir /boot/EFI
  4. Монтуємо роздiл завантажувача (для перевiрки який саме роздiл є EFI, використайте команду fdisk -l): mount /dev/sda1 /boot/EFI
  5. Встановлюємо grub: grub-install --target=x86_64-efi --bootloader-id=grub_uefi –-removable
  6. Генеруємо конфiгурацiю: grub-mkconfig -o /boot/grub/grub.cfg
2.6.8 Налаштування завантажувача grub
  1. Вихід з кореневого розділу (до якого входили за допомогою arch-chroot /mnt): exit
  2. Відмонтовування /mnt: umount -R /mnt
  3. Перезапуск (після цього треба вийняти диск/флешку, з якої завантажувалися): reboot

Базове налаштування

3.1 Пакетний менеджер

Pacman — це доволi зручний пакетний менеджер Arch-подiбних дистрибутивiв, який потребує root-прав для встановлення програм. Тому, якщо ви не з root-акаунта, то необхідно вводити sudo перед самою командою.

Команда Опис
pacman -S назва-пакету
другий-пакет третiй-пакет
Встановлення пакету або пакетiв
pacman -Sy Оновлення бази даних (списку) пакетiв
pacman -Syu Оновлення системи (усiх пакетiв)
pacman -Ss назва-пакету Пошук пакету по опису або назвi
pacman -Sc Очистка кешу невстановленних пакетiв
pacman -Scc Очистка кешу пакетiв
pacman -U шлях/до/файла.tar.xz Встановлення пакетiв з файлу або сайту (тодi замiсть шляху до файла треба вставити сайт)
pacman -R назва-пакету
другий-пакет третiй-пакет
Видалення пакету або пакетiв
pacman -Rs назва-пакету
другий-пакет третiй-пакет
Видалення пакету iз залежностями

Табл. 3.1: Шпаргалка по командам

3.2 Звук

3.3 Графiчний iнтерфейс

Графiчний інтерфейс дозволить нам перемiститись з термiналу до зручної графiки з iконками та кнопками.

3.3.1 Встановлюємо драйвера

Для AMD:

Для Nvidia: sudo pacman -S nvidia nvidia-settings

Для Intel: sudo pacman -S xf86-video-intel

3.3.2 Встановлюємо графiчне оточення:

Gnome:

  1. Встановлення пакетiв: sudo pacman -S gnome gdm ttf-dejavu gnome-extra
  2. Пакет gnome — саме оточення
  3. Пакет gdm — вiкно входу до системи
  4. Пакет ttf-dejavu — шрифт
  5. Пакет gnome-extra (не обов’язково) — додатковi програми

Додавання GDM до автозапуску: sudo systemctl enable gdm

Запуск GDM: sudo systemctl start gdm

KDE:

  1. Встановлення пакетiв: sudo pacman -S plasma sddm sddm-kcm kde-applications
  2. Пакет plasma — саме оточення
  3. Пакет sddm — вiкно входу до системи
  4. Пакет sddm-kcm — конфiгурацiйний модуль sddm
  5. Пакет kde-applications (не обов’язково) — додатковi програми. Якщо ви не будете ставити цей пакет, то обов’язково доставте програми konsole, dolphin, system-settings: sudo pacman -S konsole dolphin system-settings

Додавання SDDM до автозапуску: sudo systemctl enable sddm

Запуск SDDM: sudo systemctl start sddm

XFCE:

  1. Встановлення пакетiв: sudo pacman -S xfce4 lightdm lightdm-gtk-greeter xfce-goodies
  2. Пакет xfce4 — саме оточення
  3. Пакет sddm — вiкно входу до системи
  4. Пакет xfce-goodies (не обов’язково) — додатковi програми. Якщо ви не будете ставити цей пакет, то обов’язково доставте програми xfce4-terminal, thunar, xfce4-settings: sudo pacman -S xfce4-terminal thunar xfce4-settings
  5. Редагуємо файл за допомогою nano: nano /etc/lightdm/lightdm.conf
  6. Натискаємо на Ctrl+W та вводимо наступний текст для пошуку: #greeter-sess
  7. В нас пiдсвiтилась лiнiя, в цьому рядку потрiбно прибрати «#» i отримати наступне: greeter-session=lightdm-gtk-greeter
  8. Натискаємо Ctrl+O для запису змiн, Enter для пiдтвердження, i Ctrl+X для виходу.
  9. Додавємо LightDM до автозапуску: sudo systemctl enable lightdm
  10. Запускаємо LightDM: sudo systemctl start lightdm
3.3.3 Yay і AUR: ще більше пакетів
  1. Встановлюємо git: sudo pacman -S --needed base-devel git
  2. Завантажуємо помічник в інсталяції AUR-пакетів — yay: git clone https://aur.archlinux.org/yay.git
  3. Переходимо в новий каталог: cd yay
  4. Збираємо yay: makepkg -si

Готово! Тепер ми можемо використовувати yay як pacman, але не використовуючі root-права (тобто, наприклад, прописати yay -S git, або yay -Syyu). Головне, не зловживати AUR-пакетами, тому що вони найсвіжіші й можуть зламати систему своєю нестабільнистю.

3.3.4 Chaotic AUR

Недоліком AUR є необхідність збирати пакети на своєму залізі. Тому, було створено Chaotic AUR — репозиторій, в якому лежать вже зібрані з вихідників пакети, і які залишається тільки завантажити.

Додаємо репозиторій та оновлюємо пакети: pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com &&pacman-key --lsign-key 3056513887B78AEB &&pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' &&pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst' && echo "[chaotic-aur] Include = /etc/pacman.d/chaotic-mirrorlist" >> /etc/pacman.conf && pacman -Sy