Ручная установка и настройка Arch Linux — подробное руководство

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

ARCH


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


Скачиваем образ дистрибутива Arch Linux


Утилиты для записи образа на флеш-накопитель:


  • Linux — balenaEtcher
  • Windows — Rufus
  • Кроссплатформенный Ventoy (рекомендовано)

Руководство на Habr как записать образ на флеш-накопитель с помощью Ventoy
Видео на YouTube по использованию Ventoy


Если вы пользуетесь проводным соединением, то пропускаем настройку беспроводной сети и переходим к "Проверяем работу сети"


Настройка беспроводной сети


Проверяем не заблокирован ли WiFi


rfkill

  • Если видим что что заблокирован wlan,

ID TYPE      DEVICE      SOFT      HARD  
0 bluetooth hci0   unblocked unblocked  
1 wlan      phy0     blocked unblocked

  • … то выполняем команду

rfkill unblock wifi

  • Теперь все OK

ID TYPE      DEVICE      SOFT      HARD  
0 bluetooth hci0   unblocked unblocked  
1 wlan      phy0   unblocked unblocked

Утилита iwctl для работы с WiFi


iwctl

В самой утилите iwctl вводим команды:


  • Смотрим ваши WiFi сетевые карты

[iwd]# device list

wlan0


  • Сканируем доступные сети

[iwd]# station wlan0 scan

  • Выводим список доступных сетей

[iwd]# station wlan0 get-networks

  • Например получаем такое, видим там свою сеть

                              Available networks
--------------------------------------------------------------------------------
  Network name                    Security          Signal
--------------------------------------------------------------------------------
  Ace                             psk               ****
  Nazok                           psk               ***
  Artem                           psk               ***

  • Соединяемся с нашей сетью

[iwd]# station wlan0 connect Ace

  • Вводим пароль

Type the network passphrase for Ace psk.
Passphrase: ********

  • Выходим из iwctl

[iwd]# exit

Проверяем работу сети


ping archlinux.org -c3

PING archlinux.org (95.217.163.246) 56(84) bytes of data.  
64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=50 time=98.4 ms  
64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=50 time=98.3 ms  
64 bytes from archlinux.org (95.217.163.246): icmp_seq=3 ttl=50 time=98.4 ms  

--- archlinux.org ping statistics ---  
3 packets transmitted, 3 received, 0% packet loss, time 2003ms  
rtt min/avg/max/mdev = 98.302/98.356/98.413/0.045 ms

  • Если видите подобное, двигаемся дальше, в противном случае решаем проблему доступа к Internet

Работа с носителем


Определяем наш диск


  • Команда для просмотра SATA/USB дисков

lsblk --scsi

NAME HCTL       TYPE VENDOR   MODEL                          REV SERIAL               TRAN
sda  0:0:0:0    disk ATA      Apacer AS340 240GB            V4.7 J28485R004707        sata
sdb  1:0:0:0    disk ATA      Samsung SSD 840 EVO 250GB EXT0DB6Q S1DBNSAFB46994Z      sata
sdc  6:0:0:0    disk Multi    Flash Reader                  1.00 058F63666471         usb
sdd  8:0:0:0    disk Generic  Flash Disk                    8.07 FB2DD809             usb

  • Команда для просмотра NVME дисков

lsblk --nvme

NAME    TYPE MODEL                   SERIAL                    REV TRAN   RQ-SIZE  MQ  
nvme0n1 disk Viper M.2 VPN110 1024GB VPN110EBBB2208190124 42BBT9BB nvme      1023   8  
nvme1n1 disk KINGSTON SNV2S1000G     50026B77857A8C32     SBM02103 nvme       255   8

  • Еще вариант просмотра информации о дисках

fdisk -l

  • в качестве примера будем использовать диск sda

План разделов GPT для UEFI на SSD 240 GB


UEFI


Раздел Название Формат Размер Назначение
sda1 efi FAT32 300 MiB Загрузочный efi
sda2 boot EXT4 1 GiB Ядра linux
sda3 swap SWAP 8 GiB Раздел подкачки
sda4 root BTRFS ~230 GiB Система, данные

  • при использовании btfrs, если не разделить efi и boot на разные разделы, не получится настроить grub для автоматической загрузки последнего удачного входа, будет загружаться всегда пункт меню по умолчанию
  • а именно не будут работать эти параметры в файле /etc/default/grub:
    GRUB_DEFAULT=saved
    GRUB_SAVEDEFAULT=true

План разделов GPT для BIOS на SSD 240 GB


BOIS


  • если на компьютере нет поддержки efi или по какой-то причине вам нужна legacy загрузка

Раздел Название Формат Размер Назначение
sda1 bios BIOS 1 MiB Загрузочный bios
sda2 boot EXT4 1 GiB Ядра linux
sda3 swap SWAP 8 GiB Раздел подкачки
sda4 root BTRFS ~230 GiB Система, данные

Подготовка диска


В распоряжении имеются следующие утилиты для разбивки диска: cfdisk, fdisk, gdisk.


  • Будем использовать fdisk

fdisk /dev/sdX

  • где sdX ваш диск, в качестве примера везде будет sda

Разбивка для UEFI


Команда g — создание нового GPT раздела, старый раздел будет удален


Command (m for help): g


Created a new GPT disklabel (GUID: 73749F7E-1B28-874D-94AE-DED4CE70D269)


Команда n — создание раздела


  • раздел EFI (300M)
    Command (m for help): n
    Partition number (1-128, default 1):↵
    First sector (2048-500118158, default 2048):↵
    Last sector, ±sectors or ±size{K,M,G,T,P} (2048-500118158, default 500117503): +300M
    Created a new partition 1 of type 'Linux filesystem' and of size 300 MiB.


  • раздел BOOT (1G)
    Command (m for help): n
    Partition number (2-128, default 2):↵
    First sector (616448-500118158, default 616448):↵
    Last sector, ±sectors or ±size{K,M,G,T,P} (616448-500118158, default 500117503): +1G
    Created a new partition 1 of type 'Linux filesystem' and of size 1 GiB.


  • раздел SWAP (8G) размер выбираем равным оперативной памяти
    Command (m for help): n
    Partition number (3-128, default 3):↵
    First sector (2713600-500118158, default 2713600):↵
    Last sector, ±sectors or ±size{K,M,G,T,P} (2713600-500118158, default 500117503): +8G
    Created a new partition 1 of type 'Linux filesystem' and of size 8 GiB.


  • раздел ROOT (отдаем оставшееся место)
    Command (m for help): n
    Partition number (4-128, default 4):↵
    First sector (19490816-500118158, default 19490816):↵
    Last sector, ±sectors or ±size{K,M,G,T,P} (19490816-500118158, default 500117503): ):↵
    Created a new partition 1 of type 'Linux filesystem' and of size 229.2 GiB.



Команда t — задать тип раздела, если не задавать то по умолчанию тип 20 Linux filesystem


  • задаем тип EFI разделу
    Command (m for help): t
    Partition number (1-4, default 4): 1
    Partition type or alias (type L to list all): 1
    Changed type if partition 'Linux filesystem' to 'EFI filesystem'.


  • задаем тип SWAP разделу
    Command (m for help): t
    Partition number (1-4, default 4): 3
    Partition type or alias (type L to list all): 19
    Changed type if partition 'Linux filesystem' to 'Linux swap'.


  • остальные разделы не трогаем



Команда p — отобразить информацию о разделах


Disk /dev/sda: 238.47 GiB, 256060514304 bytes, 5001118192 sectors
Disk model: Apacer AS340 240GB     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 73749F7E-1B28-874D-94AE-DED4CE70D269

Device         Start       End   Sectors   Size Type
/dev/sda1       2048    616447    614400   300M EFI System
/dev/sda2     616448   2713599   2097152     1G Linux filesystem
/dev/sda3    2713600  19490815  16777216     8G Linux swap
/dev/sda4   19490816 500117503 480626688 229.2G Linux filesystem

Команда w — сохранить таблицу разделов


The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Разбивка для BIOS


  • раздел BIOS (1M)
    Command (m for help): n
    Partition number (1-128, default 1):↵
    First sector (2048-500118158, default 2048):↵
    Last sector, ±sectors or ±size{K,M,G,T,P} (2048-500118158, default 500117503): +1M
    Created a new partition 1 of type 'Linux filesystem' and of size 1 MiB.


  • задаем тип BIOS разделу
    Command (m for help): t
    Partition number (1-4, default 4): 1
    Partition type or alias (type L to list all): 4
    Changed type if partition 'Linux filesystem' to 'BIOS boot'.


  • Первый раздел создается под BIOS вместо EFI, остальные разделы создаются подобно EFI разбивке


    Форматируем разделы


  • Форматируем efi



mkfs.fat -F32 /dev/sda1

  • в случае использования раздела bios форматировать sda1 не нужно


  • Форматируем boot



mkfs.ext4 -L boot /dev/sda2

  • Форматируем и включаем swap

mkswap -L swap /dev/sda3
swapon /dev/sda3

  • Форматируем root

mkfs.btrfs -L arch /dev/sda4 -f

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


  • Создаем тома и подтома (subvolumes)

mount /dev/sda4 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@var
btrfs su cr /mnt/@home
btrfs su cr /mnt/@snapshots
umount /mnt

  • Монтируем разделы для BIOS и EFI

mount -o noatime,compress=lzo,space_cache=v2,ssd,subvol=@ /dev/sda4 /mnt
mkdir -p /mnt/{home,boot,var,.snapshots}
mount -o noatime,compress=lzo,space_cache=v2,ssd,subvol=@var /dev/sda4 /mnt/var
mount -o noatime,compress=lzo,space_cache=v2,ssd,subvol=@home /dev/sda4 /mnt/home
mount -o noatime,compress=lzo,space_cache=v2,ssd,subvol=@snapshots /dev/sda4 /mnt/.snapshots
mount /dev/sda2 /mnt/boot

  • для загрузки BIOS этого достаточно


  • Для EFI загрузки добавляем следующее



mkdir /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi

Начальная настройка


  • Устанавливаем базовую часть системы для новых поколений ПК, самое новое ядро

pacstrap /mnt base base-devel linux linux-headers linux-firmware intel-ucode amd-ucode nano

  • Устанавливаем базовую часть системы для ядра с длительной поддержкой (lts)
  • Актуально для не очень новых ПК

pacstrap /mnt base base-devel linux-lts linux-lts-headers linux-firmware intel-ucode amd-ucode nano

  • Генерируем fstab

genfstab -pU /mnt - -  /mnt/etc/fstab

  • Меняем корневой каталог на /mnt

arch-chroot /mnt

  • Задаем пароль root

passwd

  • Даем имя ПК

nano /etc/hostname

  • Настраиваем временную зону

ln -sf /usr/share/zoneinfo/Asia/Almaty /etc/localtime

  • Открываем файл с локалями

nano /etc/locale.gen

  • Раскомментируем в содержимом файла locale.gen

ru_RU.UTF8 UTF8
en_US.UTF8 UTF8

  • остальные локали на ваше усмотрение


  • Создаем локали


    locale-gen

  • Настраиваем язык консоли, добавляем кириллицу



nano /etc/vconsole.conf

KEYMAP=ru
FONT=cyr-sun16

  • Устанавливаем язык системы по умолчанию
    nano /etc/locale.conf

LANG="ru_RU.UTF-8"

  • Инициализируем пакетный менеджер pacman

pacman-key --init

  • Загружаем ключи


    pacman-key --populate archlinux

  • Настраиваем pacman


    nano /etc/pacman.conf

  • Раскомментируем в содержимом файла pacman.conf



[multilib]
Include = /etc/pacman.d.mirrorlist

  • Опционально можно включить следующие опции в секции # Misc options:
  • color — цветная подсветка pacman;
  • ParallelDownloads — количество параллельных загрузок, рекомендация не ниже 5;
  • ILoveCandy — можно добавить забавный прогрессбар загрузки пакетов в стиле игры Pacman
Источник: https://habr.com/ru/articles/819729/


Интересные статьи

Интересные статьи

Описываю свой рабочий опыт установки macOS на старенький macbook, так как другие способы описанные в интернете не дали результатов, либо привели к новым ошибкам.Для начала скачиваем дистрибутив в форм...
Выбор компании, которой Вы доверите свой проект по разработке программного обеспечения – ответственная задача. Для крупных компаний, у которых тендерные процедуры давно отработаны и формализированы – ...
Контекстологи… директологи… адсенсологи… Таргетологи… Простые настройщики зарабатывают деньги на том, что вам лень разбираться в том как это работает. Или все не так просто, и чтобы настроить контекст...
... а также бесплатные пробные версии продуктов Red Hat!Мы собрали для вас дайджест полезных материалов, найденных нами в сети за последние две недели в нашей постоянной рубрике #полезногопост!
Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказало...