====== установка arch linux ======
===== Создание загрузочного диска =====
качаем iso образ с https://archlinux.org/download/
подключаем диск, который сделаем загрузочным (проверяем в lsblk), диск не должен быть примонтирован
записываем образ на диск (не на раздел, а на весь диск):
sudo dd if=archlinux.iso of=/dev/sdX bs=4M status=progress oflag=sync
загружаемся с новоиспеченного загрузочного диска
===== Подключение к Интернету =====
втыкаем патчкорд и проверем доступ в Интернет:
ping -c 3 archlinux.org
если нужно подключиться по wifi:
# посмотреть имя Wi-Fi адаптера (например, wlan0)
[iwd]# device list
# сканирование сети
[iwd]# station wlan0 scan
# показ доступных сетей
[iwd]# station wlan0 get-networks
# подключение к открытой сети
[iwd]# station wlan0 connect ИМЯ_СЕТИ
# подключение к защищенной сети
[iwd]# station wlan0 connect ИМЯ_СЕТИ passphrase=ПАРОЛЬ
# подключение к скрытой сети
[iwd]# station wlan0 connect ssid=ИМЯ_СЕТИ passphrase=ПАРОЛЬ
если ИМЯ_СЕТИ / ПАРОЛЬ содержит спецсимволы - используй кавычки
===== Форматирование =====
==== Разметка диска ====
# ищем нужный диск
fdisk -l
# начинаем интерактивную разметку
fdisk /dev/sdX
# любуемся резальтатом
lsblk
Схемы разметки могут быть разными под разные потребности. Вот основные разделы:
* (Обязательно) Системный раздел EFI размером 512 МБ, отформатированный в формате FAT32. Это обеспечивает пространство для хранения загрузчиков и других файлов, необходимых для загрузки.
* (Опционально) Раздел подкачки размером RAM*2. Пространство подкачки используется для расширения виртуальной памяти за пределы установленной физической памяти (ОЗУ) или для поддержки записи на диск. Лучше использовать SWAP-файл в будущей системе, так как его размер можно будет поменять.
* (Обязательно) Раздел Linux с оставшимся свободным местом на диске в формате удобной тебе файловой системы (чаще всего EXT4). Это корневой раздел (/), на котором будет храниться наша операционная система, файлы и другая информация.
Опционально можно создать любые другие разделы для хранения в них чего угодно, например ''/home'' в отдельном разделе.
==== Создание ФС ====
# для типа раздела EFI создай файловую систему FAT32
mkfs.fat -F32 /dev/sdXY
# инициализирует раздел как swap
mkswap /dev/sdaXY
# активирует swap-раздел
swapon /dev/sdaXY
# для корневого раздела создай файловую систему (для примера - EXT4)
mkfs.ext4 /dev/sdXY
# таким же образом и для /home или чего-то еще такого
===== Установка Arch =====
++++удобные параметры pacman|
/etc/pacman.conf
#UseSyslog # отправляет логи pacman в системный журнал (отключено)
Color # включает цветной вывод в терминале
ILoveCandy # заменяет стандартный прогресс-бар на анимацию из точек (пасхалка)
#NoProgressBar # отключает отображение прогресс-бара при загрузке пакетов (отключено — прогресс-бар отображается)
CheckSpace # проверяет наличие достаточного места на диске перед установкой пакетов
#VerbosePkgLists # выводит подробный список пакетов при операциях (отключено — используется краткий вывод)
ParallelDownloads = 10 # позволяет загружать до 10 пакетов одновременно для ускорения установки
++++
# принудительно обновляет списки пакетов (+ игнорировать локальный кэш)
pacman -Syy
# монтируем корневой раздел
mount /dev/sdXY /mnt
# если создавали доп.разделы - их тоже монтируем
mkdir /mnt/home/ && mount /dev/sdXY /mnt/home
# юзаем pacstrap для установки необходимых пакетов
pacstrap -K /mnt base linux linux-firmware
# пакет base включает только самое необходимое: ядро, pacman, базовые утилиты
# здесь же ставим пакеты драйверов, текстовых редакторов, базового софта, всего чего хотим в новой системе
# генерирует таблицу монтирования по UUID и добавляет в fstab
genfstab -U /mnt >> /mnt/etc/fstab
===== Пост-установочные настройки =====
# меняет корень на /mnt и входит в новую систему
arch-chroot /mnt
# устанавливает часовой пояс через симлинк
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# записывает системное время в аппаратные часы
hwclock --systohc
# раскоментируем нужные строки
vim /etc/locale.gen
# en_US.UTF-8 UTF-8
# ru_RU.UTF-8 UTF-8
# генерирует локали на основе /etc/locale.gen
locale-gen
# задаёт системную локаль
echo LANG=ru_RU.UTF-8 > /etc/locale.conf && export LANG=ru_RU.UTF-8
# задаёт hostname
echo naboo > /etc/hostname
# открывает файл сопоставления имён и IP-адресов
vim /etc/hosts
# 127.0.0.1 localhost
# ::1 localhost
# 127.0.1.1 naboo
# задаёт пароль root в свежеустановленной системе
passwd
==== Непривелигированный пользователь ====
# создаёт пользователя с домашней папкой (-m)
useradd -m user
# задаёт пароль для нового пользователя
passwd user
===== Установка загрузчика =====
==== GRUB2 ====
# устанавливает GRUB и сопутствующие утилиты для UEFI
pacman -S grub efibootmgr os-prober mtools
# создаёт и монтирует точку монтирования EFI
mkdir /boot/efi && mount /dev/sdXY /boot/efi
# устанавливает GRUB в EFI-раздел
grub-install --target=x86_64-efi --bootloader-id=grub_uefi
# генерирует конфигурационный файл GRUB
grub-mkconfig -o /boot/grub/grub.cfg
===== Завершение установки =====
# выходим из chroot-окружения
exit
# рекурсивно размонтируем все подмонтированные разделы в /mnt
umount -R /mnt
# перезагружаем систему
reboot