Представлен системный менеджер GNU Shepherd 1.0.0 (бывший dmd), сочетающий возможности системы инициализации и инструментария для управления системными сервисами. Отмечается, что присвоение номера 1.0 после 21 года разработки ознаменовало признание готовности проекта и его соответствия требованиям к функциональности современных систем инициализации и сервисных менеджеров...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62376
Поздно. Для systemd это не конкурент, поскольку за 21 год появились пространства имён и кое-что ещё, что полезно использовать и учитывать, чтобы потом не обвешиваться костылями.
А может и вовремя, учитывая насколько разросся системд, при том что и не так лёгок был. Нужно что-то помимо OpenRC
Ничего к следующему сервис паку шепард будет готов, можно будет ставить в прод.
Через еще 21 год?> Добавлен сервис transient для запуска команд в фоне, по аналогии с утилитой systemd-run.
А то вот - не прошло и 20 лет как до них дошло. Или, таки, уже прошло? Кто там хронометраж ведет, подскажите?
linux 33 гада и ничего
> linux 33 гада и ничегоЧего? Какие еще гады?! Если это годы имелись в виду - так Linux образца 1990х и Linux образца 2024 это несколько разные вещи. Отличие как между мелким гамнюком гадящимся в папмерс и матерым разработчиком который возмужал, окреп и програмит like a boss.
Его таки - конкретно отрефакторили. И даже Торвальдса в "замечательное прошлое" чего-то пинками не загонишь. Достаточно почитать его мнение о P4, генерации кода, всяких оптимизациях "для K8" и проч. И где он все это видал - "I'm not nostalgic". Называя вещи своими именами - с кончиной 32 бит x86 ветки всем будет минус очень много гемора и костылей.
Вот только systemd-run и по сей день нормально не работает. Отбрасывает окружение, что для многих программ критично. Требует рута, так попробуй к нему Polkit-правило напиши с его-то "неймингом" и ограничениями на проверяемые параметры. Кривая брошенная поделка. Особенно, рядом с sudoers. Кто-то действительно им пользуется? Или он просто ЕСТЬ? КАК ЕСТЬ?
> Вот только systemd-run и по сей день нормально не работает. Отбрасывает окружение,1) Кажется кое-кто маны в принципе не читает, но "ценное" мнение имеет. Есть вариант с отбрасыванием, есть без.
Первое (transient service unit) ближе к тому как запускаются сервисы системдой, ибо на момент запуска ОТТУДА - в системе еще не было никакого вашего окружения, кроме того что системд даст.
Второе (transient scope) все же позволяет сделать именно вон то. Если столь странный фортель зачем-то вдруг надо.
2) Вы, кажется, не в курсе - но контроль за окружением позволяет делать более 9000 интересных нежданчиков с системой, так что таскать окружение прямо из под пользака мягко говоря - не особо секурно и запускать так "сервисы" не особо удачная идея, ведущая к заявкам на залет. Но если очень хочется - см выше.
> что для многих программ критично.
Да, мануал разок почитать все же придется, увы и ах.
> Требует рута, так попробуй к нему Polkit-правило напиши с его-то "неймингом"
Я даже в принципе соглашусь что polkit не лучшая на свете штука, но называя вещи своими именами остальные были не сильно лучше. Su и sudo делают вообще довольно странные вещи, мягко говоря. Обладая гибкостью чугунной гири.
> и ограничениями на проверяемые параметры. Кривая
> брошенная поделка. Особенно, рядом с sudoers. Кто-то действительно им пользуется?Им реально пользуется - легион народа. В убунте это все по дефолту. Даже в серверной.
> Или он просто ЕСТЬ? КАК ЕСТЬ?
Он есть и используется. Даже со всеми своими заскоками. Потому что остальное - еще хуже.
> в системе еще не было никакого вашего окружения, кроме того что системд дастОб том и речь, что это не передача прав, а старт с правами.
> контроль за окружением позволяет делать более 9000 интересных нежданчиков с системой
Кому нежданчики, кому необходимая гибкость и функциональность. Странная логика. Волков бояться, компьютер в розетку не включать. Компьютер обслуживает мои потребности, а не я - его.
> запускать так "сервисы" не особо удачная идея
Кто ж спорит. Запускать руками сервисы - идиотская затея. Однако ж, поди ж ты. А у нас есть транжирент сервисы! А у вас?
Реально людям нужно другое - запуск с заданными параметрами с передачей прав от одного пользователя к другому. sudoers с этим прекрасно справляется.
А systemd, в своём репертуаре, решает "проблему", которой нет, а которую есть - делает на отвали. (А на деле RH просто пытается подмять под себя раздачу привилегий в системе, потому что разработку sudo не контроллирует, а Polkit - да.)> Su и sudo
Разные вещи. Не нужно валить всё в кучу.
> sudo
> Обладая гибкостью чугунной гири.Вот мы и нашли, кто тут маны не читает. В sudoers параметры командной строки можно даже регулярками фильтровать. Что, разумеется, требует особой осторожности. Но если вы не боитесь раздавать привилегии в системе Polkit'ом через DBus, то вы уже ничего не боитесь.
И в sudoers{,.d/*} весьма наглядно - кто, что, кому, с какими правами и условиями. А sudo - самостоятельная SUID-утилита. А значит, например, не может поднимать привилегии из песочницы (no_new_privs), и её вообще можно не монтировать туда. Причем, настройка sudoers - ответственность админа системы. Разрабочики дистрибутива, максимум, некоторым системным группам дадут права (%wheel) в основном конфиге, спросив разрешения при установке системы.
А кому раздаёт systemd+polkit - это целый вагон конфигов на XML+Javascript, поставляемых в отдельных пакетиках с разными программами, по желанию/недосмотру их сопроводителей и/или разработчиков. Механизм нельзя так просто "выключить". Привилегии системда "передает" тихо и откуда угодно, даже из песочницы, если не зарубить клиенту DBus (но и тут остается пространство для манёвра со всеми этими run0). Вообще, всё это выглядит как легальный способ доставки бэкдоров. По запросу спецслужб, после получения квитанции об оплате.> Им реально пользуется - легион народа. В убунте это все по дефолту.
systemd-run/run0? Где например?
> Даже в серверной.
Polkit + DBus? В серверной? Боже упаси. Хотя если у вас systemd, то выбора у вас особо и нет. Ясно, понятно.
> polkit не лучшая на свете штука
И не станет лучше. Разработчики systemd не могут так просто добавить, скажем, более гибкую проверку параметров в правилах для транзитных сервисов. Просто потому, что так в их замечательной модели безопасности, где пускают от рута каждого встречного под честное слово (зато без SUID и ГМО! бе-бе-бе!), слишком легко наделать дыреней. Нет гарантий, что параметры не подменили. Даже имя транзитного сервиса получают генератором, с шансом, что один сервис с хитрым именем притворится другим - с повышенными (через Polkit) привилегиями.
> остальное - еще хуже
Аргументы? Вялое бормотание редхатовцов про "ошибки" и "страшный" SUID не в счёт. У них ошибки ещё хуже и глупее (см. новости на Опеннете), а модель вообще идиотская by design. И то, как выглядит связка systemd-run + Polkit от этих же разработчиков, говорит что они со своей моделью зашли тупик. А вот "плохой" SUID всё ещё гибкий и удобный: трудно не заметить и легко точечно обрубить, когда не нужен, по пользователю или опциями монтирования ФС/namespace-песочниц.
> Об том и речь, что это не передача прав, а старт с правами.Я вообще не особо понимаю что есть "передача прав". В *nix в общем случае права можно только урезать, эскалация обратно - не предусмотрена, что спасает от более 9000 вулнов и факапов.
Исключение это вещи типа SUID (дистры который хотят уйти, за дело) file caps (относительно fine grained) - и - вот - возможность попросить сервисманагер (который под рутом) - таки запустить вон то под иными правами, по определенным правилам, через вон то.
Сам по себе пользак такую диверсию - не может. Что спасает вон тех от дофига дурных ситуаций.
> Кому нежданчики, кому необходимая гибкость и функциональность. Странная логика.
Ага, LD_PRELOAD какой в привилегированный процесс, под правильного пользака - некоторым и правда пригодится! Но, правда, не вам.
> Волков бояться, компьютер в розетку не включать. Компьютер обслуживает мои потребности, а
> не я - его.Ну или не ваши, аболее разумных существ, вовремя подсуетившихся для захвата контроля над халявным ресурсом, так бывает :)
> Кто ж спорит. Запускать руками сервисы - идиотская затея. Однако ж, поди
> ж ты. А у нас есть транжирент сервисы! А у вас?И у нас. Но есть нюансы.
> Реально людям нужно другое - запуск с заданными параметрами с передачей прав
> от одного пользователя к другому.Это вообще заявка на нечто между бэкдором и вулном. Прям сразу. То-есть если некто хочет это, налицо явный priv escalation attempt. Просто по общей логике действа.
> А systemd, в своём репертуаре, решает "проблему", которой нет, а которую есть
> - делает на отвали.Как раз - вон там относительно осмысленно - если пользаку так можно - он таки запустит через системду юнит под вон тем другим пользаком. Ну то-есть если сказано что вот этот могет httpd админить - он таки сможет какую-то лабуду под тем пользаком все же запустить.
Всякие su и sudo это делают тоже весьма стремно - и на этой почве там бывали интересные вулны, типа незабвенного sudoedit'а.
> под себя раздачу привилегий в системе, потому что разработку sudo не
> контроллирует, а Polkit - да.)Ну и гибкость sudo'ы - не ахти. Видимо редхату это и не понравилост. Правда, сказать что из решение так уж лучше - ну даже и не знаю. Тут было что-то про жабу и гадюку.
> Вот мы и нашли, кто тут маны не читает. В sudoers параметры
> командной строки можно даже регулярками фильтровать.Ну да, ну да, вау как гибко.
> И в sudoers{,.d/*} весьма наглядно - кто, что, кому, с какими правами
> и условиями.А еще там у них sudoedit был. Черт его знает зачем ЭТО встраивать - ТУДА но там пару раз вешали фееричнейшие вулны, когда кто угодно мог до рута эскалировать. Сможет ли редгат так по простому до этого добраться - ну это мбудем посмотреть.
> А sudo - самостоятельная SUID-утилита.
Угу, и suid это такая безопасная операция - что все дистро хотят порубить все SUID бинари, почему-то.
> А кому раздаёт systemd+polkit - это целый вагон конфигов на XML+Javascript, поставляемых
> в отдельных пакетиках с разными программами,А как вы воон там вообещ какой-то программе правов отсыпать собираетесь, если ей ну вот реально для работы надо что-то нестандартное? Или к вопросах о чугунной гире. А, дать пользаку sudo su вообще и пусть фигачит что хочет? Или таки самому лапками прописывать это - туда?
> run0). Вообще, всё это выглядит как легальный способ доставки бэкдоров. По
> запросу спецслужб, после получения квитанции об оплате.При желании это все можно и не ставить. Особенно на серваки.
> Polkit + DBus? В серверной? Боже упаси. Хотя если у вас systemd,
> то выбора у вас особо и нет. Ясно, понятно.Да вообще-то вот именно на серваке - systemd на минималках вообще без нифига работает. Даже без дбаса, через какой-то более прсотой IPC коммуницирует в этом случае.
> что так в их замечательной модели безопасности, где пускают от рута
> каждого встречного под честное слово (зато без SUID и ГМО! бе-бе-бе!),Вообще-то его пускают только ежели правило такое прописано. Чем это так уж отличается от вон того - фиг бы его знает.
> Аргументы? Вялое бормотание редхатовцов про "ошибки" и "страшный" SUID не в счёт.
Кроме страшного SUIDа, в вот именно этом самом sudo было несколько жирных вулнов дающих эскалацию до рута.
> своей моделью зашли тупик. А вот "плохой" SUID всё ещё гибкий
> и удобный: трудно не заметить и легко точечно обрубить, когда не
> нужен, по пользователю или опциями монтирования ФС/namespace-песочниц.Что-то это легко обрубить у вот именно sudo пару раз как раз и не прокатило...
> Сам по себе пользак такую диверсию - не может.Пользователь должен быть явно допущен в sudoers (root:root) для повышения привилегий.
> LD_PRELOAD
Также имеет проверки, кто, что, куда.
> налицо явный priv escalation attempt
И? Слово страшное? Это проблема, если такая попытка не санкционирована админом и удалась. Без этих двух обязательных условий - это, вполне, легальный способ контроллируемо сделать немного больше, чем дозволено по умолчанию. Пакет установить, флешку смонтировать и т.п.
> вулны, типа незабвенного sudoedit'а
У sudo(edit) были проблемы с проверкой аргументов (в частности "нулевого"). Которые были у каждой пускалки с эскаляцией, включая Polkit. Причем, в последнем и нашли-исправили самым последним. Что как бы намекает на его востребованность, а также компетентность его разрабов, которые ищут соринки в чужом проекте, а в своём бревна не заметили. Но, видимо, свое, корпоративное, не пахнет.
И sudoedit <что-угодно>, даже с вулном, всё ещё оставался безопаснее, чем vim/emacs (или, не дай бог, Gedit/KWrite/VSCode) из-под рута.> Угу, и suid это такая безопасная операция - что все дистро хотят порубить все SUID бинари, почему-то.
Кто эти все? Редхат- не вся Ро^W Линукс.
> А как вы воон там вообещ какой-то программе правов отсыпать собираетесь
Раздам в его системе привилегии сам, разумеется. Мне ж виднее, как у него должно быть. А ему сюрприз будет. Все же любят сюрпризы.
> Или таки самому лапками прописывать это - туда?
Как обычно. При установке пакета показывается сообщение, что требуются такие-то и такие-то действия (для создания базы данных, открытия портов, раздачи привилегий и т.п.). Если пользователю документации не достаточно и требуется особое приглашение.
> Вообще-то его пускают только ежели правило такое прописано.
А в правиле проверяются параметры запуска, которые ещё неизвестно соответствуют ли действительности. О чём я уже сказал.
> Что-то это легко обрубить у вот именно sudo пару раз как раз и не прокатило...
Как раз наоборот. Вулны в sudo моему веб-браузеру работающему из NS, и не знающему, что тот у меня вообще есть, были по барабану. А вот приколы с Polkit пролезают через любые песочницы. Никакой firejail/bubblewrap вас не спас от GVFS-admin эскаляции.
> насколько разроссяВам это мешать жить? Спать?
Там человек за переносимость переживает. Возьмет другое ядро без cgroups и что тогда куда девать этот systemd.
> А может и вовремя, учитывая насколько разросся системд, при том что и не так лёгок былДа теперь уже не особо важно, что за инит в системе стоит. Даже если вообразить, что RH вежливо уступит дорогу, роль инита нынче в подавляющем большинстве случаев нивелирована до банального запуска демона для управления контейнерами. Это прямое следствие фрагментаци дистрибутивов: контейнеры же потому и появились, что распространять приложения вместе с окружением, в котором они могут работать -- гораздо проще для всех, кто строит промышленные решения на основе GNU/Linux.
А по существу... Ну подумаешь systemd разросся. Он уже в 2014м году был неприлично разросшимся, но ему это не помешало стать фактическим стандартом: у него есть отличные лоббисты. В общем, не заморачивайтесь особо, у systemd всё было и будет зашибись.
> у systemd всё было и будет зашибисьДо тех пор, пока на то будет воля "отличных лоббистов".
>> у systemd всё было и будет зашибись
> До тех пор, пока на то будет воля "отличных лоббистов".Безусловно.
Альтернатив много (3-4) но лишней не будет
> Нужно что-то помимо OpenRCDinit? S6? Runit?
и их развитие конечно же. а не только наличие
Runit завершен.
В dinit не хватает пользовательских сервисов.
у них ещё бывает и завершение, ну хз
а так ещё удобство не зашло. OpenRC вроде ближе к системд
Вижу светлое будущее, где GNU Hurd , работает под управлением GNU Shepherd.
В 2225 году? Или в 22225 году?
А это ничего, что эти самые namespaces появились в 1992 в Plan 9 from Bell Labs и оттуда были позже портированы?
> А это ничего, что эти самые namespaces появились в 1992 в Plan
> 9 from Bell Labs и оттуда были позже портированы?А винда сперла сетевой стек из БСД.
> А это ничего, что эти самые namespaces появились в 1992 в Plan
> 9 from Bell Labs и оттуда были позже портированы?Ну так и clone() сделан по образу и подобию тамошних сисколов. Так что тред, процесс и контейнер - не настолько уж и разные как может показаться. Вопрос сугубо в объеме unshare()'d ресурсовю
С языком конечно ещё надо поработать, возможно переписать на Раст. А так годно, нужно.
Это сейчас шутка такая была? Функциональщину на раст менять.
А так, ребята молодцы - в GNU guix всё можно настроить на одном языке программирования.
Guile в отличии от раста - настоящий memory-safe, тк есть сборщик мусора, так что даунгрейд по всем фронтам.
Guile одобрен Светлейшим. Так что, с Растом мимо кассы.
>присвоение номера 1.0 после 21 года разработки ознаменовало признание готовности проекта и его соответствия требованиям к функциональности современных систем инициализации и сервисных менеджеровВот это скорость! Двадцать лет писать запускалку сервисов - это успех!
>>присвоение номера 1.0 после 21 года разработки ознаменовало признание готовности проекта и его соответствия требованиям к функциональности современных систем инициализации и сервисных менеджеров
> Вот это скорость! Двадцать лет писать запускалку сервисов - это успех!Там было 10 лет простоя. Один хакер начал, что-то выплюнул, и забил. Ну собственно, как оно обычно у хакеров и бывает. Через 10 лет другой хакер подобрал. Так что на самом деле 11 лет. Что, впрочем, тоже немало.
вокруг одни кул хакеры даже плюнуть негде
Хакеры переоценены.
Хакеры меняют мир.
И что, что Вяледнд давно перешагнул 1.0? Но всё ещё не готов.
И никогда не будет.
Притом, что Вяленд разрабатывается корпами... НО ЭТО ДРУГОЕ!
>> присвоение номера 1.0 после 21 года разработки
> Вот это скорость! Двадцать лет писать запускалку сервисов - это успех!К слову, раньше все версионировали программы не так резво, как сегодня. Их 1.0, если перевести на текущую систему версионирования запросто может быть и v144.0.
А резвое версионирование пошло с Google Chrome, все остальные стали за ними повторять. Сегодня тот же Firefox был бы, примерно, версией 6, если бы они модель версионирования не переняли у Google.
Признали её готовой для прода только сейчас.
> Признали её готовой для прода только сейчас.В свободном ПО это всё подаётся, как AS IS. Никто для Прода ничего не признал. Разработчики написали "has become a solid tool" - типа "стал надежным инструментом" по их мнению.
Но Guix использует GNU Shepard с 2012-го и это система давно уже надежная.
Да я же и не спорю, тем более, что этот ваш Guix я в глаза не видывал. Дело в том, что мне показалась забавной формулировка новости, только и всего.
> А резвое версионирование пошло с Google Chrome, все остальные стали за ними повторятьТвои "все" - это два приложения.
На самом деле "все" как использовали X.Y.Z так и используют. По последним версиям всех известных опакеченных приложений (из Repology):
- медианная версия: 0.6.1
- верхний квартиль: 1.5
- p90: 5.2044
- версий между "100" и "1900" (потому что дальше уже даты начинаются) всего лишь 0.3%
- версий >= "1.0" - 40.31%
> присвоение номера 1.0 после 21 года разработки
> ознаменовало признание готовности проектаДостойнейшие из достойнейших вновь одарили нас всех своим очередным творением!
Оно займет свое заслуженное место рядом с Hurd и Guix!
Восславим же гордых какиров из ГНУ!
> Оно займет свое заслуженное место рядом с Hurd и Guix!На кладбище что-ли? Попробуй заставить работать guix. Они же забанили РФ. Воистину свободный софт.
Никого они не банили. Забанил российские айпишники провайдер, у которого хостится ci.guix.gnu.org. Максимум, в чём виноваты разрабы GuixSD, так это то, что они ничего с этим не сделали
Нихрена себе "максимум". Они должны были свалить оттуда в течение суток и создать такой медиаповод что провайдер бы 10 раз пожалел. А они за 2 года не сделали вообще ничего - это ни что иное как молчаливое согласие.
> Нихрена себе "максимум". Они должны были свалить оттуда в течение суток и
> создать такой медиаповод что провайдер бы 10 раз пожалел. А они
> за 2 года не сделали вообще ничего - это ни что
> иное как молчаливое согласие.Еще стоит напомнить, что Andy Wingo активно топит против Столлмана.
> Они должны были свалить оттуда в течение сутокДолжны???
> и создать такой медиаповод
И показать всему миру что они поддерживают терров и фashню? Интересный способ суицида для проекта...
что провайдер бы 10 раз пожалел.
пожалел о выполнении требований законодательства?))
> Никого они не банили. Забанил российские айпишники провайдер, у которого хостится ci.guix.gnu.org.
> Максимум, в чём виноваты разрабы GuixSD, так это то, что они
> ничего с этим не сделалиИменно. А как же свобода, вот это вот все? Просто пофиг им. Пшик!
А при чем тут свобода?
Кто тебе сказал, что все в мире обязаны обеспечивать тебе доступ к своим ресурсам?
У тебя свобода, если нужен, то обеспечишь, оно же доступно в интернете
Твои проблемы решаешь ты, так это работает
> А при чем тут свобода?
> Кто тебе сказал, что все в мире обязаны обеспечивать тебе доступ к
> своим ресурсам?
> У тебя свобода, если нужен, то обеспечишь, оно же доступно в интернетеНа главной их сайта написано
> Guix is a GNU Project—which respects the freedom of computer users. You are free to use, study, modify, and share Guix and all the packages it provides.
Получается они обманывают. Я не могу воспользоваться их проектом, потому что ИХ провайдер блокирует. Это просто лицемерие. Значит нет никакой свободы, софтом может пользоваться только тот, кто попадает под определенные параметры.
> Я не могу воспользоваться их проектом, потому что ИХ провайдер блокирует.Так иди к их провайдеру и жалуйся!
Или они должны должны проверять не блочит ли их провайдер всякие заснеженные зимбабве?
И что тогда? Идти к другому? А он блочит других... И что тогда, а?> софтом может пользоваться только тот, кто попадает под определенные параметры.
Абсолютли! Тебе нужен как минимум комп.
Тыщщи детей Зимбабве плачут горькими слезами, потому что у них нет компухтера и они не могу поставить Guix.
А ведь потом окажется, что к нему еще и инет нужен! А потом еще и электричество.
Прям вселенская несправедливость)))
>> Я не могу воспользоваться их проектом, потому что ИХ провайдер блокирует.
> Так иди к их провайдеру и жалуйся!
> Или они должны должны проверять не блочит ли их провайдер всякие заснеженные
> зимбабве?
> И что тогда? Идти к другому? А он блочит других... И что
> тогда, а?Да не рвись ты так. Выбать другого провайдера, возмутиться, подать в суд. Вариантов масса для защиты свободы, о которой они так говорят. Но они же просто лицемеры.
>> софтом может пользоваться только тот, кто попадает под определенные параметры.
> Абсолютли! Тебе нужен как минимум комп.
> Тыщщи детей Зимбабве плачут горькими слезами, потому что у них нет компухтера
> и они не могу поставить Guix.
> А ведь потом окажется, что к нему еще и инет нужен! А
> потом еще и электричество.
> Прям вселенская несправедливость)))Ты очевидно сравниваешь теплое с мягким. Речь про тех, у кого есть технические возможности запустить, но они сталкиваются с искуственными ограничениями.
> Да не рвись ты так.Вроде это у тебя горит. Людей хороших оскорбляешь. Еще и софт называешь несвободным.
> Выбать другого провайдера, возмутиться, подать в суд.
М... зачем это им?
Они и так предоставили людям свободный доступ - у тебя ни на сайте, ни на ci.guix.gnu.org паспорт не спрашивают.
То что на него влияет кто-то еще - уже не их проблемы, не их забота.
Иначе им еще и РКН письма писать придется.> Вариантов масса для защиты свободы, о которой они так говорят.
Они должны защищать свободу во всех проявлениях? Разумеется нет, это просто невозможно.
> Но они же просто лицемеры.
Не знаю на счет этого, но ты у нас точно обиженка.
>> Да не рвись ты так.
> Вроде это у тебя горит. Людей хороших оскорбляешь. Еще и софт называешь
> несвободным.Что серъезно? (с)
Смотрю тебе правда глаза режет. Наверняка они получали уведомления об этом, но им просто пофиг. А кто там хороший? Andy Wingo? Ты почитай, что он про Столлмана пишет для начала. Крысы готовы друг друга сожрать.
>> Выбать другого провайдера, возмутиться, подать в суд.
> М... зачем это им?
> Они и так предоставили людям свободный доступ - у тебя ни на
> сайте, ни на ci.guix.gnu.org паспорт не спрашивают.
> То что на него влияет кто-то еще - уже не их проблемы,
> не их забота.
> Иначе им еще и РКН письма писать придется.У тебя пластинка заела? Конечно, удобно говорить, что "не виновата, я! Это провайдер!". Но получается ты об этом знаешь, а проблему не решаешь.
>> Вариантов масса для защиты свободы, о которой они так говорят.
> Они должны защищать свободу во всех проявлениях? Разумеется нет, это просто невозможно.Почему ты решаешь, что они должны, а что нет?
>> Но они же просто лицемеры.
> Не знаю на счет этого, но ты у нас точно обиженка.Кто там выше писал про оскорбления?) Просто пользоваться таким софтом - зашквар. Он останется в таком же полурабочем состоянии.
> Andy Wingo? Ты почитай, что он про Столлмана пишет для начала.А, так ты из зашитничков любителя попихать в лолю!
Это... в принципе это всё объясняет)))> Но получается ты об этом знаешь, а проблему не решаешь.
Знаю и не вижу в этом проблемы))
> Кто там выше писал про оскорбления?) Просто пользоваться таким софтом - зашквар.
Использование ауешного жаргона только подтверждает догадки))
Впрочем, если опуститься до твоей терминологии, не думал ли ты, что с их точки зрения давать доступ к своему софту вот таким ... еще больший зашквар?АймФиннишь вообще мусор из ядра повыкидывал. Так что срочно отказывайся от и от ядра тоже!
А то так зашкваришься, то потом пацаны совсем не поймут.> Он останется в таком же полурабочем состоянии.
Пффф, как будто это связанные вещи.
Оно и 10 лет назад было полурабочим, и сейчас полурабочее, и разбудите меня еще через 10 лет - все будет аналогично.
>> Максимум, в чём виноваты разрабы GuixSD, так это то, что они ничего с этим не сделали
> Именно. А как же свобода, вот это вот все? Просто пофиг им. Пшик!А у них есть обязанность следить "а могут ли получтить доступ к моему коду какие-то васяны хз откуда"?
Вдруг в папуа-новая-гвинея тоже не загружается и бедные папуасы плачут под пальмами?!Пишите письма провайдеру, разрабы сделали все что могли.
p.s. ладно про папуасов была шутка - они люди хорошие, в отличии от.
Вам РКН забанил мозги? Запретил произносить слово VP(цензура)?PS По крайней мере, у Билайна сайт https://guix.gnu.org/ открывается.
> Вам РКН забанил мозги? Запретил произносить слово VP(цензура)?
> PS По крайней мере, у Билайна сайт https://guix.gnu.org/ открывается.Еще один ыксперт. Причем тут сайт. Ты бы хоть попробовал гикс установить.
Тебе про VPN рассказали, ITшник, б.
> Тебе про VPN рассказали, ITшник, б.Пользоваться конечно можно.
А вот рассказывать нельзя)
> Тебе про VPN рассказали, ITшник, б.При чем тут впн? Речь про то, что любители свободы с рекламой на сайте про свободу пользуются провайдером, который плевал на это. Вот так.
Провайдером? Ну так у нас все провайдеры просто обязаны по закону плевать на свободу.
> Провайдером? Ну так у нас все провайдеры просто обязаны по закону плевать
> на свободу.У кого у вас?) Это зарубежный провайдер.
GNU Hurd под GNU Shepherd это и есть светлое будущее!
Дочитал до места где написано guile. Все понятно, закапывайте. Когда найдется очередной студент или кульхацкер можно выкопать.
Уже было дело, закапывали, потом пришли Guix-еры, и выкопали, нужен же был свой init! А что с Guile не так? Как по мне - неплохой Scheme, хоть и не самый быстрый.
> А что с Guile не так? Как по мне - неплохой Scheme, хоть и не самый быстрый.Да всё с ним так. Просто лисперов самих по себе -- мало. Раскройте глаза на мир вокруг, мил человек: современным "айтишникам" тяжко освоить shell, а тут вот тебе на, lisp-like DSL пожаловал. Скоро тут будет лавина комментариев критически настроенных анонимных экспертов, которым слово иметь положено, ибо такова политика ресурса. Не удивляйтесь.
> А что с Guile не так?* там по факту один или два главных разработчика
* поддержки редакторов и ide кроме emacs нет
* нормальной отладки нет
* стандартная библиотека скудная
* корутин в стандартной поставке нет
* относительно медленный
Насчёт разработчиков не могу быть уверен, не интересовался, знаю, разве что, пару активных коммитеров. Но проблема ли это? Benevolent dictator for life - явление не самое новое и не самое редкое. Хотя соглашусь, хотелось бы видеть больше людей вовлечённых в проект.Насчёт IDE соглашусь, хотя для пользователей Guile это не проблема, поскольку Emacs это их родина-мать, и они её ни на что не променяют, но это однозначно мешает новичкам.
По поводу отладки, в чем плоха отладка в geiser и repl? Те же breakpoints, тот же backtrace.
Стандартная библиотека включает в себя R5RS, R6RS, R7RS и еще вагон и маленькую тележку SRFI. В целом там довольно много всего.
Корутины это да, хотелось бы видеть их в самом языке, учитывая, что каждый 3-й проект использует guile-fibers(похожая модель на Go).
О медленности, ну, тут ни дать ни взять. Относительно других Scheme он не самый медленный, относительно C медленное практически всё, относительно Python быстрое вообще всё(прикольчик, не ругайтесь) ;)
> По поводу отладки, в чем плоха отладка в geiser и repl? Те же breakpoints, тот же backtrace.Гейзером не пользовался, т.к. он опять же под emacs только. В repl нормально отдаживаться так и не понял как: возможно там нужно было явно отключать оптимизации? В питоне консольный дебагер на порядки проще.
https://www.gnu.org/software/guile/manual/html_node/Debug-Co...https://www.gnu.org/software/guile/manual/html_node/Interact...
Как и говорил, примерно то же, что и везде
> https://www.gnu.org/software/guile/manual/html_node/Debug-Co...
> https://www.gnu.org/software/guile/manual/html_node/Interact...
> Как и говорил, примерно то же, что и вездеПомню, что была какая-то проблема. Вроде breakpoint указать в коде было как-то сложно. Нужно было возиться с модулем traps и так у меня и не заработало.
В REPL есть команда break, которая принимает функцию, и ставит на ней брэйкпойнт, и break-at-source, которая принимает файл и строку, и ставит там брэйкпойнт.
> В REPL есть команда break, которая принимает функцию, и ставит на ней
> брэйкпойнт, и break-at-source, которая принимает файл и строку, и ставит там
> брэйкпойнт.Да, а как в самом коде поставить breakpoint (как breakpoint() в python)?
В модуле (system vm trap-state) есть add-trap-at-procedure-call! и add-trap-at-source-location!По сути то же самое, что в REPL, но в коде. Это более высокоуровневая структура, чем low-level traps. Может Вы их перепутали с низкоуровневыми traps, когда пробовали, отсюда и неурядица.
> В модуле (system vm trap-state) есть add-trap-at-procedure-call! и add-trap-at-source-location!
> По сути то же самое, что в REPL, но в коде. Это
> более высокоуровневая структура, чем low-level traps. Может Вы их перепутали с
> низкоуровневыми traps, когда пробовали, отсюда и неурядица.Вот пример
(use-modules (system vm trap-state))
(define (make-accumulator initial)
(lambda (x)
(set! initial (+ initial x))
initial))(add-trap-at-procedure-call! make-accumulator)
(define A (make-accumulator 5))
(display (A 10))
(newline)Запускаю guile t.scm
Никакого результата.
> Стандартная библиотека включает в себя R5RS, R6RS, R7RS и еще вагон и маленькую тележку SRFI. В целом там довольно много всего.Далеко не все SRFI включены. Более того они часто пересекаются со стандартными модулями с другим АПИ. По факту там бардак есть. Портировать не абстрактный код в вакууме с guile на другой scheme достаточно непросто.
Есть ли хоть один Scheme со всеми SRFI? Насколько я помню, в Chez Scheme SRFI вообще нет(ну как, есть отдельная библиотека), а в Racket их не сильно больше, чем в Guile. В MIT Scheme их вроде меньше, но ну уверен.
> Есть ли хоть один Scheme со всеми SRFI?Думаю нет. В этом и проблема, что все реализации непереносимы, если код более-менее сложный. Это одна из проблем, чтобы сделать нормальный LSP для редакторов.
В таком случае это проблема уже не конкретно Guile, а реализаций Scheme как таковых.
> В таком случае это проблема уже не конкретно Guile, а реализаций Scheme
> как таковых.Изначально я говорил о скудной библиотеке. Проблема на месте. А akku или как там называется пакетный менеджер не поможет.
Ну чего в этой библиотеке нет из того, что есть в условной стандартной поставке Python? Поскольку после моего пояснения, Вы начали говорить о том, что "реализованы не все SRFI", если скудность библиотеки определяется этим параметром, то библиотеки всех Scheme скудные. Хотелось бы больше конкретики
> Ну чего в этой библиотеке нет из того, что есть в условной
> стандартной поставке Python? Поскольку после моего пояснения, Вы начали говорить о
> том, что "реализованы не все SRFI", если скудность библиотеки определяется этим
> параметром, то библиотеки всех Scheme скудные. Хотелось бы больше конкретикиРаботы c json, например.
> а в Racket их не сильно большеRacket с другими схемами сильно не совместим. Дело не только в своей самобытной модульной системе (у многих схем она своя), а в том, что есть разделение на мутабельные списки и нет (mlist и list). Таким образом, любой код на схеме с мутабельными списками не будет работать в Racket без измнений.
Невозможно реализовать "все srfi", потому что они противоречат друг другу.Это экспериментальные идеи, а узаконенные изменения.
> Относительно других Scheme он не самый медленный, относительно C медленное практически всё,Берем OCaml, что фактически типизированный Scheme. Получаем быструю скорость выполнения без всяких джитов.
Не сказал бы, что OCaml близок к Scheme, как минимум в нём нет такой системы макросов. Да и статическая типизация попроще динамической.
В любом Scheme есть continuation - концепция, более мощная, чем корутины. При желании, корутины из continuation лепятся на раз-два.Конечно, проблема в том, что большинству эта мощь не нужна. К тому же, она сильно усложняет реализацию языка. А «лепить на раз-два» во-первых способен далеко не каждый, во-вторых это приводит к сотне не компонуемых между собою вариаций.
Я соглашусь, что если бы вместо continuation были классические корутины, было бы несколько проще и в реализации, и в использовании.
> В любом Scheme есть continuation - концепция, более мощная, чем корутины. При
> желании, корутины из continuation лепятся на раз-два.И как раз мощные концепции это то что в продакшне и долгоиграющих проектах только вредит, означая что это добро - останется при случае совсем без майнтенанса.
Большая часть вообще въехать не сможет, а те кто смогли бы - поленятся загружать столько абстракций в свой мозг, там обычно и так много всякого есть, и вон то - напрягает.
>При желании, корутины из continuation лепятся на раз-два.Это как?
Continuation это по сути вычислимые метки плюс сохраненные стеки. Ни параллельного исполнения, ни асинхронности, ни мультиплексирования ввода они не не предполагают.
Отличный init, и, что меня поразило, не самый медленный. С тех пор, как перешел на GNU Guix System написал себе пару сервисов, в целом не сильно сложнее, чем с systemd. Но попривыкать к скобочкам надо, плюс осознать в мозге концепцию G-expressions, которую гиксеры создали(хотя, признаюсь честно, если её понять, то она намного удобнее и лаконичнее, чем то, что было до нее).Плюс неплохая документация, что у GNU Guix, что у shepherd, а то в последний раз, когда писал quadlets в systemd(новомодные контейнеры, удобная темка, НО!), нормальной документации не нашел, читал с десятка левых сайтов, где информация противоречила что друг-другу, что итоговому поведению на системе.
Успехов хорошему проекту!
> как перешел на GNU Guix SystemНа диске еще место есть?
Запускаю gc раз в 2 недели, и удаляю старые поколения там же, после gc /gnu/store весит 14-16 ГБ, что в целом не слишком много. Учитывая, что диск для системы на 256 ГБ, а home лежит отдельно на ТБ диске.
> С тех пор, как перешел на GNU Guix SystemА как процесс перехода выглядит? Где почитать?
Если в целом: посмотрел, чем пользуюсь на своей машине, и внимательно почитал мануал) Сначала ставил Guix на свой дистрибутив(благо так можно), потом написал примерный конфиг, пару дней погонял его в виртуалке (есть команда guix vm), потом установил с того же конфига на внешний диск (guix image и dd), погонял чуток на железе. В конце концов решился, и поставил полноценную ОС (guix system init).Такой процесс я посчитал оптимальным, поскольку он не нарушил мой обычный график работы)
GNU с Guile и Guix свернул куда-то не туда. В начале века софт был понятный и доступный. Сейчас ударились в какое-то занудство. Хоть бери и пиши свой дистриб на базе LFS.
А что с GNU Guix не так? Ну да, посложнее SySVinit, но зато с учётом зависимостей. Но и скриптовать также не запрещает.
Не занудство. NixOS, как можете наблюдать, чуть-ли не популярнее Арча, а Guix есть её GNU-версия с хорошей философией и лучшими доками
>Добавлена поддержка сервисов, периодически запускающих команды или код на языке Scheme по указанному расписанию.Уже есть cron.
>Добавлен сервис timer для запуска команд в указанное время, по аналогии с утилитой "at". Например, "herd schedule timer at 07:00 -- mpg123 alarm.mp3".
Так уже есть at.
Ну почему, ну почему, я просто в толк не могу взять, почему эти люди городят велосипеды вместо того, чтобы сделать по 50 лет уже как наличествующему юниксвею: одна утилита делает одну задачу, хорошо.
Я уверен, что нет ни малейшей проблемы добавить и в dcron, и в at ipc socket, можно даже дубасный, хотя там тривиальный протокол должен быть, который будет представлять управление одноразовыми и многоразовыми сервисами.
А самому шеперду оставить то, в чём sysvinit не силён.
> Ну почему, ну почему, я просто в толк не могу взять, почему
> эти люди городят велосипеды вместо того, чтобы сделать по 50 лет
> уже как наличествующему юниксвею: одна утилита делает одну задачу, хорошо.Потому что вон там, в этом самом системд - можно посмотреть статус системы одной командой. Что, откуда, как и почему запускается. Теперь расскажи как с всем тем спагетти получить идею что и откуда в этой системе берется? А, обойти поолюжины дир крона самому вместо 1 команды?
> поолюжины дир кронаНу-ка, ну-ка... Огласите весь список, пржжста!
>> поолюжины дир крона
> Ну-ка, ну-ка... Огласите весь список, пржжста!Daily, hourly, weekly, monthly, yearly... кого я там еще забыл, не помню, был ли minutely? А теперь посмотрите одним чихом что оттуда лезет, м?! :)
И еще пачка добра sysv чтоб не скучалось. А еще не дай боже inetd какой - с отдельными, ессно, конфигами.
И вот видишь ты wtfd - попробуй теперь угадать, откуда он запускается и как параметры его запуска поменять, да?! И как, сколько времени это занимает? С системтой до курс действий в таком случае прост как палка.
> Daily, hourly, weekly, monthly, yearlyАаа, в этом смысле... Я думал ты про манеру некоторых авторов системного софта раскидывать конфиги - часть в /etc, часть в /usr/local/etc, часть в /usr/share, часть в /var/lib, и ещё у каждого юзера в хомяке. По сравнению с этим поиск в daily или hourly - как два пальца.
>Теперь расскажи как с всем тем спагетти получить идею что и откуда в этой системе берется?Ты невнимательно прочитал комментарий, аноним.
Надо сделать НОРМАЛЬНО. Добавить код в cron/at, и запрашивать у них их списки задач и статус выполнения.
Можно через самодельный сокет, можно через дубас.
"Нормально" -- это как раз сделать at и cron обёртками вокруг shepherd, а не плодить лишние демоны в системе, как это делают все корпораты.
и зачем оно надо, когда есть sd и openrc ?
Оно очень нужно.Systemd перегружен и слинкован с интерпретатором python и dbus, что для инит-системы нонсенс.
openrc - это просто обёртка над systemv, то есть не имеет плюсов декларативного управления сервисами.
Но по поводу shepherd есть тоже большие сомнения.
>просто обёртка над systemv,кто-то даже заголовок хоть какой-нибудь из страниц вики до конца не дочитал?
https://www.opennet.me/opennews/art.shtml?num=62337#27
Никто почти в темы про очередной дистрибутив не заглядывает.Openrc умеет делать декларативные сервисы, но через костыль, и в рантайме от init процесса эту информацию не получить.
я смотрю, Вы и в документацию критикуемого Вами софта не заглядываете.при чем здесь декларативные сервисы?
1. Вы сказали, что openrc(как сервисный менеджер) - обертка над sysv(pid1)
2. Вам ткнули, что в рамках проекта развивается, как сервисный менеджер, так и собственная реализация инита.
3. Вы, в очередной раз подтвердив первое предложение, заявили, что openrc
умеет через т.н. "костыли" в декларативные сервисы и что Вы не смогли от "init процесса" получить "информацию"внимание, вопрос.. где логика, какую и от кого Вы пытались получить информацию?
предположу, что речь о.. не знаю, пераметрах запущенных сервисов? это можно получить, заглянув в /run/openrc, там все опции для каждого запущенного сервиса расписаны. и даже к.-во перезапусков каждого.
> Systemd перегружен и слинкован с интерпретатором python и dbus, что для инит-системы нонсенс.Вот те раз, а как он у меня на вон том одноплатнике тогда - без dbus и питона работает, сжирая аж 6 мегов оперативы на все?
А зачем нужен sd?
Чтобы вендорлокнуть.
Луч света в тёмном systemd-царстве.
Скорость выпуска готового продукта зависит от производительности труда. Производительность от сумм привлеченного в производстве капитала.Понятно, что 21 год следствие дефицита капитала. Это следует учитывать при сравнение срока разработки этого проекта и аналогичного в Редхат/IBM.
всегда приятно встретить человека который шарит
Человек, который шарит, не будет сравнивать коммерческую разработку с волонтёрской. Они решают совершенно разные задачи. Задача первой - извлечение прибыли. Ради которой саму разработку можно даже свернуть. Или наоборот, затягивать до предела. Задача второй - удовлетворение насущной потребности.
21 год - следствие, что до повсеместного добровольно-принудительного пропихивания systemd, никакой потребности, никакой проблемы, которую тот "решал" не было. И этот инит тоже тогда не мог заинтересовать потенциальных разработчиков. Сегодня он стал более привлекателен, заняв нишу "альтернативы этому угробищному корпоративаному монстроподелию".
> Задача второй - удовлетворение насущной потребности.Учитывая что это под эгидой GNU, то задача второй - получение грантиков на разработку.
Нет грантиков - нет кода.> заняв нишу "альтернативы этому угробищному корпоративаному монстроподелию".
Ну, пока что он еще ничего не занял. И гляда на это подели начинаешь сомневаться что более угробищное - системд или вот это.
>> заняв нишу "альтернативы этому угробищному корпоративаному монстроподелию".
> Ну, пока что он еще ничего не занял. И гляда на это
> подели начинаешь сомневаться что более угробищное - системд или вот это.История системды - это примерно как демoкрaтия, самая угробищная форма правления известная человечеству, с той проблемой что все остальные - на поверку работали еще хуже и имели еще больше проблем.
Ну вот и выбирайте :). Можете, вот, сабж юзать. Думается после смотрения на франкенштейнов типа сабжа и прочих openrc довольно многие внезапно обнаружат что systemd был не такой уж и плохой.
Лол, назвать сабж франкенштейном, и противопоставить ему systemd :D Ты — юморист однако!
> Лол, назвать сабж франкенштейном, и противопоставить ему systemd :D Ты — юморист однако!А хто оно, на экзотичном ЯП - с релизами раз в цать лет и половиной землекопа как разработчик?
А что, язык или количество разработчиков как-то повлияло на его качество? Вон, Раст — тоже был "экзотичный", а сейчас уже нет. Хотя, наверное, Раст позже будет заменён на что-то другое, кмк.
Но как это не парадоксально для вас, а код уже есть и без грантиков.
> код уже естьУгу.
Всего 21 год ждать пришлось))
Он и задолго до 1.0 был юзабельным.
Неплохая вещь - "systemd с человеческим лицом")
> Неплохая вещь - "systemd с человеческим лицом")Правда, не в лотерею, а в карты, не системдэ, да и не лицо это вовсем было, и судя по длинной очереди желающих это юзать они даже о чем-то догадываются.
А мне из всех инитов больше всего нравится то, что работает во FreeBSD и Runit.
С таким же успехом можно на автозапуск баш скрипт поставить и все.
Зачем менят systemd на systemf? Не нужны подобные прослойки когда есть инит скрипты.
Кстати, пробовал его кто-нибудь не на Guix'е?