Всем доброго времени суток! Хочу поделится с вами историей об отказе от SystemD, выборе дистрибутива, его плюсы и минусы и чем он хорош.
Заранее скажу, что не являюсь тем, кто хочет испоганить словами проект от красношапочников, и ищет замену ради замены по религиозным причинам.
До поры до времени я использовал Arch Linux, был доволен, так как в нём не было какого-либо хлама. Установка и настройка полностью с участием пользователя. Началось всё с того, что начитался постов об Artix на данном сайте, историй об уязвимости системы инициализации "systemd" и прочего уже на других ресурсах. Да и на практике у меня многократно возникал баг при выключении ПК, собственно с отключённым quiet режимом стало ясно, что systemd ждёт пока работу завершит какой-то второй пользователь… Были и прочие мелочи, на которых не хочу заострять внимание.
Отступление.
Вот никак не разберусь, какой бы дистрибутив я не использовал, всё равно во всех одна болезнь — не извлекаются флешки… После выбора в проводнике/апплете "извлечь", система делает вид, что накопитель извлекается, но на деле он даже спустя несколько десяктов минут остаётся примонтированным, но недоступным для чтения/записи. При записи на съёмные накопители происходит что-то странное — именно очень быстрая запись, даже образ "Rocky Linux" в 9гб закинулся меньше чем за минуту. И, естественно, накопитель не извлекался. И да, на шпионской шиндовс, файлы записывались дольше, но проблем с извлечением не было, и грешу на систему ввода/вывода linux, но решение проблемы так и не нагуглил. Буду очень благодарен за ответ в комментариях.
Теперь к теме обзора.
Случайно попал на ресурс, где указаны дистрибутивы без выше упомянутой системы инициализации.
Ссылка: https://nosystemd.org/
Я задумался насчёт того, что единственный systemd-free дистрибутив, который я тестировал за всё время был — AntiX (не путайте с Artix, два абсолютно разных проекта.), и пора бы расширять свои знания.
И тут я захотел попробовать что-то ближе к Арчу, так как привык к нему, и выбор пал на Artix
Из забавного — жонглировал зеркалами минут 5, пока не добился скорости загрузки в 10мб/с (да, со 100+ мбит/c сетью, не в кайф ждать 16 часов загрузку образа).
Образ также выбрал с KDE, запустился без каких либо проблем (писал образ с dd, но и с ventoy проблем не было, проверял, так как пользователи этого дистрибутива писали по поводу разных проблем из-за мультизагрузки с usb), но изкоробочный внешний вид дистрибутива — страх и ужас…
Пошёл по так званному "Arch-way", и установил систему напрямую с эмулятора терминала, параллельно заглядывая в гайд по установке на оф. сайте. Отличия от установки обычного Арча всё же есть, именно в установке пакетной базы, но не критичные. Да и всё хорошо расписано, только об внесении правок в «/etc/vconsole.conf» они забыли (да и у меня с головы вылетело), и терминал сыпал квадратиками.
Лечится вот так:
KEYMAP=ru
FONT=cyr-sun16
Ещё одна дилемма — это отличие в самом runit по сравнению с Void Linux и другими дистрибутивами, они используют разные каталоги для запуска, вообщем ломал голову чтобы завести sddm.
Из плюсов дистрибутива выделю:
Все преимущества арча, только в добавок есть выбор системы инициализации.
Есть редакции с GUI и Base (без графики). Второй как раз и предназначен для arch-way установки, но использовать GUI с эмулятором терминала и браузером во время установки — намного приятнее и удобнее.
Скорость запуска от нажатия кнопки до рабочего стола KDE — 18.09с (да, замерял, и автологин включил ради большей точности).
Минимум сервисов, при этом они не включаются сами при установке пакетов (видел на дебиане, как во время установки lightdm, сервис автоматически добавился в автозапуск).
Минусы:
Для себя не нашёл, единственное — маленький репозиторий. Но найти на оф. сайте инструкцию по подключению арчевских репов не составило труда.
Ссылка: https://wiki.artixlinux.org/Main/Repositories
Системой полностью доволен, никаких проблем с приложениями не встретил, по зависимостям SystemD тоже не подтянулся. Железка теперь выключается по щучьему велению за пару секунд, независимо от нагрузки и запущенных приложений и служб. Кастомизации на данный момент много внимания не уделяю, настроил также как и предыдущую ОС, поэтому внешне и похоже что это тот же Арч, пост о котором ещё на модерации (на момент 23.05.2022).
Также в "/etc/pacman.conf" раскомментировал строку "ParallelDownloads" и заменил значение на 10, таким образом ускорил загрузку пакетов pacman'ом.
В "/etc/makepkg.conf" в строчке "MAKEFLAGS" заменил значение "-j1" на "-j8", т.е. указал количество потоков процессора. После проделанного, сборка пакетов из AUR и установка пакетов с репозиториев происходит за считанные секунды. Иногда полезно почитать ArchWiki.
В качестве AUR хелпера использую "paru", не по какой либо определённой причине, просто это первое, что мне попалось на глаза при встрече с Arch-подобными системами, свои функции выполняет и каких либо проблем с ним не наблюдаю. Также без проблем прикрутил драйвер на WiFi-адаптер TL-WN821N, который нашёл на Github, хотя до этого ставил из AUR и пакет собирался без проблем, но в Artix в качестве зависимостей хотел подтянуться "linux-headers", при том что я использую "Zen" ядро и соответственно вместе с ним установил "linux-zen-headers".
Хоть у меня и кабель в качестве источника сети, но адаптер выручал много раз. Для меньшей нагрузки на ссд самой системой и фс, использую следующие флаги монтирования — "rw,noatime,compress=zstd:2,ssd,discard=async,space_cache=v2,max_inline=256,commit=600,nodatacow"
Также закинул каталог "/tmp" в ОЗУ, прописав в "/etc/fstab" следующее — "tmpfs /tmp tmpfs rw,nodev,nosuid,size=2G 0 0" (нашёл на ArchWiki, да и ограничение в 2 гигабайта никак не влияет на работу ПК, даже спустя целого дня работы, игр и прочего — "df -h" выдаёт что "tmpfs /tmp" забита на 1-2% в зависисмости от ситуации). Возможно и не нужно так сильно беречь ssd-накопители, и они не такие хрустальные как многие говорят, но всё же я проделал эти оптимизации.
Приложения которыми пользуюсь:
Графика — Krita, XnConvert
Игры — Steam
Сеть — Chrome, Discord, Telegram, Transmission (QT), Tor (отличный браузер, благодаря которому можно отказаться от VPN)
Медиа — VLC, Spotify, OBS, Handbrake
Камера — Droidcam
Офисный пакет — Libreoffice
Скриншотер — Flameshot
Разработка — Sublime Text 3 (тема — base16-material-darker)
Команды Flameshot повесил на клавиши:
"flameshot screen -p '/home/zappex/Изображения/Снимки экрана' -c" — весь экран, PrtSc
"flameshot gui -p '/home/zappex/Изображения/Снимки экрана' -c" — выделенная область экрана, Win + Shift + S
Получился такой небольшой закос под шиндовс, да и скрины создаются одновременно и в указанном каталоге и буфере обмена, что очень удобно.
Видел неоднократно тексты со смыслом, что этот дистрибутив промежуточный перед переходом на Arch, да и Artix советовали новичкам как "Арч который проще, и без заморочек". Опровергну следующим — присутствие графического интерфейса не делает систему проще, и направление у Artix не на новичков, а на предоставление большей свободы над Arch.
Также применил все оптимизации от Arch Linux которые нагуглил без особых проблем, разве что dbus-broker завести не смог, да и особого прироста в производительности с ним не видел.
Со службой "ananicy" возникла небольшая проблема, два пакета "ananicy" и "ananicy-runit" лежат в AUR, с установкой проблем не было, но при включении сервиса он просто не работал. Команда "sv status ananicy" выдавала следующее — "down: ananicy: 0s, normally up, want up". Пол часа ломали голову (я и собеседник на сервере protondb), пока при ручном запуске не увидели в терминальном выхлопе информацию, что скрипты запуска службы в "/etc/runit/sv/ananicy" не являются исполняемыми… Вообщем права на запуск выдал, перезапустил сервис, и вывод предыдущей команды изменился на "ok: run: ananicy: (pid 12794) 10s", да и служба стартует вместе с системой без проблем.
Runit выбрал по той причине, что в нём очень просто разобраться, достаточно информации в сети, есть супервизор, напихано минимум кода и высокая скорость работы, которую runit выполняет на ура.
Также есть совместимость с OpenRC.
Скрин: https://drive.google.com/file/d/1Fjf6iJQi4SppQag1edoiHDJVXp5HFAWc/view?usp=sharing
Для включения/выключения сервисов используются симлинки, если запомнить директории и иметь базовые знания по работе с файлами в терминале, то ничего сложного в управлении ними не будет.
Включение (создание симлинка):
ln -s /etc/runit/sv/имя-сервиса /run/runit/service/
Выключение (удаление симлинка):
unlink /run/runit/service/имя-сервиса
Чтобы просмотреть сервисы которые добавлены в автозапуск:
ls /run/runit/service/* либо ls /run/runit/service (первое информативнее)
Просмотр всех сервисов:
ls /etc/runit/sv/* либо ls /etc/runit/sv
Вообщем достаточно хорошая, быстрая система, при этом является конструктором и идеально подойдёт для слабого оборудования, либо для пользователей которым не угодил SystemD (насчёт старого оборудования не уверен, так как роллинг релиз ядер и вообще всех пакетов, ставит данную мысль под сомнение). Удачи всем кто дочитал, хорошего дня!
Комментарии
17:43
Вот никак не разберусь, какой бы дистрибутив я не использовал, всё равно во всех одна болезнь — не извлекаются флешки…
таки убедился в том что windows и unix-подобные системы, по разному взаимодействуют со съёмными накопителями. например linux и macos используют кеширование данных в озу для всех накопителей до извлечения, поэтому происходит запись данных при извлечении достаточно долго, особенно при копировании большого количества мелких файлов, либо достаточно большого объёма данных. в windows же тоже используется кеширование, но только для системных дисков, и запись на флешку/внешний диск происходит напрямую, что только больше изнашивает накопитель и сокращает срок его службы. в этом можно легко убедится, если примонтировать флешку с флагом "sync", запись будет долгой, но извлекаться устройство будет мгновенно. либо же пример с утилитой dd - при записи образа с опцией "oflag=sync", накопитель тоже будет извлекаться сразу
05:12
21:27
01:30
21:49
https://pingvinus.ru/gallery/3974
01:19
01:25
21:53
https://pingvinus.ru/note/sysinit-personal-review
01:28
21:55
03:08
Ещё на днях додумался закинуть в ОЗУ кеш из home, добавив такую же строку, но вместо "/tmp" прописал "/home/имя_пользователя/.cache". В итоге получил ещё меньший износ ssd и отсуствие заморочки с удалением хлама в выше упомянутом каталоге. На моей конфигурации с 16гб ОЗУ, это работает вполне сносно и проблем не наблюдал, да и память в простое = зря купленная память
06:47
Было дело, всю ось закидывал на tmpfs с 16 гб озу, сейчас при использовании nvme скорость практически одинаковая, но тогда это давало ощутимый профит. Правда и ПО было не такое "жирное" и гигов 8 для озу всегда оставалось!
15:28
А если серьёзно, то видно, что поработал немало!
Спсб за обзор, - интересно и полезно оказалось.
По поводу флешки и "долгой" записи на неё ... я как-то искал решение проблемы. Люди также сравнивали данный процесс с виндовским. Но решения как такового нет, ... потому что нет проблемы. "Быстрота" записи гигантских файлов на USB зависит от количества памяти и, как следствие, размера кэша. - Ничего страшного не случится, если мы отправляем большой файл на флэху, клацаем на "Извлечь" и забываем про это на несколько минут, - нотификатор скажет когда "выкидыш" случится. А мы пока занимаемся своими делами!.. Как-то так...
...
Еще раз, спасибо за обзор! Но.. имхо, твоя раскраска не сильно лучше "изкаробочной" ... Но это - дело вкуса.
16:19
16:32
https://download.artixlinux.org/weekly-isos.php
Официальные релизы (как мы знаем) лежат здесь:
https://artixlinux.org/download.php
18:08
небольшой костыль с systemd, можно создать файл:
sudo nano /etc/sysctl.d/99-sysctl.conf
туда вписываем:
vm.dirty_bytes = 2097152
vm.dirty_background_bytes = 2097152
сохраняем
В терминале:
sudo sysctl sysctl --system
И будет у вас как в виндовсе)
08:52
За это время только один косячок вылез недавно - отвалился какой-то кодек, не пойму какой. На сайте avrora.network перестало видео запускаться (он на kinescop завязан). На ArcoLinux работает а на Artix не хочет.
А в общем замечательный легковесный дистр для "хомячков"
15:25
Вот есть systemd, навязанная нехорошей, жадной лгбт-корпорацией. Вся такая уязвимая, небезопасная и непредсказуемая (Разумеется, которую нужно обходить стороной!).
А flatpak\snapd что же? Черные ящики, с root правами, которые постоянно шуршат по системе. Имеют свои, неконтролируемые, частично закрытые репозитории, с зачастую закрытыми же пакетами.
А они точно-точно хорошие?
13:54
Вот есть systemd, навязанная нехорошей, жадной лгбт-корпорацией. Вся такая уязвимая, небезопасная и непредсказуемая (Разумеется, которую нужно обходить стороной!).
Обрывки из обзора:
>> Заранее скажу, что не являюсь тем, кто хочет испоганить словами проект от красношапочников, и ищет замену ради замены по религиозным причинам.
>> Я задумался насчёт того, что единственный systemd-free дистрибутив, который я тестировал за всё время был — AntiX (не путайте с Artix, два абсолютно разных проекта.), и пора бы расширять свои знания.
>> Да и на практике у меня многократно возникал баг при выключении ПК, собственно с отключённым quiet режимом стало ясно, что systemd ждёт пока работу завершит какой-то второй пользователь
16:40
"rw,noatime,compress=zstd:2,ssd,discard=async,space_cache=v2,max_inline=256,commit=600,nodatacow"
Насколько я разбирался с btrfs, nodatacow однозначно отменяет сжатие, так что compress не работает
20:22