Домены
Интересные статьи
Домены

Установка и настройка Arch Linux в качестве сервера

В соответствии с «Arch Linux Wiki«. Arch Linux — это независимо разрабатываемый i686/x86-64 дистрибутив GNU/Linux общего назначения, достаточно гибкий для выполнения любой роли. Процесс разработки фокусируется на простоте, минимализме и элегантности кода. Arch устанавливается в виде минимальной базовой системы, настраивается пользователем под собственные нужды путём построения уникальной среды с установкой только необходимых компонентов. Инструменты настройки с графическим интерфейсом официально не предоставляются, и большая часть настроек системы выполняется из консоли путём редактирования простых текстовых файлов. Основанный на модели плавающих релизов, дистрибутив Arch стремится оставаться предельно современным и предлагает последние стабильные версии большинства пакетов.

В данной статье я расскажу как происходит базовая установка и настройка Arch Linux в качестве сервера.

Загрузка ISO образа и запись диска

Загрузить ISO образ можно с официального сайта Arch Linux

После загрузки образа, запишите его на диск, любым удобным для вас способом. 

Также можно загрузить образ на флешку.

После записи диска/флешки, вставьте его и дождитесь загрузки диска:

Окно загрузки Arch Linux

01_Select_Arch_linux_x86_64

В данном окне выберите Boot Arch Linux (x86_64)

Подключение будущего сервера к интернету

Для начала установки нужно убедиться, что вы подключены к интернету.

Проще всего проверить это выполнив команду ping:

ping -c 3 google.com
02_check_internet_connection

Создание и монтирование разделов жесткого диска

В данном шаге мы создадим разделы жесткого диска, для этого воспользуемся утилитой cfdisk, используем тип раздела «dos». Будут созданы разделы / для корневой файловой системы и swap, для swap устройства. Допустим, что /dev/sda — наш жесткий диск.

Выполним:

cfdisk /dev/sda

Выберем тип «dos»:

03_select_label_type_dos

В моем случае у меня был диск на 80гб:

04_create_new_partition_for_free_space

Создадим / (корневой) раздел, размером 76гб:

[New] -> Enter
Partition Size -> 76G
Primary or Extended -> Select Primary
Select [Bootable] -> Enter
05_create_partition_for_root

Создадим swap раздел (4гб):

[New] -> Enter
Partition Size -> 4G
Primary or Extended -> Select Primary
Select [Write] -> Enter -> type: yes
Select [Quit]
06_create_partition_for_swap

Создадим файловую систему на корневом / разделе. Для этого отформатируем его в файловую систему ext4:

mkfs.ext4 /dev/sda1
07_format_root_partition_with_ext4

Отформатируем раздел /dev/sda2 , для создания swap:

mkswap /dev/sda2

Подключим swap:

swapon /dev/sda2
08_format_swap_partition

Примонтируем корневой раздел (/dev/sda1) в /mnt:

mount /dev/sda1 /mnt

Установка базовой системы

Перед установкой вы можете изменить файл /etc/pacman.d/mirrorlist , для указания предпочтительных серверов обновлений:

nano /etc/pacman.d/mirrorlist
09_mirrorlist

Также копия этого файла будет установлена в вашу систему.

Далее, установим базовую систему с помощью pacstrap. Если вы собираетесь компилировать ПО из AUR, также установите группу пакетов base-devel.

pacstrap -i /mnt base base-devel
10_Install_the_Base_System

 Генерация fstab

Сгенерируем файл fstab с UUID в качестве имен устройств:

genfstab -U -p /mnt >> /mnt/etc/fstab

Проверим правильность сгенерированного fstab:

cat /mnt/etc/fstab
11_generate_fstab

Вход(chroot) в свежеустановленную систему

Войдем (chroot) в свежеустановленную, но не настроенную систему:

arch-chroot /mnt

Настройка интернет соединения

Для начала узнаем имя сетевой карты сервера:

ip link
17_configure_network_connection1

В нашем случае это 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, для сохранения изменений.

13_setting_language

После чего сгенерируем выбранные локали:

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

14_generate_languages

Далее укажем часовой пояс, но перед этим найдем наш часовой пояс (в статье будет использован часовой пояс America/New_York):

ls /usr/share/zoneinfo/
15_setting_time_zone

Например, для России и московского времени это будет часовой пояс 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
16_setting_repository

Сохраним изменения и обновим репозиторий Arch Linux:

pacman -Sy

Настройка имени сервера (hostname)

Запишем нужное имя сервера в файл /etc/hostname:

echo your_hostname > /etc/hostname

Например:

echo archserver > /etc/hostname

Замените archserver на нужное вам имя.

Проверим установленное имя:

cat /etc/hostname
12_setting_hostname1

Создание пользователя и выдача 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

На этом всё 🙂

Обо мне cyber01

Прочитайте также

Как установить Fail2ban в CentOS 8 и Fedora 29/30

Эта инструкция покажет вам, как установить и настроить fail2ban в вашей CentOS/RHEL 8 и Fedora …

Как установить Homebrew в MacOS

Homebrew это самый популярный менеджер пакетов для macOS. С помощью команды brew вы можете легко …

Как установить Composer в Linux/MacOS

Composer — менеджер зависимостей для PHP. Позволяет управлять зависимостями, загружая уже готовые компоненты из репозитория. …

Один комментарий

  1. Длинновато получилось…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *