Установка и настройка ArchLinux руками (без скрипта archinstall)
Это краткая и надеюсь понятная для новичков wiki документация, по установке Arch Linux. Рассмотрим мы все, от конфигурации дисков и до установки графической оболочки!
Не будем медлить и приступим к установке.
Первым делом скачиваем образ дистрибутива с официального сайта!
Скачиваете с удобным для вас торрент-клиентом по этому пути: https://archlinux.org/download/
Создаем загрузочный образ на Flash-USB и настраиваем BIOS под автозагрузку нашей флешки.
Думаю эти пункты можно и не раскрывать т.к. если вы уже решили установить Arch, то вы обязаны знать базовые вещи))
1. Проверка интернет-соединения.
В этой инструкции не будет информации про настройку подключения по Wi-Fi. Если вы собираетесь подключиться к беспроводной сети, то рекомендую прочитать эту статью.
1.1. Запускаем команду ping для проверки подключения к интернету.
ping wiki.hellnetwork.net
При успешном соединении должны "побежать" байтики.
2. Настройка дисков.
Одна из самых важных вещей - правильная настройка дисков, т.к. без этого невозможно даже запустить нашу машинку.
2.1. Сначала проверим доступные нам диски командой:
lsblk
В моем случае нужный мне диск это /dev/sdb.
Не забывайте, что в вашем случае диск скорее всего будет другой!
2.2. Подготовка диска.
В этом гайде мы будем пользоваться утилитами gdisk и cgdisk.
Запускаем команду ниже, что бы удалить все данные на нашем диске, и подготовить его к разметке:
gdisk /dev/sdb/
На первую опцию пишем букву x - для того, что бы зайти в режим эксперта, затем z что бы удалить данные на диске.
2.3. Создание разделов.
Пора создавать разделы на нашем пустом диске. Для этого мы воспользуемся утилитой cgdisk (т.к банально, это легче для меня), вы можете воспользоватся удобной для вас утилитой!
Открываем наш диск командой:
cgdisk /dev/sdb/
- /boot-раздел. First Sector оставляем дефолтным. На втором пункте прописываем сколько места мы выделяем для нашего раздела. Я обычно выделяю 1024MiB. Код раздела - ef00. Даем имя нашему разделу - boot.
- Раздел /swap. First Sector также оставляем пустым. Затем пишем сколько места мы выделяем для раздела подкачки, обычно я выбираю не меньше 8GiB. В зависимости от размера вашего диска вы можете выделять сколько вам угодно (но желательно больше 4GiB). Код раздела - 8200. Даем имя нашему разделу - swap.
- /root. Создаем корневой раздел. First Sector также оставляем пустым. Затем прописываем сколько места мы выделяем для корневой директории (и да, лучше всего разделять корневую директорию и домашнюю, в целях безопасности.). Обычно я выбираю не больше 40GiB, т.к корневой директорию я особо не буду нагружать. Код раздела - 8300. Даем имя нашему разделу - root.
- И последнее /home - домашний раздел. Здесь мы все пункты оставляем пустыми, ибо все остальное место выделяется для домашнего раздела. Код раздела - 8300. Даем имя нашему разделу - home.
2.4. Форматирование разделов.
Теперь нам нужно отморфатировать все наши разделы, для дальнейшего монтирования.
Запускаем команду lsblk и видим, что в нашем диске (в моем случае - /dev/sdb/) появились 4 раздела.
Форматирование происходит по порядку разделов, то есть сначала /boot , /swap, /root и /home.
- Начнем с /boot. Вводим команду:
mkfs.fat -F32 /dev/sdb1 - Для /swap вводим команды:
mkswap /dev/sdb2 swapon /dev/sdb2 - Затем последние разделы форматируем под ext4.
mkfs.ext4 /dev/sdb3 mkfs.ext4 /dev/sdb4
2.5 Проверяем результат форматирования.
Для этого вводим команду lsblk и в результате, в пункте Type наши разделы должны показываться как part.
2.6 Монтирование разделов.
Для того, что бы установить систему, разделы сначала нужно будет примонтировать на определенный путь.
Для корневой директории:
mount /dev/sdb3 /mnt
Затем создаем директории внутри /mnt , в которые мы будем монтировать наши разделы.
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sdb1 /mnt/boot
mount /dev/sdb4 /mnt/home
Затем снова пишем команду lsblk и видим, что разделы примонтированы в указанные директории.
3. Обновление зеркал.
Для начала забекапим файл зеркал:
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
Затем устанавливаем нужные нам пакеты:
sudo pacman -Sy pacman-contrib
и обновляем зеркала:
rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
4. Установка основных пакетов и первоначальная настройка.
Теперь пришло время для установки важных пакетов нашей системы.
4.1. Установка базы линукс
pacstrap -K /mnt base linux linux-firmware base-devel
4.2. Генерируем fstab файл:
genstab -U -p /mnt >> /mnt/etc/fstab
4.3. Переходим к корневому каталогу устанавливаемой системы
arch-chroot /mnt
Устанавливаем нужные нам пакеты, в первую очередь nano для работы с файлами.
pacman -S nano
4.4. Настраиваем наши региональные данные.
Для этого открываем файл /etc/locale.gen и раскоментируем нужную нам строку. Для меня это en_US.UTF-8. Затем запускаем команду:
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
Дальше настройка timezone.
ln -s /usr/share/zoneinfo/Asia/Tashkent > /etc/localtime
hwclock --systohc --utc
Прописываем hostname системы:
echo yourhostname > /etc/hostname
Для поддержки 32-битной структуры в файле /etc/pacman.d/mirrorlist раскоментируем пункт [multilib] и все что с ним связано.
Затем обновляем пакеты:
sudo pacman -Sy
4.5. Создание пароля рута и создание нового пользователя
Для начала установим пароль от рута командой passwd
Затем создаем нового пользователя командой:
useradd -m -u users -G wheel,storage,power -s /bin/bash username
passwd username
4.6. Настройка бутлоудера
Для начала установим наш бутлоудер:
bootctl install
но для его работы нам нужно прописать entries. В файле /boot/loader/entries/arch-entry.conf прописываем все что внизу:
title <yourtitle>
linux /vmlinuz-linux
initrd /initframs-linux.img
Затем прописываем команду:
echo "options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/sdb3) rw" >> /boot/loader/entries/arch-entry.conf
4.7. Настройка сети.
Установка и настройка dhcp:
sudo pacman -S dhcpd
sudo systemctl enable dhcpcd@<your-net-card>.service
Установка менеджера сети:
sudo pacman -S networkmanager
sudo systemctl enable NetworkManager.service
Теперь мы можем перезагрузить систему и вытащить нашу флешку.