Что такое Arch Linux?

Arch Linux - это бесплатный дистрибутив Linux с открытым исходным кодом, основанный на правиле Keep it Simple.

Установка

В Arch Linux нет графического установщика. Вам необходимо установить с помощью CLI.

Создание установочного носителя

Перейдите на страницу загрузок и выберите ближайшее зеркало. Загрузите файл iso. Если вы работаете в Windows, вы можете использовать rufus для создания загрузочного носителя.

В Linux вы можете использовать dd:

1
# dd if=downloaded.iso of=/dev/sdX bs=4M status=progress && sync

где X - идентификатор вашего USB-устройства. Не используйте один раздел. Используйте всё стройство.

Загрузите носитель

Вставьте USB-устройство и перезагрузите компьютер. Нажмите кнопку, настроен для загрузки параметров загрузки. Выберите свое USB-устройство из вариантов загрузки.

Подключиться к Интернету

Если у вас есть Ethernet, Arch linux iso обнаружит его. Если у вас есть беспроводной подключение, вам необходимо подключить его вручную.

1
2
3
# wpa_passphrase 'wifi APN' 'wifi password' >> /etc/wpa_supplicant/wpa_supplicant.conf
# wpa_supplicant -Bc /etc/wpa_supplicant/wpa_supplicant.conf -i 'wifi interface'
# dhclient

где Wi-Fi APN - это имя точки доступа, которое вы получаете при поиске своего Wi-Fi. И интерфейс Wi-Fi вы можете получить с помощью iwconfig. Это может быть wlp3s0 или wlan0. Или вы можете использовать wifi-меню.

Теперь пингуйте какой-нибудь веб-сайт # ping archlinux.org, чтобы проверить, подключены ли вы к Интернету или нет.

Разбиение диска и настройка LVM/LUKS

Есть несколько способов зашифровать установку. Один из них в LUKS на lvm. Это просто.

Предполагая, что у вас есть система UEFI, а sda - это ваш диск, на который вы хотите установить Archlinux.

1
# gdisk /dev/sda
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
GPT fdisk (gdisk) version 1.0.1

  Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-242187466, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-242187466, default = 242187466) or {+-}size{KMGTP}:
+512M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): EF00
Changed type of partition to 'EFI System'

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-242187466, default = 1050624) or {+-}size{KMGTP}: 
Last sector (1050624-242187466, default = 242187466) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8309
Changed type of partition to 'Linux LUKS'

Command (? for help): p
Disk /dev/sda: 242187500 sectors, 115.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 569FFB67-6969-49E4-B999-15A681987564
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 242187466
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI System
   2         1050624       242187466   115.0 GiB   8309  Linux LUKS

command (? for help): w

Введите o, а затем Y.

Введите n, чтобы создать новый раздел. Выберите 1, чтобы создать самый первый раздел для EFI. Нажмите Enter, а затем введите +512M, чтобы создать раздел 512 Mbs. Введите ef00 как тип перегородки.

Снова введите n, чтобы создать новый раздел. Выберите 2. Нажмите Enter и снова войдите в предоставьте ему остальную часть памяти, если вы не хотите устанавливать другие операционные система. Шестнадцатеричный код LUKS - 8309, но вы можете обойтись и без него. По умолчанию это будет быть 8300 (файловая система Linux).

Введите p, чтобы проверить, все ли в порядке. И когда все будет удовлетворено, введите w и нажмите Enter. чтобы сохранить работу.

Создание файловых систем

Сначала создайте файловую систему для EFI.

1
# mkfs.vfat -F32 /dev/sda1

Теперь создайте контейнер LUKS.

1
# cryptsetup luksFormat /dev/sda2

Вас попросят подтвердить. Введите YES в верхнем регистре. Затем выберите хорошую парольную фразу. Напишите, если не можете запомнить. Однажды забытое, вы не сможете его восстановить.

Теперь откройте новый контейнер.

1
# cryptsetup open /dev/sda2 cryptlvm

Создайте физический том в этом контейнере LUKS.

1
# pvcreate /dev/mapper/cryptlvm

Создайте группу томов. Я назову это никс.

1
# vgcreate nix /dev/mapper/cryptlvm

Создайте логические тома в группе томов. Я создаю три, один для зашифрованного swap, другой для home и последний для root.

1
2
3
# lvcreate -L 8G nix -n swap
# lvcreate -L 25G nix -n root
# lvcreate -l +100%FREE nix -n home

Теперь создайте файловые системы

1
2
3
# mkfs.ext4 /dev/mapper/nix-root
# mkfs.ext4 /dev/mapper/nix-home
# mkswap /dev/mapper/nix-swap

Смонтируйте их.

1
2
3
4
5
# mount /dev/mapper/nix-root /mnt
# mkdir /mnt/home
# mkdir /mnt/boot
# mount /dev/mapper/nix-home /mnt/home
# mount /dev/sda1 /mnt/boot

Включите раздел подкачки.

1
# swapon /dev/mapper/nix-swap

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

1
# pacstrap /mnt base base-devel linux linux-firmware

Сгенерируйте fstab

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

ПРИМЕЧАНИЕ: Если вы используете SSD, замените relatime на noatime в mnt/etc/fstab, кроме загрузочного раздела.

chroot в новую систему.

1
# arch-chroot /mnt

Установите часовой пояс.

1
2
# ln -s /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
# hwclock --systohc

Замени Азию своим континентом, а Yekaterinburg - городом.

Установить имя хоста

1
# echo nix > /etc/hostname

Замените nix именем, которому хотите дать свой компьютер.

Установить локали

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# vim /etc/locale.gen

  #en_HK ISO-8859-1  
  #en_IE.UTF-8 UTF-8  
  #en_IE ISO-8859-1  
  #en_IE@euro ISO-8859-15  
  #en_IL UTF-8  
  #en_IN UTF-8  
  #en_NG UTF-8  
  #en_NZ.UTF-8 UTF-8  
  #en_NZ ISO-8859-1  
  #en_PH.UTF-8 UTF-8  
  #en_PH ISO-8859-1  
  #en_SC.UTF-8 UTF-8  
  #en_SG.UTF-8 UTF-8  
  #en_SG ISO-8859-1  
  ru_RU.UTF-8 UTF-8  
  #en_US ISO-8859-1  
  #en_ZA.UTF-8 UTF-8  
  #en_ZA ISO-8859-1  
  #en_ZM UTF-8  
  #en_ZW.UTF-8 UTF-8  
  #en_ZW ISO-8859-1  
  #eo UTF-8  
  #es_AR.UTF-8 UTF-8  
  #es_AR ISO-8859-1  
  #es_BO.UTF-8 UTF-8  

Раскомментируйте ru_RU.UTF-8 UTF-8. (удалите # с начала)

1
2
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# locale-gen

Установите необходимое программное обеспечение.

1
# pacman -S wpa_supplicant dhclient dialog

Создайте пользователя.

1
2
# useradd -m -G wheel 'username'
# passwd 'username'

Создать пароль root

1
# passwd

конфигурация mkinitcpio

Отредактируйте файл /etc/mkinitcpio.conf. Скопируйте эту строку или напишите по порядку в строке хуков. Порядок имеет значение, поэтому не игнорируйте, иначе вы получите незагружаемую систему.

1
2
3
# vim /etc/mkinitcpio.conf

HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems resume fsck)

Сгенерируйте mkinitcpio

1
mkinitcpio -p linux

Установить загрузчик

1
# bootctl install 

Создавайте записи.

Создайте файл /boot/loader/entries/arch.conf.

1
2
3
4
5
6
# vim /boot/loader/entries/arch.conf

title	ArchLinux
linux	/vmlinuz-linux
initrd	/initramfs-linux.img
options cryptdevice=UUID=<YOUR-PARTITION-UUID>:lvm:allow-discards resume=/dev/mapper/nix-swap root=/dev/mapper/nix-root rw quiet

Где UUID можно получить с помощью blkid. Это будет /dev/sda2.

Размонтировать и перезагрузить

1
2
3
# exit
# umount /mnt
# reboot

Удалите USB-устройство. И наслаждайтесь новой зашифрованной установкой Archlinux.