В соответствии с «Arch Linux Wiki«. Arch Linux — это независимо разрабатываемый i686/x86-64 дистрибутив GNU/Linux общего назначения, достаточно гибкий для выполнения любой роли. Процесс разработки фокусируется на простоте, минимализме и элегантности кода. Arch устанавливается в виде минимальной базовой системы, настраивается пользователем под собственные нужды путём построения уникальной среды с установкой только необходимых компонентов. Инструменты настройки с графическим интерфейсом официально не предоставляются, и большая часть настроек системы выполняется из консоли путём редактирования простых текстовых файлов. Основанный на модели плавающих релизов, дистрибутив Arch стремится оставаться предельно современным и предлагает последние стабильные версии большинства пакетов.
В данной статье я расскажу как происходит базовая установка и настройка Arch Linux в качестве сервера.
Загрузка ISO образа и запись диска
Загрузить ISO образ можно с официального сайта Arch Linux
После загрузки образа, запишите его на диск, любым удобным для вас способом.
Также можно загрузить образ на флешку.
После записи диска/флешки, вставьте его и дождитесь загрузки диска:
Окно загрузки Arch Linux
В данном окне выберите Boot Arch Linux (x86_64)
Подключение будущего сервера к интернету
Для начала установки нужно убедиться, что вы подключены к интернету.
Проще всего проверить это выполнив команду ping:
ping -c 3 google.com
Создание и монтирование разделов жесткого диска
В данном шаге мы создадим разделы жесткого диска, для этого воспользуемся утилитой cfdisk, используем тип раздела «dos». Будут созданы разделы / для корневой файловой системы и swap, для swap устройства. Допустим, что /dev/sda — наш жесткий диск.
Выполним:
cfdisk /dev/sda
Выберем тип «dos»:
В моем случае у меня был диск на 80гб:
Создадим / (корневой) раздел, размером 76гб:
[New] -> Enter Partition Size -> 76G Primary or Extended -> Select Primary Select [Bootable] -> Enter
Создадим swap раздел (4гб):
[New] -> Enter Partition Size -> 4G Primary or Extended -> Select Primary Select [Write] -> Enter -> type: yes Select [Quit]
Создадим файловую систему на корневом / разделе. Для этого отформатируем его в файловую систему ext4:
mkfs.ext4 /dev/sda1
Отформатируем раздел /dev/sda2 , для создания swap:
mkswap /dev/sda2
Подключим swap:
swapon /dev/sda2
Примонтируем корневой раздел (/dev/sda1) в /mnt:
mount /dev/sda1 /mnt
Установка базовой системы
Перед установкой вы можете изменить файл /etc/pacman.d/mirrorlist , для указания предпочтительных серверов обновлений:
nano /etc/pacman.d/mirrorlist
Также копия этого файла будет установлена в вашу систему.
Далее, установим базовую систему с помощью pacstrap. Если вы собираетесь компилировать ПО из AUR, также установите группу пакетов base-devel.
pacstrap -i /mnt base base-devel
Генерация fstab
Сгенерируем файл fstab с UUID в качестве имен устройств:
genfstab -U -p /mnt >> /mnt/etc/fstab
Проверим правильность сгенерированного fstab:
cat /mnt/etc/fstab
Вход(chroot) в свежеустановленную систему
Войдем (chroot) в свежеустановленную, но не настроенную систему:
arch-chroot /mnt
Настройка интернет соединения
Для начала узнаем имя сетевой карты сервера:
ip link
В нашем случае это enp0s3. Попытаемся получить IP автоматически, используя DHCP:
systemctl enable dhcpcd@enp0s3.service
Установка языка, часового пояса и прочих настроек
В этом шаге зададим язык системы, время, дату и часовой пояс.
Для начала откроем файл /etc/locale.gen:
nano /etc/locale.gen
Вы получите длинный список языков. Выберите нужный и раскомментируйте его (уберите # перед ним). В статье будет использован только английский язык, поэтому раскомментируем строки en_US.UTF-8 UTF-8, en_US ISO-8859-1. Для русской локали следует также раскомментировать ru_ru.UTF-8 UTF-8. Нажимаем Ctrl-x,а потом y, для сохранения изменений.
После чего сгенерируем выбранные локали:
locale-gen
Укажем язык по умолчанию:
echo LANG=en_US.UTF-8 > /etc/locale.conf export LANG=en_US.UTF-8
Для русской локали следует заменить en_US.UTF-8 на ru_RU.UTF-8
Далее укажем часовой пояс, но перед этим найдем наш часовой пояс (в статье будет использован часовой пояс America/New_York):
ls /usr/share/zoneinfo/
Например, для России и московского времени это будет часовой пояс Europe и подпояс Moscow.
Создадим ссылку на выбранный часовой пояс:
ln -s /usr/share/zoneinfo/America/New_York > /etc/localtime
Настроим системные часы:
hwclock --systohc --utc
Установка репозитория Arch Linux
Настроим репозиторий Arch Linux, для этого откроем файл /etc/pacman.conf
nano /etc/pacman.conf
Включим репозиторий multilib, он нужен, если вы на 64-битной версии захотите запустить 32-битные приложения. Для включения репозитория нужно раскомментировать строки:
[multilib] Include = /etc/pacman.d/mirrorlist
Добавим неофициальный репозиторий:
[archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch
Сохраним изменения и обновим репозиторий Arch Linux:
pacman -Sy
Настройка имени сервера (hostname)
Запишем нужное имя сервера в файл /etc/hostname:
echo your_hostname > /etc/hostname
Например:
echo archserver > /etc/hostname
Замените archserver на нужное вам имя.
Проверим установленное имя:
cat /etc/hostname
Создание пользователя и выдача sudo привилегий
Теперь нам нужно создать пользователя. Этот пользователь должен будет подключаться к серверу, дадим ему sudo привелегии, для выполнения задач от имени администратора:
useradd -m -g users -G wheel,storage,power -s /bin/bash USER_NAME
Где USER_NAME — имя вашего пользователя
Например:
useradd -m -g users -G wheel,storage,power -s /bin/bash archuser passwd archuser
Далее установим sudo и bash-completion:
pacman -S sudo bash-completion
Откроем файл /etc/sudoers
nano /etc/sudoers
найдем и раскомментируем следующую строку:
%wheel ALL=(ALL) ALL
Указание пароля для root пользователя
Укажем пароль для root пользователя:
passwd
И введем новый пароль 2 раза
Установка SSH сервера
Установим SSH сервер:
pacman -S openssh
Добавим его в автозагрузку:
systemctl enable sshd.service
Установка и настройка загрузчика GRUB
Установим пакеты grub и os-prober:
pacman -S grub os-prober
Установим grub на жесткий диск:
grub-install --recheck /dev/sda
Создадим файл конфигурации GRUB:
grub-mkconfig -o /boot/grub/grub.cfg
Выход из системы(chroot) и отмонтирование файловой системы
Выйдем из chroot сессии:
exit
Отмонтируем файловую систему:
umount -R /mnt
Перезапустим Arch Linux:
reboot
Подключение по SSH
Теперь мы можем подключиться к нашему серверу по SSH:
ssh имя_пользователя@ip_сервера
Например:
ssh archuser@10.0.2.15
На этом всё 🙂
Длинновато получилось…