Установка Arch Linux на сервер
Введение
Arch Linux — минималистичная, гибкая и «катящаяся» (rolling-release) GNU/Linux‑дистрибуция. Она устанавливается как минимальная базовая система, после чего вы сами собираете своё окружение, устанавливая только нужные пакеты. Это даёт полный контроль над сервером, но требует работы в командной строке и редактирования текстовых файлов.
В этом руководстве пошагово показано, как установить Arch Linux на машину для использования в качестве сервера. Оно подходит для начинающих с опытом чтения команд и администрирования, а также для опытных инженеров, которые хотят опору в виде компактного playbook.
Внимание: в примерах используются /dev/sda и /dev/sdb — перед выполнением команд убедитесь, что вы выбрали правильные устройства, иначе можно потерять данные.
Содержание
- Шаги установки: от ISO до загрузки в систему
- Настройка сети, локалей, часового пояса
- Установка пакетов: base, sudo, openssh, grub
- Рекомендации по безопасности и проверочный чек‑лист
- Альтернативные подходы, когда этот метод не подходит
- Критерии приёмки и откат
Шаг 1 — Загрузка ISO и создание загрузочной USB‑флешки
Скачайте последнюю ISO‑копию Arch Linux с официального сайта Arch Linux.
После загрузки вставьте пустую USB‑флешку в компьютер, где лежит ISO, и найдите имя устройства USB с помощью:
lsblkПример вывода (на вашей системе значения могут отличаться):
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223,6G 0 disk
/dev/sda1 8:1 0 37,3G 0 part /
/dev/sda2 8:2 0 186,3G 0 part /home
sdb 8:16 1 14,8G 0 disk
/dev/sdb1 8:17 1 14,8G 0 partЗапишите ISO на флешку с помощью dd (внимательно укажите правильные пути):
sudo dd if=/path-of-arch-iso-image /usb-flash-driveПример:
sudo dd if=/home/neocode/iso/archlinux-2015.09.01-dual.iso /dev/sdb1После записи вставьте флешку в сервер, установите в BIOS/UEFI загрузку с USB и выберите «Boot Arch Linux (x86_64)». Вы попадёте в текстовую консоль.

Шаг 2 — Подключение сервера к интернету
Перед началом установки убедитесь, что у вас есть рабочее сетевое подключение. Для проверки используйте ping:
ping -c 3 google.comЕсли пакеты отдаются, соединение установлено.

Важно: если у вас нет DHCP, настройте временную статическую конфигурацию через ip или systemd‑networkd/Netctl (см. раздел «Альтернативные подходы»).
Шаг 3 — Создание и монтирование разделов
Мы используем cfdisk для разметки диска. В примерах используется метка раздела “dos” (MBR). Для современных серверов рекомендуется GPT с UEFI — это описано в разделе «Альтернативные подходы».
Запустите:
cfdisk /dev/sdaВыберите тип метки: [dos]

В примере есть ~80 ГБ свободного места:

Создаём раздел под корень (/):
[New] -> Enter
Partition Size -> 76G
Primary or Extended -> Select Primary
Select [Bootable] -> Enter
Создаём раздел под swap:
[New] -> Enter
Partition Size -> 4G
Primary or Extended -> Select Primary
Select [Write] -> Enter -> type: yes
Select [Quit]
Отформатируйте корневой раздел ext4:
mkfs.ext4 /dev/sda1
Настройте swap:
mkswap /dev/sda2
swapon /dev/sda2
Смонтируйте корневой раздел:
mount /dev/sda1 /mntСовет: если планируете LVM или шифрование, создайте на этом этапе физические тома и логические тома. Примеры ниже.
Шаг 4 — Установка базовой системы
Перед установкой полезно настроить список зеркал, чтобы pacman скачивал пакеты с ближайшего сервера:
nano /etc/pacman.d/mirrorlistСкопируйте URL хорошего зеркала в начало файла.
Установите базовые пакеты (при необходимости добавьте base-devel для сборки из AUR):
pacstrap -i /mnt base base-devel
Шаг 5 — Генерация fstab
Создайте fstab с использованием UUID:
genfstab -U -p /mnt >> /mnt/etc/fstabПроверьте содержимое:
cat /mnt/etc/fstab
Шаг 6 — Chroot в только что установленную систему
Переключитесь в корневую систему на новом диске:
arch-chroot /mntЭто даст вам доступ к /, /etc и установленным пакетам новой системы.
Шаг 7 — Настройка сетевого подключения
Узнайте имя сетевого интерфейса:
ip linkПример вывода:

Если интерфейс называется, например, enp0s3, включите системную службу dhcpcd, чтобы автоматически получать IP по DHCP при загрузке:
systemctl enable [email protected]Альтернатива: для статического IP используйте netctl или systemd-networkd (см. раздел «Альтернативные подходы»).
Шаг 8 — Язык, локаль и часовой пояс
Откройте файл локалей:
nano /etc/locale.genРазкомментируйте нужные локали, например en_US.UTF-8 или ru_RU.UTF-8, затем выполните:
locale-genУстановите системную локаль:
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8Или замените на ru_RU.UTF-8, если предпочитаете русский язык.
Найдите и установите часовой пояс:
ls /usr/share/zoneinfo/Для примера используем America/New_York:
ln -s /usr/share/zoneinfo/America/New_York > /etc/localtime
hwclock --systohc --utcПримечание: при использовании systemd рекомендуется вместо ln -s использовать timedatectl set-timezone.


Шаг 9 — Настройка репозиториев Arch Linux
Откройте /etc/pacman.conf:
nano /etc/pacman.confДля 64‑битных систем, которым нужно запускать 32‑битные приложения, раскомментируйте секцию multilib:
[multilib]
Include = /etc/pacman.d/mirrorlistПри необходимости можно добавить неофициальные репозитории (внимательно — доверяйте только проверенным источникам):
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$archОбновите базу пакетов:
pacman -Sy
Шаг 10 — Установка имени хоста
Запишите имя хоста в /etc/hostname:
echo your_hostname > /etc/hostnameПример:
echo archserver > /etc/hostnameПроверьте:
cat /etc/hostname
Шаг 11 — Создание пользователя и предоставление sudo
Создайте пользователя, добавив его в группы wheel, storage, power и указав оболочку bash:
useradd -m -g users -G wheel,storage,power -s /bin/bash USER_NAME
passwd USER_NAMEУстановите sudo и автодополнение bash:
pacman -S sudo bash-completionОтредактируйте sudoers:
nano /etc/sudoersНайдите и раскомментируйте строку, разрешающую членам группы wheel выполнять команды от имени root:
%wheel ALL=(ALL) ALLШаг 12 — Установка пароля для root
Задайте пароль для root:
passwdШаг 13 — Установка SSH сервера
Установите OpenSSH и включите сервис:
pacman -S openssh
systemctl enable sshd.serviceРекомендуется дополнительно настроить /etc/ssh/sshd_config: отключить вход root по паролю PermitRootLogin без ключа, запретить парольную аутентификацию, включить аутентификацию по ключам.
Шаг 14 — Установка и настройка GRUB
Установите пакет загрузчика и os-prober (помогает находить другие ОС):
pacman -S grub os-proberУстановите GRUB на диск:
grub-install --recheck /dev/sdaСгенерируйте конфигурацию GRUB:
grub-mkconfig -o /boot/grub/grub.cfgПримечание: для UEFI система отличается — используйте grub-install с –target=x86_64-efi и монтируйте ESP в /boot/efi.
Шаг 15 — Выход из chroot и размонтирование
Выйдите из chroot и размонтируйте точки монтирования:
exit
umount -R /mnt
rebootПосле перезагрузки извлеките установочную флешку.
Шаг 16 — Вход по SSH
Подключитесь к серверу по SSH:
ssh user-name@ip-of-serverПример:
ssh archuser@192.0.2.10Проверочный чек‑лист перед завершением
- Сервер загружается в установленную систему
- Пользователь с sudo может выполнять команды
- SSH доступ работает и защищён (ключи, запрет root/password)
- Часовой пояс и локаль установлены
- fstab корректен и все разделы монтируются
- GRUB успешно загружает систему
Критерии приёмки
- Сервер успешно загружается и возвращает рабочую консоль.
- root и созданный пользователь имеют корректные пароли (или отказаны паролям при использовании ключей).
- SSH‑доступ возможен извне с использованием ключей через порт 22 или другой настроенный порт.
- Все требуемые службы (dhcpcd/systemd‑networkd, sshd) включены и активны.
- Все запланированные дисковые разделы монтируются без ошибок.
Откат и план восстановления
- Если загрузчик не установлен: загрузитесь с USB и chroot в систему, повторно выполните grub-install и grub-mkconfig.
- Если fstab вызывает падение: в initramfs можно выбрать «recovery» или загрузиться с live‑ISO, отредактировать /etc/fstab и повторно размонтировать/смонтировать разделы.
- При ошибках сети убедитесь, что служба сети включена и нет конфликтов в /etc/systemd/network или netctl.
Рекомендации по безопасности (жёсткая настройка)
- Отключите вход root по паролю в /etc/ssh/sshd_config: установите PermitRootLogin prohibit-password или no.
- Включите аутентификацию по ключам и отключите PasswordAuthentication.
- Установите базовый firewall (ufw или nftables) и закройте неиспользуемые порты.
- Установите fail2ban для защиты от brute‑force‑атак на SSH.
- Подумайте о шифровании диска (LUKS) для защиты данных в случае кражи носителя.
Альтернативные подходы и когда этот метод не подходит
- UEFI + GPT: для современных машин стоит использовать GPT и UEFI. Разметка включает ESP (~100–512 МБ FAT32).
- LVM: если нужен гибкий набор томов, применяйте LVM поверх физических разделов.
- Шифрование: если сервер будет содержать чувствительные данные, используйте LUKS на уровне блока.
- Контейнеры/образы: если вы разворачиваете множество однотипных серверов, рассмотрите автоматизацию с помощью PXE/Ansible/Cloud‑image вместо ручной установки.
Когда не подходит:
- Если нужна GUI‑среда «из коробки» — Arch требует ручной сборки окружения.
- Если нужна коммерческая поддержка на уровне дистрибуции — Arch ориентирован на самостоятельных администраторов.
Полезные сценарии и примеры команд
- Просмотр доступных служб:
systemctl list-unit-files --type=service- Включение и запуск сервиса:
systemctl enable --now sshd.service- Проверка состояния сети и интерфейсов:
ip addr show
ping -c 3 8.8.8.8Роль‑ориентированные чек‑листы
Для системного администратора:
- Проверить загрузку сервера и логи dmesg/journalctl
- Настроить мониторинг и резервное копирование
Для DevOps инженера:
- Автоматизировать конфигурацию через Ansible/Terraform
- Включить CI/CD и тестирование развёртывания
Для новичка:
- Сделать снимок диска перед экспериментами
- Практиковаться на виртуальной машине (VirtualBox/VMware)
Факт‑бокс
- Минимальная установка Arch даёт лишь базовую среду (без GUI).
- Для сборки пакетов из AUR рекомендуется иметь base‑devel.
- Swap рекомендуется равным объёму оперативной памяти для систем с низким объёмом RAM; для систем с большим RAM часто достаточно 1–2 ГБ или использования swapfile.
Частые ошибки и как их избежать
- Ошибка с выбором устройства при dd — всегда дважды проверяйте /dev/sdX.
- Неправильный формат /etc/fstab — используйте genfstab для избегания опечаток.
- Забытый шаг по включению сети — убедитесь, что нужная служба включена.
- Установка GRUB на неверный диск — проверьте /dev/sda vs /dev/nvme0n1.
Заключение
Поздравляем — вы установили Arch Linux как сервер. Следующие шаги: настроить резервное копирование, мониторинг, и автоматизировать конфигурацию (Ansible, Puppet, Salt). Архитектура Arch даёт гибкость, но требует дисциплины при обновлениях: всегда тестируйте апдейты в тестовой среде перед продом.
Важно: поддерживайте систему в актуальном состоянии и регулярно проверяйте журналы.
Короткая контрольная памятка: USB → разметка → mount → pacstrap → genfstab → arch-chroot → локали/сеть/пользователь → grub → reboot → ssh.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента