Найти в Дзене
Red Rain

Установка Vod Linux по сети #KVM VDS

Вступление Стоит понимать что услуги виртуальных приватных серверов довольно специфичны. И в целом устройства серверов очень узкое направление. Постоянно нужно укладываться в заданные лимиты. Пример установки будет произведён на виртуальной машине общего назначения со следующими характеристиками: Настройки сети нужно скопировать из текущего дистрибутива поставляемого хостинг-провайдером. Приступаем Загружаем дистрибутив с официального сайта: https://voidlinux.org/download/ Live image glibc. musl ни какого преимущества на VDS не даёт. Монтируем и загружаем ISO образ согласно панели управления провайдера. Стоит помнить что DHCP в подобных услугах не включено. По этому разумнее всего будет скачать xfce Live image, чтобы первоначально настроить сеть через nm-applet. А не долго и мучительно через консоль. Авторизуемся пароль root логин voidlinux
Сходу смотрим какие диски есть командой fdisk -l У меня есть: Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VBOX HARDDI
Оглавление

Вступление

Стоит понимать что услуги виртуальных приватных серверов довольно специфичны. И в целом устройства серверов очень узкое направление. Постоянно нужно укладываться в заданные лимиты. Пример установки будет произведён на виртуальной машине общего назначения со следующими характеристиками:

  • 1 ядро cpu
  • 500 мегабайт оперативной памяти
  • 20 гигабайт дискового пространства
  • поддержка 3D видео отсутсвует
  • Виртуализация KVM

Настройки сети нужно скопировать из текущего дистрибутива поставляемого хостинг-провайдером.

Приступаем

Загружаем дистрибутив с официального сайта:

https://voidlinux.org/download/

Live image glibc. musl ни какого преимущества на VDS не даёт. Монтируем и загружаем ISO образ согласно панели управления провайдера.

Стоит помнить что DHCP в подобных услугах не включено. По этому разумнее всего будет скачать xfce Live image, чтобы первоначально настроить сеть через nm-applet. А не долго и мучительно через консоль.

Авторизуемся пароль root логин voidlinux
Сходу смотрим какие диски есть командой
fdisk -l

У меня есть:

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Я не могу использовать сразу потому что не знаю что было на нём записано. По этому обнуляю первые 10 гигабайт чтобы точно уничтожить таблицу данных.

dd if=/dev/zero of=/dev/sda bs=1M count=10240 conv=sync

Иначе grub может не записаться на диск, это часто бывает если была установлена отличная от этой операционная система.

Запускаем инсталлятор командой sudo void-installer

Переходим в раздел Source

И выбираем Network Base system only, downloaded from official repository.

Он сразу предложит настроить сетевой интерфейс по которому будет скачивать пакеты из сети. У меня это enp0s3.
Далее идёт диалог автоопределение IP
Do you want to use DHCP for enp0s3?
Нужно отказаться, после чего появится окно настройки ip v4

-2

IP адрес самого сервера и шлюз. ip адрес роутера с выходом в интернет. DNS адреса можно оставить по умолчания или ввести адреса Cloudflare 1.1.1.1 и 1.0.0.1

В случае удачной настройки Void выдаст сообщение
Network is working properly!
Далее идут пункт Hostname Set system hostname
Это имя сервера оно может быть любым.
Locale Set system locale выбор языка. Не нужно сразу выбирать национальный язык, ищите en_US.UTF-8 English (United States of America).
Национальный язык можно установить позднее. Иначе консоль будет показывать не читаемые символы.
Timezone это ваш часовой пояс.
Устанавливаем root пароль и переходим к UserAccount Set primary user name and password
Два раза вводим своё имя и пароль одинаково.
Особое внимание стоит обратить наличие группы wheel у пользователя. Она необходима для получения прав супер пользователя root в будущем.

-3

BootLoader Set disk to install bootloader указываем с какого диска будет загружаться Void Linux у меня это /dev/sda size:20GB;sector_size:512
Далее он задаёт вопрос Use a graphical terminal for the boot loader?
Будете ли вы использовать графический загрузчик со сплеш скринами. Я отказываюсь, потому что это сервер. И я не успею его увидеть при загрузке.

Partition Partition disk(s) Разметка диска. Проще всего разметить выбрав cfdisk Easy to use. Так как обнулил диск, он спрашивают какую таблицу установить на диск. Select label type. Я выбираю dos. На производительность это не влияет. Создаём новый linux раздел Partition type: Linux (83). Не забываем помечать его как загрузочный Bootable.

-4

Записываем и выходим.

Далее Filesystems Configure filesystems and mount points создание файловой системы и монтирование. Я выбираю ext4 Linux ext4 (journal). Потому что виртуальные машины часто мигрируют между площадками. Провайдер делает снимки и перенос. От этого не журналируемая файловая система может получить повреждения. В следующем сообщении просто слеш.

-5

Подтверждаем создание файловых систем и нажимаем Done. Выбираем последний пункт Install Start installation with saved settings
Получаем сообщение WARNING: data on partitions will be COMPLETELY DESTROYED for new filesystems.
Соглашаемся, если сеть настроена верно запустится установка.
После перезагрузки авторизуемся как root.

В void linux система инициализации runit.
Это значит чтобы запустить демон. Его ссылка из /etc/sv должна быть создана в /var/service/

Запустим ssh:

ln -s /etc/sv/sshd /var/service/
sv restart sshd

После чего можно подключиться к серверу по ssh с рабочей станции.

Чтобы устранить несовместимость терминала рабочей станции. В файл .bashrc юзера, а потом и root добавим строку

export TERM=xterm-256color

Зaтем от пользователя root установим оболочку по умолчанию.

chsh -s /usr/bin/bash root

Фиксируем файл /etc/sudoers от изменений в будущем. Чтобы не потерять контроль над сервером.

chattr +i /etc/sudoers

Затем аннулируем пароль пользователю root, чтобы он не мог авторизоваться.

passwd -dl root

Дальнейшее получение прав супер пользователя будет путём авторизации пользователя состоящего в группе wheel. И вводом команды

sudo -i

Установим дополнительные репозитории. Выполним их поиск

xbps-query -Rs void-repo

На текущий момент у меня :

  • [-] void-repo-debug-9_5 Void Linux drop-in file for the debug repository
  • [-] void-repo-multilib-6_3 Void Linux drop-in file for the multilib repository
  • [-] void-repo-multilib-nonfree-6_3 Void Linux drop-in file for the multilib/nonfree repository
  • [-] void-repo-nonfree-9_5 Void Linux drop-in file for the nonfree repository

Я установлю не свободный

xbps-install -S void-repo-nonfree

И базовый набор утилит

xbps-install -S linux-firmware dkms htop mc nano ntp

После установки DKMS, динамической загрузки модулей ядра. Нужно сконфигурировать пакет ядра заново. Ищем установленное ядро из доступных

xbps-query --regex -Rs '^linux[0-9.]+-[0-9._]+'

У меня это на текущий момент [*] linux5.15-5.15.14_1

xbps-reconfigure --force linux5.15-5.15.14_1

Синхронизируем время, для этого в /etc/rc.conf раскомментруем строку

HARDWARECLOCK="UTC"

UTC если значение в bios записать не возможно. Например на виртуальной машине. Или если на разделе рядом установлена MS Windows.

HARDWARECLOCK="localtime"

Если значения в биос записать возможно.

Для синхронизации выполним

ntpd -gq && hwclock --systohc

Для локализации на национальный язык откроем /etc/default/libc-locales

И раскомметируем нужные локализации, у меня это ru_RU.UTF-8 UTF-8

xbps-reconfigure -f glibc-locales
echo "LANG=ru_RU.UTF-8" > /etc/locale.conf

В принципе базовую настройку можно считать оконченной.
Потребление ресурсов довольно скромно.

-6