Установка Suckless init на Linux

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • Гайд для отважных: troubleshooters...
    Репозиторий: github.com/And...
    Документация по daemontools: untroubled.org/...
    Музыка на фоне:
    • MONIN - Binary Stars [...
    • 1 A.M Chill Session 🌌 ...

Комментарии • 109

  • @ampersand3636
    @ampersand3636  Год назад +55

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

    • @alexeytimokhin6233
      @alexeytimokhin6233 Год назад +3

      Мне понравилось! Довольно редко встречаю подобные познавательные ролики. Однозначно буду только рад видеть периодических их на вашем канале

    • @ilyarik8888
      @ilyarik8888 Год назад +1

      конечно хотим

    • @morik1980
      @morik1980 Год назад +2

      как на счет Alpine+sinit+doas+wayland+ly+tilling wm(например riverwm)?

    • @user-nx2sw7sx7p
      @user-nx2sw7sx7p Год назад +1

      именно таких роликов и не хватает.

    • @nbasked
      @nbasked 20 дней назад

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

  • @Cubeap
    @Cubeap Год назад +40

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

  • @sabe11us
    @sabe11us Год назад +29

    Чуваааак, ты мега крутой! Это прям очень интересно и нужно нашему сообществу красноглазиков) Мы безусловно ждем таких проектов и будем поддерживать вниманием!

  • @user-xn9nz4zs5e
    @user-xn9nz4zs5e Год назад +24

    Очень круто!
    Ждём сериал по созданию минималистичного дистрибутива на утилитах suckless!

    • @AlexandrVtoroy
      @AlexandrVtoroy Год назад +2

      Ядро линукс, синит и утилиты gnu - вот вся система :)

    • @ampersand3636
      @ampersand3636  Год назад +3

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

    • @speedyfox9080
      @speedyfox9080 Год назад +4

      @@AlexandrVtoroy У саклес есть sbase, даже GNU не оставили!

    • @AlexandrVtoroy
      @AlexandrVtoroy Год назад

      @@speedyfox9080 а, даже так

    • @ParallaXP
      @ParallaXP 11 месяцев назад

      @@ampersand3636 Если ты ответишь на мои вопросы я постараюсь зделать на убунте и sinit(без демонов только сервисы).

  • @mblanche
    @mblanche Год назад +14

    Осталось только портировать на gentoo, crux, void Linux, freebsd, тостер и лампочку. Жизнь должна быть не по bloatware)

  • @sadnessITS
    @sadnessITS Год назад +7

    Ты безумец. Молча скинул видос друзьям. Надеюсь, у тебя не закончится энтузиазм!)

  • @ge_bassist8232
    @ge_bassist8232 Год назад +5

    Схема с svscan и littkit это, конечно, эталонный костылятор) После такой экскурсии хочется написать что-то своё и "правильное", чтобы можно было работать с порядком запуска сервисов, чтобы были зависимости и т.п, однако, [тут должна быть ссылка на генту вики с системами инициализации]. Авторы sinit наверное очень собой довольны, но здесь явно недостаёт удобств для пользователя)) Выключение компьютера это вообще восторг :) Поиграться будет весело, но не более)) А за видео спасибо, реально интересно!

    • @ampersand3636
      @ampersand3636  Год назад +1

      Согласен, уж littkit точно можно заменить на что-то своё, а с заменой daemontools будет посложнее. sinit конечно можно допилить до более юзабельного состояния с управлением демонами и разрешением зависимостей, при этом не превышая 500-1000 строчек кода, что тоже очень минималистично, но суть sinit именно в максимальном упрощении функционала

    • @hypeqq
      @hypeqq Год назад

      @@ampersand3636 кстати, надо взять во внимание то, что скрипт /bin/rc.init можно запустить прямо через параметры ядра, в таком случае sinit будет вообще не нужен. по поводу краша демонов - тут спорно, я ниразу не сталкивался с крашем демонов, но их можно поднимать тем же bash скриптом который будет за ними следить. по сути вы написали систему инициализации на bash, ничего не хочу сказать напротив, наоборот вы мне помогли понять как происходит инициализация на таком уровне, ваш скрипт я взял, убрал оттуда все зависимости и теперь гружусь очень быстро. как считаете, стоит ли делать форк на github где все это реализуется на bash? а так, спасибо вам за ролик, я прозрел.

    • @JamesSmith-ix5jd
      @JamesSmith-ix5jd 7 месяцев назад

      ​@@hypeqq постоянно сталкивался с крашем и зависанием сервисов при выключении на systemd

    • @vikarchuk-tb1ef
      @vikarchuk-tb1ef 3 месяца назад

      @@hypeqq зроби форк

  • @irgendwer234
    @irgendwer234 Год назад +2

    Как же круто иметь полный контроль над системой. Огромное спасибо за гайд. Теперь точно знаю, какой инит поставлю, когда буду собирать LFS. Однозначно лайк

  • @alexvarnavsky3739
    @alexvarnavsky3739 Год назад +3

    Спасибо за труды! Было ооочень интересно, но мало понятно😅

  • @AlexandrVtoroy
    @AlexandrVtoroy Год назад +3

    Ну ты и красава! Менять dinit на sinit я, конечно, не собираюсь, но на том же тестовом арче протестить можно

  • @mkuznetsoff
    @mkuznetsoff Год назад +3

    Спасибо за видео. Теперь ждем установку tcc и прочих на замену gcc)

  • @TerromurOZ
    @TerromurOZ Год назад +1

    Хайповый ролик, контент у тебя крайне интересный на канале. Спасибо за обзор sinit, потыкать в Арче будет крайне интересно!

  • @НикитаКуликов-ч4с
    @НикитаКуликов-ч4с Год назад +1

    Спасибо за твой контент! Благодаря тебе решил поставить артикс с динитом. Вроде норм получилось)

  • @lookherto9207
    @lookherto9207 Год назад +1

    Очень круто, хотелось бы больше подобного контента)

  • @fffefffegegeubadd2310
    @fffefffegegeubadd2310 Год назад +3

    Отличное видео!

  • @krator3
    @krator3 Год назад +5

    Привет, автор! Это конечно очень интересно, но возник вопрос в нужности этих действий. Все равно все не заменить, да и к тому же некоторые вещи просто не способны работать с другими системами инициализации. Мне конечно хотелось бы попробовать, но мучаться с тем что каждый раз что-нибудь не работает потому что не systemd не очень хочется. Вот если сделаешь полноценную текстовую (или видео) инструкцию со всеми нюансами, настройками, аналогами нужных для работы вещей, то тогда будет смысл от всего этого

    • @ampersand3636
      @ampersand3636  Год назад +2

      Сейчас много вещей действительно завязаны на systemd. Но это конечно зависит от того, какой функционал требуется от системы. Мне например на OpenRC всего хватает. Что касается sinit, то если скопировать бОльшую часть скриптов из других систем инициализации со всевозможными проверками чтобы они работали на всех дистрибутивах, то получится вполне стабильная система инициализации. А также желательно пофиксить корявый скрипт выключения. Как будет время и возможность займусь этим

    • @krator3
      @krator3 Год назад +1

      @@ampersand3636 было бы интересно посмотреть продолжение, а так вообще намешать из всех других систем инициализации тоже не есть хорошо. В таком случае лучше использовать сразу готовую, взрослую и проверенную систему инициализации. А так как хобби вполне. Кстати а как вам пришла в голову идея заняться этим, что для этого нужно и т.д.?

    • @ampersand3636
      @ampersand3636  Год назад +1

      Идея пришла после видео со сравнением скорости всех систем инициализации, где sinit оказался самым быстрым. Решил записать полный обзор. Что для этого нужно? Лишь доступ в интернет, чтобы гуглить возникающие ошибки :)

    • @rerofriverwood379
      @rerofriverwood379 Год назад +1

      @@ampersand3636 топовое видео, и да, вопрос о необьходимости sinit на десктопе остро стоит, а вот во встраиваемых системах... Не думал сделать видос о сборке дистрибутива для встраиваемой системы типо SBC, телефона, планшета?

  • @partsan
    @partsan 10 месяцев назад

    Таких видео надо поболее. Отличная работа!!!

  • @C3mR4de
    @C3mR4de Год назад +2

    Наконец-то я нашёл тот инит, который запустился бы на моем старом ноуте

    • @AlexandrVtoroy
      @AlexandrVtoroy Год назад

      Это у тебя какое железо?

    • @hardcodedreborn9650
      @hardcodedreborn9650 10 месяцев назад +2

      ​@@AlexandrVtoroy печатный станок

  • @c4llv07e
    @c4llv07e 10 месяцев назад +1

    Мне кажется, тема rc.init и rc.shutdown не раскрыта как надо. Что в видео, что в гайде просто говорят скопировать файлы и не сильно задумываться об их содержании, что, имхо, странно, т.к. большинство это будет делать только в образовательных целях не на реальных системах (За себя не говорю, прямо сейчас устанавливаю sinit на основной ПК). Про такие вещи, как /dev/shm и /dev/pts я узнал только когда переписывал скрипт и ради интереса пошёл искать, зачем они нужны и нужны ли они мне.
    Однако в остальном могу только поблагодарить автора за проделанный труд, ибо за исключением гайда из описания (который подразумевает установку только на определённые дистрибутивы), в интернете почти нет разъяснений по этой теме.

  • @prolinux2753
    @prolinux2753 Год назад +5

    Отличное видео! Спасибо! Только хотелось бы больше про плюсы и минусы, в сравнении с другими системами инициализации... Ну системд на десктопе понятно, слишком толсто, а вот рунит например, какие плюсы перед ним, ну кроме мимилистичности?

    • @ampersand3636
      @ampersand3636  Год назад +3

      Из плюсов наверное только контроль над системой и время запуска. От запуска sinit до появления /dev/tty1 проходит меньше секунды. А так по удобству sinit конечно сильно уступает всем остальным инитам

    • @prolinux2753
      @prolinux2753 Год назад

      @@ampersand3636 ок понял!

  • @123-o4z
    @123-o4z 3 дня назад

    Гений

  • @url-god
    @url-god Год назад +1

    Довольно круто.

  • @wild_shaman
    @wild_shaman Год назад

    Интересно, конечно. Прямо ностальгия по старому иниту.
    И вот проблемы те же - lk по сути заменяет svscan, потому как случайный порядок загрузки демонов сегодня - довольно уныло.
    Или, допустим, у меня amiшка на амазоне с бинарником сервиса. Я его стартую в том же systemd прописав зависимость - работает, само поднимается... Ну красота же!
    Да,не самое идеологически правильно решение, но точно рабочее.

  • @PSP-uf5fw
    @PSP-uf5fw Год назад +1

    топ контент, красавчик

  • @user-qu4hc6mk8e
    @user-qu4hc6mk8e Год назад +1

    Повторю слова великих "Них*я не понял. Но ОЧЕНЬ интересно"

  • @magnumopus1002
    @magnumopus1002 Год назад +2

    Очень крутое видео, вот только я не до конца понял, как установить арч с sinit, там же систем д по умолчанию стоит и насколько я помню мы его руками не ставим при установке, а тут мы поверх него ставим синит и норм работает?

    • @ampersand3636
      @ampersand3636  Год назад +1

      Да, просто поверх systemd ставится sinit. Кстати, можно откатиться обратно на systemd без проблем, если заменить /sbin/init обратно на /usr/lib/systemd/systemd. То же самое работает, если sinit был поставлен поверх любых других систем инициализации

  • @artytrt325
    @artytrt325 Год назад +4

    Очень интересно, но не хрена не понятно 😊 лайк с меня за труд, бро

  • @tim1730
    @tim1730 10 месяцев назад

  • @ParallaXP
    @ParallaXP 11 месяцев назад +1

    Есть вопрос, что делать со сервисом anacron он обращен к стоп старт демон. Есть ли другие сервисы, что с ними делать или они не очень нужны?

    • @ParallaXP
      @ParallaXP 11 месяцев назад

      @ampersand3636 Вопрос Амперсанду но кто знает ответте.

  • @hedgegod8644
    @hedgegod8644 3 месяца назад

    Нельзя в скрипт запуска dbus сразу вписать запуск sddm?

  • @ParallaXP
    @ParallaXP 11 месяцев назад +1

    Еще вопрос о том как записать в init.rc запуск сервисов.

    • @ParallaXP
      @ParallaXP 11 месяцев назад

      @ampersand3636 Вопрос Амперсанду но кто знает ответте.

  • @qrefccpa4195
    @qrefccpa4195 Год назад

    Спасибо за интересное видео. Еще интересно: какой девайс используешь, видно что TianoCore в качестве прошивки?

    • @ampersand3636
      @ampersand3636  Год назад +1

      Это виртуальная машина QEMU/KVM :)

    • @qrefccpa4195
      @qrefccpa4195 Год назад

      @@ampersand3636 Хорошо, но также интересно какие устройства используешь? Пользуешься ли девайсами от purism, starlabs, nitrokey? Использеушь ли coreboot и измеримую загрузку?

  • @richter4732
    @richter4732 Год назад +2

    есть покетный менеджер от саклэсс?

    • @ampersand3636
      @ampersand3636  Год назад

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

  • @ulysses.apokin
    @ulysses.apokin Год назад

    Очень круто и после этго ты себя не считаешь программистом?)

  • @atommixz
    @atommixz Год назад

    Дак в итоге получается тоже самое что делает runit. И litkit не нужен, если определить зависимости демонов в стиле runit

  • @Мужчина-к1э
    @Мужчина-к1э 8 месяцев назад

    Всё что не СисяД - круто и здорово!!! Даже SysV.

  • @lifer_x
    @lifer_x 10 месяцев назад +1

    Жду время загрузки ПК с помощью efistub+sinit

  • @JamesSmith-ix5jd
    @JamesSmith-ix5jd 7 месяцев назад

    А нафига dbus и sddm ставить в такую систему?

  • @user-ev9vt7lq9w
    @user-ev9vt7lq9w Год назад

    👍👍👍

  • @dibof228
    @dibof228 Год назад +1

    Кстати, а будет видео по смене системы инициальзации в Arch Linux?

    • @ampersand3636
      @ampersand3636  Год назад

      Пока что не вижу в этом смысла. Можно установить почти любую систему инициализации из AUR-а и скачать нужные скрипты из репозиториев артикса

    • @dibof228
      @dibof228 Год назад +1

      @@ampersand3636 А где найти эти скрипты?

    • @ampersand3636
      @ampersand3636  Год назад

      Здесь packages.artixlinux.org/?search_criteria=dinit&limit=50

  • @user-bh2ot5ks8f
    @user-bh2ot5ks8f Год назад +1

    75 строк это конечно круто, но к чему потом перечислять утилиты без которых это работать не будет, а сколько там строк кода?

    • @alenigmaenigmaticovich
      @alenigmaenigmaticovich Год назад +1

      Ну так оно без всего спокойно работает, видео про расширение функционала этих 75 строк

    • @ampersand3636
      @ampersand3636  Год назад +1

      Да, это может работать и на ванильном sinit, просто daemontools и LittKit делает всё более удобным и пригодным для десктопа. Если их всех вместе скомбинировать, то наверное получится пару тысяч строк кода, что тоже довольно мало

    • @user-bh2ot5ks8f
      @user-bh2ot5ks8f Год назад

      @@alenigmaenigmaticovich ага, если запускать демонов не в правильном порядке то не спокойно

  • @desubakadesu
    @desubakadesu Год назад

    `lk_runsvc` гарантирует запуск демона ? (я не знаю, просто интересуюсь без какого либо хейта и т.п.)
    Просто, у Вас на 7:54 показан скрипт, где есть функция `log`, которая принимает в качестве аргумента имя демона, и просто напечатает в консоль `[ OK ] demon name`
    и при этом Вы вызываете функцию `log` перед тем, как запустить демона...
    Что я имею в виду:
    ```
    log "udevd"
    lk_runsvc /etc/rc/udevd 0
    ```
    т.е. функция `log` будет напечатать, что всё ок ещё до запуска демона, т.е. `[ OK ] udevd` и только после этого `lk_runsvc /etc/rc/udevd 0`
    Потому интересовался, гарантирует ли `lk_runsvc` запуск демона, раз Вы напечатаете `log` что всё ОК до запуска демона

    • @ampersand3636
      @ampersand3636  Год назад

      Это хорошее замечание. Было бы логичнее писать OK после запуска демона

  • @mikemerinoff
    @mikemerinoff Год назад

    Неужто граф зависимостей и гипервизор для сервисов с парсером конфигов - это так много строчек кода? Вы, конечно, можете бросить мне «так системд и начался», но а если серьезно. Это же несложно допилить, будет уже удобно

  • @critical-ren-fan-corner
    @critical-ren-fan-corner Год назад +1

    Отдуши.
    Обзор/установку полного комплекта suckless или системы на нём.

  • @sergeyn5504
    @sergeyn5504 Год назад

    Если вы вдруг запутались - ставьте системди

  • @SPRATAY
    @SPRATAY Год назад +1

    Познавательно, но это уже черезчур, вот тебе более интесное musl c, замена для glib c

    • @doc_emmettbrown
      @doc_emmettbrown Год назад +1

      и получится Alpine linux

    • @Mitsumata
      @Mitsumata Год назад

      На масле тоже хватает пердолинга. В основном весь софт заточен под Glibc и на Musl, соответственно, работать не будет. С другой стороны, если использовать тот же Flatpak, то оно вроде способно будет запускать Glibc-софт под Musl.

    • @SPRATAY
      @SPRATAY Год назад

      @@Mitsumata именно, да будет работать проверял лично

    • @doc_emmettbrown
      @doc_emmettbrown Год назад

      @@SPRATAY и главное зачем ?

  • @ogis
    @ogis 7 месяцев назад

    Хотите минимализма- используйте s6.

  • @dibof228
    @dibof228 Год назад

    У меня после перехода на sinit не работает alsa, я создал демона для работы alsa но ничего не работает, что делать?

    • @ampersand3636
      @ampersand3636  Год назад

      Скопируй сервис альсы из старой системы инициализации без сокращений. Посмотри какие ошибки возникают при запуске сервиса

  • @Fludboy
    @Fludboy Год назад +1

    имхо лучше просто еще 75 строк в сосименьше добавить без лишних зависимостей.

  • @d00mka
    @d00mka Год назад +1

    Круто! А можно ждать видео по NixOS?;)

    • @ampersand3636
      @ampersand3636  Год назад +1

      Можно, но выйдет оно через месяца 2-3

  • @s0me1newithhand7s
    @s0me1newithhand7s Год назад +1

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

  • @FormAlDeGid
    @FormAlDeGid Год назад +1

    Попробуй её в Alt сунуть ;)

    • @Mitsumata
      @Mitsumata Год назад

      Зачем хороший инит пихать в 💩 дистрибутив? Оно от этого лучше не станет.

  • @AndreyOnAir
    @AndreyOnAir Год назад

    Шумо-музыкальный фон всё портит.

  • @ulysses.apokin
    @ulysses.apokin Год назад

    Sinit настолько крутой, что копирует весь функционал systemd в 79 строк кода🤞🤣🤣

  • @gepron1x
    @gepron1x Год назад

    Просто поставь systemd

    • @grosmaek
      @grosmaek Год назад

      systemd для умственно отсталых

    • @gepron1x
      @gepron1x Год назад

      @@grosmaek поплачь)

    • @ownedbyptr
      @ownedbyptr 8 месяцев назад

      ​@@gepron1xыыыыыы я лублу тратить свой озу непонятно на что

    • @gepron1x
      @gepron1x 8 месяцев назад

      @@ownedbyptr сколько у тебя оперативной памяти? 512 мегабайт?

    • @ownedbyptr
      @ownedbyptr 8 месяцев назад

      @@gepron1x много. просто я люблю использовать ее оптимально, а это позволяют openrc и runit.