LINUX.ORG.RU

(внимание некропост) Мои впечатления от дистрибутива Void Linux

 ,


2

3

Сразу скажу, признаться, Void — очень понравился. Не только тем, что отсутствует systemd, а вместо него (или другой сист.иниц.) довольно простенький, но юзабельный runit, а тем, что Void — глоток свежего воздуха во время помирающей генты, с её всё накапливающимися проблемами инфраструктуры, и прекрасная альтернатива всем другим некогда удобным дистрам (арч, например).

Есть чем пользоваться, есть дистрибутив, используя который не чувствуешь себя рабом чертей-циркачей, навязывающих тебе систему инициализации и массу сопутствующих этому проблем, а также тем, какую аудио-систему тебе использовать и прочее.

Итак, Void — самобытный, не форк чего либо, rolling-release дистрибутив для пользователей уровня «выше начального», с системой инициализации runit и пакетным менеджером xbps, который работает как с готовой пакетной базой для x86, x86_64, ARMv6/v7, причем в двух вариантах: glibc или musl (кроме того, по-умолчанию используется LibreSSL вместо OpenSSL), так и предоставляет инструменты для сборки и опакечивания (xbps-src). Вся работа по пакетам происходит на github. Основной разработчик дистра пришел из мира NetBSD.

Установка системы возможна установка через GUI (не пробовал) или через chroot, установка происходит всего одной командой:

xbps-install -S -R http://repo3.voidlinux.eu/current -r /mnt base-system

Вот что устанавливается в виде базовой системы:

Name                   Action    Version           New version            Download size
xbps-triggers          install   -                 0.102_2                8108B 
base-files             install   -                 0.139_2                51KB 
ncurses-base           install   -                 6.0_2                  23KB 
glibc                  install   -                 2.24_1                 5717KB 
ncurses-libs           install   -                 6.0_2                  242KB 
ncurses                install   -                 6.0_2                  104KB 
attr                   install   -                 2.4.47_6               7500B 
acl                    install   -                 2.2.52_4               14KB 
libcap                 install   -                 2.25_1                 8320B 
gmp                    install   -                 6.1.1_1                212KB 
coreutils              install   -                 8.25_1                 2112KB 
findutils              install   -                 4.6.0_2                449KB 
diffutils              install   -                 3.5_1                  267KB 
libgcc                 install   -                 4.9.4_1                38KB 
dash                   install   -                 0.5.9_1                69KB 
readline               install   -                 6.3.008_4              105KB 
bash                   install   -                 4.3.046_1              975KB 
libpcre                install   -                 8.39_1                 151KB 
grep                   install   -                 2.25_1                 198KB 
gzip                   install   -                 1.8_1                  72KB 
zlib                   install   -                 1.2.8_6                41KB 
libmagic               install   -                 5.28_1                 224KB 
file                   install   -                 5.28_1                 15KB 
sed                    install   -                 4.2.2_11               121KB 
gawk                   install   -                 4.1.4_1                967KB 
less                   install   -                 481_1                  90KB 
libuuid                install   -                 2.28.1_1               6884B 
libblkid               install   -                 2.28.1_1               98KB 
libmount               install   -                 2.28.1_1               106KB 
pam-libs               install   -                 1.3.0_1                27KB 
libsmartcols           install   -                 2.28.1_1               55KB 
libfdisk               install   -                 2.28.1_1               129KB 
libcap-ng              install   -                 0.7.8_1                7940B 
util-linux             install   -                 2.28.1_1               1609KB 
which                  install   -                 2.21_2                 14KB 
tar                    install   -                 1.29_1                 672KB 
man-pages              install   -                 4.07_1                 457KB 
libedit                install   -                 20160618.3.1_1         79KB 
sqlite                 install   -                 3.14.1_1               541KB 
mdocml                 install   -                 1.13.4_1               217KB 
pam-base               install   -                 0.2_1                  1508B 
pam                    install   -                 1.3.0_1                263KB 
shadow                 install   -                 4.2.1_14               208KB 
e2fsprogs-libs         install   -                 1.43.1_1               151KB 
e2fsprogs              install   -                 1.43.1_1               615KB 
lzo                    install   -                 2.09_1                 40KB 
btrfs-progs            install   -                 4.7_1                  505KB 
xfsprogs               install   -                 4.7.0_1                706KB 
f2fs-tools             install   -                 1.6.1_1                56KB 
eudev-libudev          install   -                 3.2_1                  56KB 
dosfstools             install   -                 4.0_1                  46KB 
psmisc                 install   -                 22.21_4                98KB 
procps-ng              install   -                 3.3.12_1               272KB 
tzdata                 install   -                 2016f_2                154KB 
hwids                  install   -                 20160801_1             331KB 
liblzma                install   -                 5.2.2_1                70KB 
libkmod                install   -                 23_1                   35KB 
pciutils               install   -                 3.5.1_1                60KB 
iana-etc               install   -                 2.30_4                 174KB 
libcrypto37            install   -                 2.3.7_1                585KB 
dnssec-anchors         install   -                 20141121_2             1104B 
libldns                install   -                 1.6.17_9               122KB 
openssh                install   -                 7.3p1_1                657KB 
dhcpcd                 install   -                 6.11.3_1               142KB 
kbd-data               install   -                 2.0.3_1                811KB 
kbd                    install   -                 2.0.3_1                236KB 
libmnl                 install   -                 1.0.4_1                7348B 
libdb                  install   -                 5.3.28_6               656KB 
iproute2               install   -                 4.7.0_1                512KB 
libcap-progs           install   -                 2.25_1                 13KB 
iputils                install   -                 20151218_1             58KB 
libnl3                 install   -                 3.2.28_1               233KB 
iw                     install   -                 4.7_1                  62KB 
libssl38               install   -                 2.3.7_1                114KB 
dbus-libs              install   -                 1.10.10_1              111KB 
wpa_supplicant         install   -                 2.5_6                  417KB 
libressl               install   -                 2.3.7_1                213KB 
run-parts              install   -                 4.8_1                  8412B 
ca-certificates        install   -                 20160104_2             158KB 
bzip2                  install   -                 1.0.6_11               49KB 
libarchive             install   -                 3.2.1_2                252KB 
libxbps                install   -                 0.51_9                 103KB 
xbps                   install   -                 0.51_9                 79KB 
nvi                    install   -                 1.81.6_16              209KB 
sudo                   install   -                 1.8.17p1_1             504KB 
ipw2100-firmware       install   -                 1.3_4                  116KB 
ipw2200-firmware       install   -                 3.1_4                  116KB 
zd1211-firmware        install   -                 1.5_1                  9828B 
wifi-firmware          install   -                 1.3_1                  660B 
void-artwork           install   -                 20141219_1             161KB 
traceroute             install   -                 2.1.0_1                33KB 
ethtool                install   -                 4.6_1                  89KB 
kmod                   install   -                 23_1                   69KB 
acpid                  install   -                 2.0.27_1               45KB 
eudev                  install   -                 3.2_1                  871KB 
runit                  install   -                 2.1.2_7                332KB 
runit-void             install   -                 20160826_1             16KB 
glibc-locales          install   -                 2.24_1                 3578KB 
linux4.7               install   -                 4.7.2_1                53MB 
linux-firmware-amd     install   -                 20160623_1             1484KB 
linux-firmware-intel   install   -                 20160623_1             119KB 
linux-firmware-nvidia  install   -                 20160623_1             148KB 
linux-firmware-network install   -                 20160623_1             27MB 
cpio                   install   -                 2.12_1                 177KB 
dracut                 install   -                 044_1                  153KB 
linux                  install   -                 4.7_1                  624B 
base-system            install   -                 0.112_1                952B 

Size to download:              113MB
Size required on disk:         425MB
Внимательный неврастеник может обратить внимание, дескать, если не навязывают ничего, то зачем море ненужной фирмвари и dracut, например? Ну вот я не знаю, мне это тоже не понравилось, к слову — это всё можно сразу удалить. Далее подробнее о плюсах и минусах, которые были обнаружены во время установки.

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

  • в эмуляторе терминала livecd — dash вместо bash (при этом он установлен), цветовая схема терминала бледная, трудночитаемая
  • дикая (как по мне) схема разметки диска в wiki, предлагается целых 7 разделов, мне же всегда было достаточно 1-го для всего: /; не объясняется для чего так замусоривать и усложнять разделами диск, но мы-то знаем, что хватает 1-го раздела для всего, поэтому просто игнорируем.
  • как я выше упомянул, базовая система содержит несколько ненужных (как по мне) пакетов, например фирмваре, dracut и артворк.
  • стоковый редактор: неюзабельный nvi (минус), нет nano (плюс), нет minimal, но vim (минус).
  • в установленной системе нет: gcc, xz, patch, make, bc, ncurses-devel (make menuconfig) для компиляции собственного ядра
  • в системе нет удобного /sbin/installkernel как в генте, например (make install ядра сам копирует vmlinuz, System.map и config из /usr/src/linux/ в /boot и переименовывает их согласно версии).
  • после установки каждого шрифта, сколько бы их не устанавливалось, происходит фонткеш, возможно пофиксят в будущем, чтобы кешировал один раз после установки всех шрифтов за раз
  • максимальный gcc для x86_64 в репе — 4.9.4, хотя для arm'ов есть 5.4, я не знаю, с чем это связано.

Что касается плюсов, то самый большой плюс заключается в том, что в дистре нет массы минусов, которые присутствуют в остальных, это действительно большой плюс.

Напоследок, хотелось бы отметить сверхбыстрый пакетный менеджер (портаж вспоминается как ад, где вместо Сатаны — Куранин, школьник из Тольятти) и мегаудобную и удачную систему работы с пакетами: если хочешь создать свой пакет или модифицировать стоковый, то достаточно склонировать базу пакетов (рецептов, т.е. ебилдов-pkgbuild'ов) вносить в них изменения и уже натравливать xbps-src или еще один специально обученный инструмент xtools. Надеюсь не нужно объяснять чем удобна работа над пакетами на гитхабе.

В общем, рекомендую ребята, Void — отличный дистрибутив для дома и работы.

P.S.: пакеты примерно в 1000 раз свежее гентушных, а также некоторые пакеты свежее даже арчевских.



Последнее исправление: slon (всего исправлений: 6)
Ответ на: комментарий от intelfx

А как же навязывание sysvinit+runit?

Это «навязывание» сустемд идет не в рамках одного дистра, а по всему семейству GNU/linux ос. Вот что имел в виду ТС.

школоты в квадрате

Чего это школоту на musl потянуло?

mandala ★★★★★
()
Ответ на: комментарий от anonymous

Слишком много говна для базовой системы

Она гвоздями не приколочена вроде. Если правда, то пофиг.

а уж баш с дашем одновременно это эпик

Всё лучше, чем zsh по дефолту :).

mandala ★★★★★
()
Ответ на: комментарий от slon

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

Нет, ты немножко привираешь. В портянках на USE-флагах основаны зависимости, особенности сборки с разными флагами описаны в ебилдах. А когда ты собираешь руками пакет, тебе придётся вручную делать всё то, что делает портаж автоматически. Так-то в любом пакетном менеджере есть возможность собрать пакет из сырцов, и что?

tiandrey ★★★★★
()
Ответ на: комментарий от slon

Да ради бога, можешь чёрное назвать белым, а красное - синим.

tiandrey ★★★★★
()
Ответ на: комментарий от intelfx

Не, Ваня, это не для тебя, ты свою душу уже продал за пирожок. :)

Contr-indications: You believe that any other init system besides systemd is a step backwards.

А вот мне, оно постепенно нравится всё больше и больше.

Pro-indications: You'd like to use OpenBSD, but you need a working, hardware-assisted Qemu docker.

ref: http://troubleshooters.com/linux/void/whyvoid.htm

Бонус:

Void Linux actually used systemd until late July of 2014

Работы там конечно тоже ещё много. Но! Оно простое до безобразия. Наконец-то лялих дистр, который не сосёт.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

это не для тебя, ты свою душу уже продал за пирожок. :)

И ничуть не сожалею.

You believe that any other init system besides systemd is a step backwards.

Да, совершенно верно.

http://troubleshooters.com/linux/void/whyvoid.htm

Что только подтверждает мои исходные слова: этот дистр — пародия на арч, ничего более.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Пародия или нет — не знаю, но красноглазых USE и Arch-е-школьников там я пока не вижу. И это хорошо. Всё таки:

we're a bunch of 4.4 elitist snobs since the `80s (c)

Но рабочий docker и свежий go мне нужны. Т.ч. это вполне альтернатива по моему вкусу (а ля OpenBSD).

PS: Пляски с абсолютно тупым ненужнод меня на столько достали, что я даже ушёл из админов с го-девы. ;)

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)

Вот что устанавливается в виде базовой системы

альфабетикал сортировку не осилил, да...

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Мне не сложно нажать :sort , как я уже выше сказал, я скопипастил список в таком виде, в котором получил, там понятно что от чего зависит же, это не с потолка список.

slon
() автор топика
30 ноября 2016 г.

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

использую вариант c musl. поставила Enlightenment (для разнообразия). но некоторые вещи не заработали сразу и пока непонятно почему. надо копать.

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

Iron_Bug ★★★★★
()

Вот не стал-бы я сравнивать void и gentoo. Всетаки viod бинарный и ментейнеры там собирают пакеты по желанию своей левой пятки. Но в целом он неплох как альтернатива arch. Хочешь замену gentoo - посмотри на crux, он великолепен.

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от slon

USE флаги ты можешь выставить единожды для всех пакетов, а тут попробуй собрать систему без dbus, так придется в каждом отдельном пакете править.

Deleted
()

zd1211-firmware

Я правильно понял, что они вырезают из Линукса несвободные прошивки в отдельные пакеты в несвободной части хранилища (как в Дебиане)?

Zmicier ★★★★★
()
Ответ на: комментарий от Zmicier

Нет, не правильно, для несвободного софта есть nonfree репа, но из вышеуказанного из неё ничего не устанавливается.

zd1211 — свободный (GPL), но сторонний, вот почему не вошло в ядро в своё время. А почему ipw2***, которые под своей собственной лицензией, делают в free репе я не в курсе.

slon
() автор топика
Ответ на: комментарий от slon

zd1211 — свободный (GPL)

Ага, только к нему исходников нет.

[Что несвободные прошивки] делают в free репе я не в курсе

Жаль. Спасибо.

Zmicier ★★★★★
()
24 января 2017 г.
Ответ на: комментарий от OyyO

arm-toolchain для 64 бит есть? Или можно собрать?

у меня только x86_64, не знаю, возможно сможет ответить на этот вопрос Iron_Bug.

slon
() автор топика

рабом чертей-циркачей, навязывающих тебе систему инициализации и массу сопутствующих этому проблем, а также тем, какую аудио-систему тебе использовать и прочее

давай до свидания

Основной разработчик дистра пришел из мира NetBSD

такой говнодистр только бздун и мог придумать

anonymous
()
Ответ на: комментарий от slon

я особо армом не интересовалась. но бинари под него есть:
http://www.voidlinux.eu/download/#download-ready-to-boot-images-for-arm
а дальше всё просто: ставишь бинарь и собираешь на своём арме из сорцов что угодно (система сборки там своя, но несложная). либо ставишь обычный x86_64 и кросскомпилишь под нужную тебе архитектуру. кросскомпиляция там имеется. естественно, тебе нужно знать свою железяку и её настройки, чтобы всё собрать вручную. ну, либо юзаешь готовые бинари из репозитория.

да, сборка там выглядит довольно просто: качается из гита дерево с темплейтами для скрипта сборки. далее запускается скрипт с параметрами. всё это описано в README, который там же поставляется вместе с сорцами. у скрипта есть настройка - типа, собирай базовую систему. и он сам собирает тулчейн и кернел. причём он так же, как в OpenWRT качает сорцы и сети, распаковывает, патчит и собирает. на выходе - готовый набор утилит для [кросс]компиляции и ядро. и можно потом любой пакет собрать. также через скрипт. всё довольно типично, если работал, например, с OpenWRT или подобными системами.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

Если нет USE-флагов, значит вовсе никая это не альтернатива Gentoo. Тоже самое касается и других подобных дистрибутивов (Alpine, Arch, Dragora). Мне вообще непонятно зачем тому же арчу система сборки, если на выходе обычно получается пакет аналогичный тому, что содержится в репозитории.

xdimquax ★★★★
()
Ответ на: комментарий от xdimquax

а кто тебе мешает править конфиги? абсолютно не возбраняется. в репозитории лежат темплейты. там прописана сборка. лёгким движением руки можно подправить что угодно, если тебя вдруг не устраивает.
флаги - это просто надстройка над стандартной системой автотулзов. чтобы юзеру было не так страшно. но всё это спокойно можно собирать вручную. да хоть вообще стандартными средствами, без скрипта. что, кстати, я и делала для пакетов, которых там просто не было. никаких проблем это не вызывает. пакетирование очень простое и осваивается почти интуитивно.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от xdimquax

Не всё же в репу кладут в арче. А тот же астерик или как его там, он вообще только вроде в исходниках. И не только в арче.

Deleted
()
Ответ на: комментарий от xdimquax

Что USE-флаги для ебилда, что configure_args=«» для темплейта — одно и тоже, но в воиде не предусматривается страдания и сборка-пересборка через каждые пять минут пакета, хотя не запрещается.

slon
() автор топика
Ответ на: комментарий от Iron_Bug

пакетирование очень простое и осваивается почти интуитивно.

Позволь тут не согласиться. Я хоть и не семь пядий во лбу, но и в детстве меня вроде не роняли, но пакетирование в void я не освоил.

beastie ★★★★★
()
Ответ на: комментарий от beastie

я освоил и уже опакетил более 30 пакетов, а ты не смог? Сдается мне что-то ты не то говоришь.

slon
() автор топика
Ответ на: комментарий от slon

зависимости прописаны в темплейтах. скрипт их видит и пересобирает, если их настройки обновились.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Смысл тогда непонятен, разве что Gentoo чем то принципиально не устраивает. Мне не нравилась Gentoo отсутствием бинарных пакетов, но подключив репозиторий Calculate Linux, я по-прежнему активно использую USE-флаги.

xdimquax ★★★★
()
Ответ на: комментарий от beastie

ну не знаю. я как-то вообще сразу, практически без чтения документации, его освоила. посмотрела на другие пакеты - там всё и ежу понятно.

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от slon

Я разбалован BSD ports. 3 строчки и всё готово. В void же какая-то жуткая портянка на bash.

Я уже обломался на том, что `xbps-install xtools` у меня не взлетел. (Экспериментировал на arm (beagle-bone).)

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)

В пакетной базе есть sopcast? Это важно.

Кто-то пытался ставить на макбук? Вайфай заработал?

unt1tled ★★★★
()
Ответ на: комментарий от xdimquax

смысл - простой дистр без излишеств. плюс у него есть сборка с musl. в частности, я именно на ней сижу. musl меня интересовал давно, я с ним в эмбеддеде работала. сейчас вот у меня на нём рабочая система собрана. и я хочу кое-чего в него добавить, что нужно для разработки.

не знаю, есть ли в генте musl.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от slon

Что USE-флаги для ебилда, что configure_args=«» для темплейта

Гентушники не правят 99% используемых ебилдов, а так-то понятно, что и в слакбилд можно изменения внести, только где здесь новшество. Это же далеко не первый дистр, идущий по стопам Slackware и CRUX.

xdimquax ★★★★
()
Ответ на: комментарий от unt1tled

я такого пакета в списке не вижу. но у меня сборка для musl. она может малость отличаться. и никто не мешает собрать его из сорцов, если он тебе так нужен.

Iron_Bug ★★★★★
()
Ответ на: комментарий от unt1tled

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

а масл мне нужен просто из интереса. знаешь, у системщиков свои интересы. и вот у меня есть интерес к компактным и очень быстрым системам. и да, у моего ноута всего 2 гига памяти и 1 ггц проца на целероне. но этого хватает на все нужды и ещё ресурсы остаются. главное - уметь настраивать. я могу купить мощный десктоп или ноут, но мне это просто не нужно.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Пакетный менеджер, даже такой монстр, как Portage систему не слишком грузит, грузит сборка, в фоне он тоже не висит и ресурсы не потребляет. :-)

Musl есть, но вот stage3 с ним пока нет, только с uClibc, следовательно, он официально не поддерживается и это минус. Но что мне нравится в подходе Gentoo: нет необходимости создавать отдельный дистр с musl, отдельный дистр без systemd, отдельный дистр с ядром FreeBSD. Просто ставишь, что необходимо.

xdimquax ★★★★
()
Ответ на: комментарий от unt1tled

ну пусть будет бинарь. надеюсь, он опенсорцный? потому что если нет - он неинтересен. опакетить можно что угодно. была бы в том потребность.

Iron_Bug ★★★★★
()
Ответ на: комментарий от OyyO

а при чём тут тогда Void? ты тулчейн и так просто можешь собрать, без него. стандартными средствами типа автотулзов.

Iron_Bug ★★★★★
()
Ответ на: комментарий от xdimquax

в случае с системдэ так просто переключать не получится. он слишком много где влезает. а со стандартными библиотеками - тем более. это же не просто какая-то левая либа, это основа всего дистра, по сути. я даже не думаю, что такие вещи можно патчами разрулить. только параллельные наборы настроек для сборки.

Iron_Bug ★★★★★
()
Ответ на: комментарий от beastie

Т.ч. это вполне альтернатива по моему вкусу (а ля OpenBSD).

Ты просто раньше не интересовался маргинальными линуксами. CRUX и Slackware сто лет в обед существуют и вдохновлялись BSDями.

anonymous
()
Ответ на: комментарий от beastie

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

Iron_Bug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.