Руководство по установке и настройке Void Linux в качестве рабочего окружения. Linux статьи
Написать статью
Войдите, чтобы писать статьи

Руководство по установке и настройке Void Linux в качестве рабочего окружения

9

Руководство по установке и настройке Void Linux

Материал написан пользователем сайта.

Хочу поделиться шпаргалкой по быстрой установке и настройке дистрибутива Void в качестве рабочего окружения.

Что такое Void Linux?

Void Linux - это независимый дистрибутив, использующий систему инициализации runit и пакетный менеджер xbps с мощной системой сборки пакетов xbps-src. Дистрибутив доступен в двух версиях: с библиотекой Си glibc, которая используется в большинстве других дистрибутивов, и с альтернативной библиотекой musl, спроектированной для большей компактности и простоты.

Void предлагает альтернативу популярным решениям в мире Linux. Он не использует компоненты, такие как systemd, rpm или dpkg. При этом дистрибутив остается достаточно дружелюбным и удобным для повседневного использования. Если у вас уже есть опыт работы с Linux, стоит ознакомиться с Void Linux.

Другой дистрибутив, который я могу порекомендовать, - это Alpine Linux. Однако, поскольку Alpine использует только musl, он может не поддерживать некоторые аппаратные компоненты, требующие проприетарные драйверы (например, nvidia, broadcom).

Void Linux, благодаря возможности выбора стандартной библиотеки Си, избегает этой проблемы.

Описание планируемой конфигурации

В качестве графического окружения я задействую Xfce, а в качестве звукового сервера - pipewire.

Устанавливать Void Linux будем через chroot, несмотря на наличие у Void псевдографического установщика.

Такое решение обусловлено следующими причинами:

  1. Void обладает мощным инструментарием xtools, который упрощает процесс установки (xchroot);
  2. пакетный менеджер xbps позволяет быстро создать корень рабочей системы;
  3. бОльшая гибкость в установке и настройке системы.

Создание загрузочного носителя

Я рекомендую скачать "живой" образ с Xfce, чтобы проводить установку и конфигурирование системы сразу из приятного графического интерфейса.

Скачиваем последний актуальный "живой" образ.

wget https://repo-default.voidlinux.org/live/current/void-live-x86_64-20250202-xfce.iso

Находим файл носителя, в который запишем скачанный образ.

lsblk 

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    1    30G  0 disk 
├─sda1        8:1    1   1.3G  0 part 
└─sda2        8:2    1    32M  0 part 
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   127M  0 part 
├─nvme0n1p2 259:2    0    70G  0 part 
├─nvme0n1p3 259:3    0   124M  0 part /boot/efi
├─nvme0n1p4 259:4    0    70G  0 part /
├─nvme0n1p5 259:5    0   124M  0 part 
└─nvme0n1p6 259:6    0    70G  0 part 

Записываем образ на носитель.

dd bs=4M if=void-live-x86_64-20250202-xfce.iso of=/dev/sda

И убеждаемся, что все данные на него были записаны.

sync

Подготовка файловой системы

Загружаемся в live-систему.

Вероятно, имеет смысл выбрать вариант RAM, чтобы live-система полностью загрузилась в ОЗУ компьютера.

Это увеличит быстродействие и отзывчивость live-системы.

Открываем эмулятор терминала и повышаем наши права до суперпользователя. Пароль voidlinux.

su -

Для удобства работы с командной строкой будем работать в эмуляторе терминала bash.

bash

Устанавливать Void я буду на разделы, которые сейчас использует другой дистрибутив, поэтому этап создания разметки диска будет пропущен.

Форматируем раздел /dev/nvmen1p3 для загрузчика и раздел /dev/nvmen1p4 для корня системы.

mkfs.vfat /dev/nvmen1p3
mkfs.ext4 /dev/nvmen1p4

Монтируем будущие загрузочный и корневой разделы системы в каталог /mnt live-системы, чтобы продолжить над ними работу.

mount /dev/sda2 /mnt/
mkdir -p /mnt/boot/efi/
mount /dev/sda1 /mnt/boot/efi/

Если вы, как и я, используете live-систему с графическим окружением, то, вероятно, вам потребуется удалить каталог с мусором, который почему-то окружение посчитало нужным создать.

rm -rf /mnt/lost+found

Создание корня системы с помощью пакетного менеджера XBPS

Создаем переменные окружения: REPO, которая будет содержать адрес удаленного репозитория, и ARCH, которая будет содержать информацию об архитектуре компьютера.

Если вы желаете использовать Void с библиотекой musl, то укажите адрес:

https://repo-default.voidlinux.org/current/musl

Я же буду устанавливать версию с glibc:

REPO=https://repo-default.voidlinux.org/current
ARCH=x86_64

Копируем с live-системы ключи для проверки подлинности пакетов.

mkdir -p /mnt/var/db/xbps/keys
cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys/

Устанавливается будущая система одной командой. Очень удобно!

XBPS_ARCH=$ARCH xbps-install -S -r /mnt -R "$REPO" base-system

Настройка базовой системы

Генерируем файл /etc/fstab, содержащий параметры автомонтирования разделов будущей системы с помощью утилиты из состава инструментария xtools.

# xgenfstab -U /mnt > /mnt/etc/fstab

Подменяем корень live-системы на корень устанавливаемой системы с помощью утилиты из состава xtools.

xchroot /mnt /bin/bash

Задаем имя компьютера.

[xchroot /mnt] # vi /etc/hostname

voidgrav

Настраиваем параметры системы.

Я использую us раскладку клавиатуры, и en_US.UTF-8 локаль.


[xchroot /mnt] # vi /etc/rc.conf

HOSTNAME="voidgrav"

HARDWARECLOCK="UTC"

TIMEZONE="Europe/Moscow"

KEYMAP="us"

FONT="lat9w-16"

CGROUP_MODE=unified

SEEDING_SKIP_CREDIT=false



[xchroot /mnt] # vi /etc/default/libc-locales

en_US.UTF-8 UTF-8



[xchroot /mnt] vi /etc/locale.conf

LANG=en_US.UTF-8
LC_LOCALE=C

Применяем наши изменения.

[xchroot /mnt] # xbps-reconfigure -f glibc-locales

Задаем пароль суперпользователя.

[xchroot /mnt] # passwd

Также установим ряд пакетов, которые не являются обязательными, но, вероятно, нам все равно придется их установить и настроить в будущем.

Например, когда они окажутся в списке зависимостей устанавливаемых программ.

Установим системную шину dbus.

[xchroot /mnt] # xbps-install -S  dbus

Поставим сервис dbus в автозапуск.

[xchroot /mnt] # ln -s /etc/sv/dbus /etc/runit/runsvdir/default

Следующий пакет - NetworkManager.  Вполне возможно, что вы не захотите добавлять его в минималистичную систему. В качестве альтернативы я могу порекомендовать использовать для управления сетевыми подключениями wpa_supplicant, который предустановлен в Void.

[xchroot /mnt] # xbps-install -S NetworkManager

Поставим NetworkManager в автозапуск.

[xchroot /mnt] # ln -s /etc/sv/NetworkManager /etc/runit/runsvdir/default

Установка загрузчика ОС

Установим grub.

[xchroot /mnt] # xbps-install grub grub-x86_64-efi

Для систем с UEFI.

[xchroot /mnt] # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Void"

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

[xchroot /mnt] # xbps-reconfigure -fa

После этого выходим из chroot, извлекаем установочный носитель и перезагружаемся в свежеустановленную ОС.

[xchroot /mnt] # exit
# umount -R /mnt
# shutdown -r now

Постустановочная настройка ОС

Пока мы не сменили командную оболочку с sh на bash давайте сделаем это вручную.

bash

Установим X-сервер xorg, графический менеджер входа lightdm и менеджер сеансов elogind.

xbps-install xorg lightdm lightdm-gtk-greeter elogind

Настроим автозапуск для установившихся пакетов.

ln -s /etc/sv/polkitd /etc/runit/runsvdir/default
ln -s /etc/sv/elogind /etc/runit/runsvdir/default
ln -s /etc/sv/lightdm /etc/runit/runsvdir/default

Скачиваем мета-пакет с базовым окружением Xfce.

xbps-install xfce4

Пришло время поменять sh на bash :)

vi /etc/passwd

root:x:0:0:root:/root:/bin/bash

Создадим непривилегированного пользователя.

Обязательно добавляем пользователя в группы audio, video (для PipeWire), network (для NetworkManager) и input (для libinput).

useradd -m -s /bin/bash -c 'Ulysses Apokin' \
	-G floppy,disk,audio,video,adm,cdrom,optical,scanner,network,input,users ulysses

Зададим пароль для созданного пользователя.

passwd ulysses

Перезагружаемся в графический сеанс.

reboot

Установим пакеты ALSA.

xbps-install alsa-firmware alsa-utils

Поставим ALSA в автозапуск.

ln -s /etc/sv/alsa /etc/runit/runsvdir/default

В качестве мультимедийного сервера установим pipewire. В качестве графического интерфейса для управления звуковыми настройками системы задействуем pavucontrol.

xbps-install pipewire wireplumber pavucontrol

Создадим конфигурационные файлы для pipewire.

mkdir -p /etc/pipewire/pipewire.conf.d
ln -s /usr/share/examples/wireplumber/10-wireplumber.conf /etc/pipewire/pipewire.conf.d/
ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d/

Перезагружаемся.

Также будет необходимо в настройках автозапуска Xfce прописать автозапуск pipewire.

Делается это следующим образом.

Settings -> Session and Startup -> Application Autostart -> Add :

Command: pipewire
Trigger: On Login

Или же создайте sh-скрипт и настройте его автозапуск с помощью системы инициализации runit. Однако обратите внимание, что pipewire должен запускаться после того, как сессия X11 или Wayland загрузилась, поскольку в Void в качестве менеджера сессий для PipeWire используется WirePlumber.

reboot

Возможно, вы также захотите воспользоваться следующими плагинами из состава Xfce.

xbps-install orage xfce4-battery-plugin \
	xfce4-clipman-plugin xfce4-pulseaudio-plugin \
	xfce4-screenshooter xfce4-xkb-plugin

Результат и субъективное мнение о дистрибутиве

Установка и настройка Void Linux в качестве рабочего окружения завершены. Теперь можно насладиться этой ОС на десктопе, хотя многое стало понятно уже в процессе установки.

  1. Быстрый пакетный менеджер xbps.
  2. Наличие выбора стандартной библиотеки Си.
  3. Независимость от других дистрибутивов и наличие своей экосистемы ПО.
  4. Гибкость в настройке под свои нужды.

Но не обошлось, конечно, без ложки дегтя.

Меня всегда смущал принцип наименования пакетов (или его отсутствие) в Void. Например, у шрифтов:

ttf-ubuntu-font-family
liberation-fonts-ttf
font-liberation-narrow-ttf
freefont-ttf

Или у NetworkManager:

NetworkManager
network-manager-applet

Или у CAD-систем:

LibreCAD
openscad

На сколько мне нравится пакетный менеджер xbps, который делает сборку пакетов простой и легкой для обычных пользователей, на столько же мне не нравится система инициализации - runit. Отказ от концепции уровней запусков, как мне кажется, является фатальным недостатком. Создавать свои сервисы менее удобно, чем в systemd и openrc. А исправить косяки в поставляемых сервисах трудно. Например, я столкнулся с тем, что lightdm стартует позже графической среды при выходе из сна. И соответственно все виснет. То, что исправлялось бы в openrc простой сменой runlevel, в runit решается нетривиальными прыжками по скриптам.

Также меня смущает, что совместная разработка в Void ведется на github. Видимо, сказывается недостаток ресурсов у команды. Об этом также свидетельствует то, что много даже ключевых пакетов находятся в статусе orphaned и не имеют постоянных сопровождающих

Следующее нельзя отнести к минусам, так как это объясняется философией дистрибутива и его ориентированностью на самостоятельное построение идеальной системы под себя. Иногда при установке пакета не устанавливаются все его зависимости, и пакет работает не так, как ожидалось. Например, пакет pipewire не устанавливает с собой пакет alsa-firmware. По этой причине я долго не мог понять, почему у меня нет звука, хотя pipewire утверждал, что у него все в порядке.

Тем не менее Void Linux будет хорошим выбором для опытных пользователей Linux, которые ищут легковесный и настраиваемый дистрибутив с возможностью выбора стандартной библиотеки языка Си.

Лайков: +3
войдите, чтобы ставить лайки
9
  • Опубликовано: 07.03.2026
  • UlyssesJJ

Комментарии

yosh78
Активный пользователь
Активный
07.03.2026
10:34
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Тоже не нравится runit, поэтому использую dinit, а openrc нет в репозитории. Со звуком вышли похожие проблемы. Тем не менее сижу пока в Пустоте. Мой скриншотик не скоро видно опубликуют (месяц уже и еще похоже месяц..) и он теряет актуальность.
yosh78
Активный пользователь
Активный
07.03.2026
10:50
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
>>Другой дистрибутив, который я могу порекомендовать, - это Alpine Linux. Однако, поскольку Alpine использует только musl, он может не поддерживать некоторые аппаратные компоненты

Alpine мне тоже нравится, но проблема с musl существует, я устанавливал glibc и все равно зависящие от него программы не работали. Другая проблема с которой я столкнулся..ошибка APK и apk fix и другие команды ее не убирали. Пришлось откатиться на бэкап. С пакетами тоже беда, на ветке edge только хоть что-то можно найти. Надеюсь, появятся какие-то форки для десктопа в будущем.
elok
Активный пользователь
Активный
07.03.2026
11:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Дистрибутив без своего создателя - это действительно пустота. . .
Интересно ,название дистра с этим как-то связано?
yosh78
Активный пользователь
Активный
07.03.2026
11:24
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийelokРодительский комментарий
+1
войдите, чтобы ставить лайки
>> Дистрибутив без своего создателя - это действительно пустота. . .

Это да, некрасивая история c Хуаном. А так ,у дистрибутива даже форума нормального нет...ПУСТОТА. Такое ощущение, что только Pingvinus его обсуждает.
Neo
Активный пользователь
Активный
07.03.2026
11:27
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
"Быстрая" установка на 3 страницы с прокруткой ? О_о
:-D

Там же ,когда с лайва ставишь всего 10 строк после команды инсталл настроить-прописать . И через 3 минуты уже готово .
А так заморачиваться - лучше уж Винду котом установить ))

Вот быстрая установка:
https://ltdfoto.ru/image/xJPYqZ
yosh78
Активный пользователь
Активный
07.03.2026
11:33
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNeoРодительский комментарий
+1
войдите, чтобы ставить лайки
Ну...Как и в любом дистрибутиве, ручная установка. Для Void такой вариант лучше, чем через void-installer. А я и Calamares не брезгую))) Пару раз тыкнул мышкой и все. Лень заморачиваться.
Neo
Активный пользователь
Активный
07.03.2026
11:36
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
>>ручная установка

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

Что ж тогда не добавил и терминальное разбиение дисков ,если уж так закрутить ))
yosh78
Активный пользователь
Активный
07.03.2026
11:39
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийNeoРодительский комментарий
0
войдите, чтобы ставить лайки
>> какой-то вывих мозга

Так вроде тут все такое любят?)) Нет?
Neo
Активный пользователь
Активный
07.03.2026
11:41
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийyosh78Родительский комментарий
0
войдите, чтобы ставить лайки
Ну,не все ))) Для опытных ?
"Умный - гору обойдёт!" ;-)

Я даже читать до конца не стал . Как кино- с прокруткой ))

Написать комментарий

Ник:
Текст комментария:
  • Уважать других.
  • Без оскорблений и грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
  • Оффтоп запрещен.
  • Любой комментарий может быть удален без объяснения причин.
Правилаправила (наведите курсор)