Интересные статьи
Домены
Главная страница / Linux / Arch Linux / Установка и настройка Arch Linux в качестве сервера

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

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

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

 

Я разбил статью на несколько промежуточных шагов, для удобства ориентирования:

  1. Загрузка ISO образа и запись диска
  2. Подключение будущего сервера к интернету
  3. Создание и монтирование разделов жесткого диска
  4. Установка базовой системы
  5. Генерация fstab
  6. Вход(chroot) в свежеустановленную систему
  7. Настройка интернет соединения
  8. Установка языка, часового пояса и прочих настроек
  9. Установка репозитория Arch Linux
  10. Настройка имени сервера (hostname)
  11. Создание пользователя и выдача sudo привелегий
  12. Указание пароля для root пользователя
  13. Установка SSH сервера
  14. Установка и настройка загрузчика GRUB
  15. Выход из системы(chroot) и отмонтирование файловой системы
  16. Подключение по SSH

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

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

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

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

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

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

01_Select_Arch_linux_x86_64

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

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

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

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

ping -c 3 google.com

02_check_internet_connection

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

В данном шаге мы создадим разделы жесткого диска, для этого воспользуемся утилитой 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

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

Перед установкой вы можете изменить файл /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

 5. Генерация fstab

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

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

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

cat /mnt/etc/fstab

11_generate_fstab

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

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

arch-chroot /mnt

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

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

ip link

17_configure_network_connection1В нашем случае это enp0s3. Попытаемся получить IP автоматически, используя DHCP:

systemctl enable dhcpcd@enp0s3.service

8. Установка языка, часового пояса и прочих настроек

В этом шаге зададим язык системы, время, дату и часовой пояс.

Для начала откроем файл /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

9. Установка репозитория 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

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

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

echo your_hostname > /etc/hostname

Например:

echo archserver > /etc/hostname

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

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

cat /etc/hostname

12_setting_hostname1

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

12. Указание пароля для root пользователя

Укажем пароль для root пользователя:

passwd

И введем новый пароль 2 раза

13. Установка SSH сервера

Установим SSH сервер:

pacman -S openssh

Добавим его в автозагрузку:

systemctl enable sshd.service

14. Установка и настройка загрузчика GRUB

Установим пакеты grub и os-prober:

pacman -S grub os-prober

Установим grub на жесткий диск:

grub-install –recheck /dev/sda

Создадим файл конфигурации GRUB:

grub-mkconfig -o /boot/grub/grub.cfg

15. Выход из системы(chroot) и отмонтирование файловой системы

Выйдем из chroot сессии:

exit

Отмонтируем файловую систему:

umount -R /mnt

Перезапустим Arch Linux:

reboot

16. Подключение по SSH

Теперь мы можем подключиться к нашему серверу по SSH:

ssh имя_пользователя@ip_сервера

Например:

ssh archuser@10.0.2.15

 

На этом всё 🙂

Обо мне cyber01

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

Установка PHPMyAdmin в nginx CentOS 7

Установка PHPMyAdmin в nginx CentOS 7

Работа с логами в Linux

Работа с логами в Linux Логи – журналы, куда записывается вся информация по работе того …

Работа с firewalld в CentoS 7

Работа с firewalld в CentoS 7 Требуется разрешить доступ только к определенным портам, а все …

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

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

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

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