The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз systemd 233, opennews (??), 02-Мрт-17, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


30. "Релиз systemd 233"  –1 +/
Сообщение от Andrey Mitrofanov (?), 02-Мрт-17, 16:20 
> когда уже Поттеринг свое ядро запилит

"Мы" уж скорее hurd до десктопа допилим.
   Фришники точно GNU&GPL из базы быстрее выкинут.
      А потом, кому юникс-шел сложен, слаб для писания ядра, нет?

А редхату https://www.dwheeler.com/essays/linux-kernel-cost.html#results слабО "своё" ядро "поднять". Денег у них столько нет. (Столько денег даже у мс нет.)  Рх только опенсорсные поделки монетизируют. И безобразничает и мелко пакостит с init-pid1-ами/udev-ами и прочими "free"desktop-ами, партнёрит с ораклами и майкрософтами и прочими мпеглами. Вал по плану и пр.СУБЖ.

Ответить | Правка | Наверх | Cообщить модератору

53. "Релиз systemd 233"  +/
Сообщение от Аноним (-), 02-Мрт-17, 18:40 
А что сейчас происходит с SysVinit и какие перспективы?
Ответить | Правка | Наверх | Cообщить модератору

60. "Релиз systemd 233"  +2 +/
Сообщение от Andrey Mitrofanov (?), 02-Мрт-17, 18:57 
> А что сейчас происходит с SysVinit и какие перспективы?

Он просто работает. Причем и на машинах с субжом. Прикинь, да??
   Про переспективы -- спроси в профильной новости об его новом%-S релизе.

Ответить | Правка | Наверх | Cообщить модератору

61. "Релиз systemd 233"  +/
Сообщение от Аноним (-), 02-Мрт-17, 19:05 
И systemd тоже просто работает. Никаких причин менять одно на другое нет.

Но у systemd есть перспективы, а у sysvinit если они и есть, то о них знают только очень информированные и глубоко законспирированные члены форума.

Ответить | Правка | Наверх | Cообщить модератору

66. "Релиз sнинужноd 233"  –2 +/
Сообщение от Andrey Mitrofanov (?), 02-Мрт-17, 19:18 
> И systemd тоже просто работает.

Враньёёооо....

>Никаких причин менять одно на другое нет.

Есть! И это та же причина, по которой Рх его всем вкорячивают.

> Но у systemd есть перспективы, а у sysvinit если они и есть,

Враньёёооо.

> то о них знают только очень информированные и глубоко законспирированные члены
> форума.

Враньёо.

Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз sнинужноd 233"  +1 +/
Сообщение от Мемасик (?), 02-Мрт-17, 21:03 
Нельзя ли аргументированно? Похож на бабку в церкви.
Ответить | Правка | Наверх | Cообщить модератору

112. "Релиз sнинужноd 233"  +/
Сообщение от Аноним (-), 02-Мрт-17, 23:41 
> Нельзя ли аргументированно? Похож на бабку в церкви.

Ну так sysvinit - это духовная скрепа юникса! В нее надо просто верить, все эти дискуссии и аргументации - от лукавого.

Ответить | Правка | Наверх | Cообщить модератору

69. "Релиз systemd 233"  –5 +/
Сообщение от freehckemail (ok), 02-Мрт-17, 19:28 
> И systemd тоже просто работает. Никаких причин менять одно на другое нет.

У systemd только одна перспектива: его проталкивает "Красная Шапочка".

А по поводу того, что оно "просто работает", так это враньёёёёооо:
https://www.opennet.ru/base/sys/systemd_myth.txt.html

Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

95. "Релиз systemd 233"  –1 +/
Сообщение от Аноним (-), 02-Мрт-17, 21:59 
По ссылке явно про старую версию. В новой же всё не так. И когда вы напишите про новую, то уже к тому времени выпустят следующую и всё опять изменится. systemd унаследовал критическую неуязвимость от своего создателя.
Ответить | Правка | Наверх | Cообщить модератору

99. "Релиз systemd 233"  +2 +/
Сообщение от freehckemail (ok), 02-Мрт-17, 22:16 
> По ссылке явно про старую версию.

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

Там, понимаете ли, про дизайн и общий подход. К конкретной версии не привязано.

Ответить | Правка | Наверх | Cообщить модератору

113. "Релиз systemd 233"  –2 +/
Сообщение от Аноним (-), 02-Мрт-17, 23:43 
> Там, понимаете ли, про дизайн и общий подход. К конкретной версии не привязано.

И что характерно, ни одного технического аргумента. Сплошное "я художник, я так вижу".

Ответить | Правка | Наверх | Cообщить модератору

141. "Релиз systemd 233"  +/
Сообщение от freehckemail (ok), 03-Мрт-17, 09:43 
> И что характерно, ни одного технического аргумента.

Опять не читал. Анонимы такие анонимы. :)

Ответить | Правка | Наверх | Cообщить модератору

164. "Релиз systemd 233"  +2 +/
Сообщение от Аноним (-), 03-Мрт-17, 14:08 
> И что характерно, ни одного технического аргумента. Сплошное "я художник, я так
> вижу".

В код системды хоть раз смотрел?


strcpy(mempcpy(mempcpy(r, f, a + 1), i, b), e);
...
arg_header = strdup(option+7);
...
strcpy(mempcpy(mempcpy(r, f, a + 1), i, b), e);
...
ret = new(char, (e - slice) + 1 + strlen(name) + 6 + 1);


Ответить | Правка | К родителю #113 | Наверх | Cообщить модератору

132. "Релиз systemd 233"  +/
Сообщение от Аноним (-), 03-Мрт-17, 02:55 
Когда веруешь, аргумент не нужны.
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

143. "Релиз systemd 233"  +/
Сообщение от freehckemail (ok), 03-Мрт-17, 09:46 
> Когда веруешь, аргумент не нужны.

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

Флеймы эти пошли массово году эдак в 2014м, и где-то спустя год всем опостылели в конец, потому что каждый раз одно и то же: ты объясняешь-объясняешь, что и как, но что бы ни было сказано в конце ланнартский фанат заявляет, что не было технической аргументации, что оппонент ретроград и закрыт для нового... Ну в общем, заявляет, что все Дартаньяны, а он - ...

Вот тогда была найдена статья и сделана калька. Но напрасно. Они и её не читают тоже. :)

Ответить | Правка | Наверх | Cообщить модератору

152. "Релиз systemd 233"  –2 +/
Сообщение от Аноним (-), 03-Мрт-17, 11:12 
А ты сам её читал?

В доказательстве 1.1 он опровергает утверждение "компоненты Systemd имеют хорошо описанные
интерфейсы" утверждением "интерфейсы нестабильны". Это не опровержение!

В доказательстве 1.2 он говорит что должно/не должно systemd на основании того, чем является/не является ядро. Это доказательство из серии "в огороде бузина, в Киеве дядька."

Доказательство 4.1: он признаёт, что файлы скриптов systemd проще, чем для sysvinit, соглашаясь с исходным утверждением. Затем начинает сравнивать сложность программного кода systemd и sysvinit (не видя самого кода) и, на основании того, что скрипты проще, делает вывод что systemd сложнее.

Ты приводишь это как доказательство, означает ли это, что ты с этим согласен?

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

"binary file" = бинарник

"Socket activation" = сокетная активация

"Post" = пост

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

Ответить | Правка | Наверх | Cообщить модератору

160. "Релиз systemd 233"  +/
Сообщение от freehckemail (ok), 03-Мрт-17, 13:43 
> В доказательстве 1.1 он опровергает утверждение "компоненты Systemd имеют хорошо описанные
> интерфейсы" утверждением "интерфейсы нестабильны". Это не опровержение!
>> #1.1 "Компоненты Systemd имеют хорошо описанные интерфейсы, и поэтому вы можете просто заменить части, которые вам не нравятся"

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

> В доказательстве 1.2 он говорит что должно/не должно systemd на основании того,
> чем является/не является ядро. Это доказательство из серии "в огороде бузина,
> в Киеве дядька."

"Следует ли systemd быть монолитным или нет - абсолютно никак не относится к ядру Linux".
Я было подумал, что Вы читаете между строк, но вдруг понял, что строка-то всего одна...

> Доказательство 4.1: он признаёт, что файлы скриптов systemd проще,
> чем для sysvinit, соглашаясь с исходным утверждением.

Вранёёооо:

>> #4.1: "Unit-файлы уменьшают сложность"
>>
>> Хотя unit-файлы действительно выглядят проще init-скриптов и могут
>> уменьшить сложность определяемых сервисов, они ни уменьшают сложность
>> системы инициализации, ни уменьшают сложность поиска ошибок в системе
>> инициализации, когда она ведёт себя не правильно

Нифига себе "соглашается с исходным утверждением", а? :)

> Затем начинает сравнивать сложность программного кода systemd и
> sysvinit (не видя самого кода) и, на основании того, что скрипты
> проще, делает вывод что systemd сложнее.

Ну офигеть. То есть если sysvinit проще systemd, из этого не следует, что systemd сложнее sysvinit?

Ответить | Правка | Наверх | Cообщить модератору

163. "Релиз systemd 233"  –4 +/
Сообщение от Аноним (-), 03-Мрт-17, 13:58 
Вопрос: действительно ли unit-файлы проще init-скриптов?

Ответ: unit-файлы действительно проще init-скриптов

Абсолютное, полное согласие.

> Нифига себе "соглашается с исходным утверждением", а? :)

А вот после этого Остапа понесло и он начал сравнивать исходный код systemd, написанный на Си, с shell-скриптами. В следующих двух вопросах он подробно расписывает почему поиск ошибок и отладка программ на Си сложнее, чем написание shell-скрипта.

> То есть если sysvinit проще systemd, из этого не следует, что systemd сложнее sysvinit

Если скрипт для sysvinit проще исходного кода systemd, из этого совсем не следует, что systemd сложнее sysvinit. Я думал, вы это понимаете и без моих объяснений...

Ответить | Правка | Наверх | Cообщить модератору

165. "Релиз systemd 233"  –1 +/
Сообщение от Аноним (-), 03-Мрт-17, 14:15 
Q 1.1: Компоненты Systemd имеют хорошо описанные
интерфейсы, и поэтому вы можете просто заменить части, которые вам не
нравятся

A: Это рассуждение ошибочно из-за одного упущения. Не все его интерфейсы
стабильны

Стоп игра! Речь в вопросе шла о документированности, а не о стабильности. Ответ не по теме вопроса.

Q 1.2: Ядро Linux монолитное, поэтому это нормально, что
systemd монолитен.

A: Следует ли systemd быть монолитным или
нет - абсолютно никак не относится к ядру Linux.

Вопрос был в том насколько нормально что systemd монолитен, ответ - это никак не относится к ядру. Да, не относится, но где ответ на вопрос?

Q 2: Многие используют systemd, значит ты тоже должен

A: Классический пример ошибки "большинство не может ошибаться".

Ошибаться в чём? Из того, что systemd использует большинство следует лишь то, что для большинства он более удобен, чем что-то другое, а значит он с большой вероятностью (пропорциональной доле systemd на рынке) будет самым удобным решением и для вас.

Q 2.1, 3 -- болтология

Q 4: Unit-файлы лучше, чем shell-скрипты

A: Это ошибочное обобщение (почему?). Чем меньше кода - тем лучше (общеизвестная истина), но есть важные детали (детали есть всегда; какие именно?), на которые часто смотрят сквозь пальцы.

Обвинить в неведении, но не сказать в чём оно заключается. Затем "заболтать" тему.

Q 4.1: Unit-файлы уменьшают сложность

Расписал выше

Дальше продолжать? Покажи где он ответил по теме, внятно и содержательно?

Ответить | Правка | Наверх | Cообщить модератору

155. "Релиз systemd 233"  +2 +/
Сообщение от Аноним (-), 03-Мрт-17, 11:54 
В моём предыдущем коменте уровнем выше был только сарказм и ничего более :-) Статью естесственно прочитал целиком, очень познавательно, спасибо!
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

157. "Релиз systemd 233"  +4 +/
Сообщение от Аноним (-), 03-Мрт-17, 11:59 
PS: Я просто попытался изобразить текст так как бы его написали поклонники поттеринга. Видимо получилось :) А сам я давно devuan юзаю, на локалхосте и на серверах
Ответить | Правка | К родителю #99 | Наверх | Cообщить модератору

147. "Релиз systemd 233"  –1 +/
Сообщение от виндотролль (ok), 03-Мрт-17, 10:08 
та статья — это рационализация точки зрения "системд плохой".
Я с некоторыми пунктами согласен. Но в целом со статьей — не до конца.

Например, аргумент о сложности. Дескать, системд 250,000 строк на си, а все скрипты в дебиане — 10,000 строк.

Но
1) Баш гораздо более высокоуровневый — 10,000 на баше потребуют гораздо больше на си
2) почему бы к 10,000 не добавить количество строк си в исходных кодах баша?

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

151. "Релиз systemd 233"  +/
Сообщение от Andrey Mitrofanov (?), 03-Мрт-17, 10:48 
> та статья — это рационализация точки зрения "системд плохой".
> Я с некоторыми пунктами согласен. Но в целом со статьей — не
> до конца.
> Например, аргумент о сложности. Дескать, системд 250,000 строк на си, а все
> скрипты в дебиане — 10,000 строк.
> Но
> 1) Баш гораздо более высокоуровневый — 10,000 на баше потребуют гораздо больше
> на си

Дети! Сегодня мы будем играть в Угадайку!! А угадайте, кто с кем соревнуется, кто кого обгоняет и назовите имена участникао по... числу строк кода на Си в проектах:

|    | Lang. | Code    | Comment | Comm.% | Blank  | Total   | Lang. % |
| #1 | C     | 107,704 | 22,942  |  17.6% | 22,910 | 153,556 |   64.1% |
| #2 | C     | 122,257 | 5,332   |   4.2% | 44,335 | 171,924 |   71.8% |
| #3 | C     | 270,920 | 31,560  |  10.4% | 84,998 | 387,478 |   82.8% |
| #4 | C     | 330,154 | 84,492  |  20.4% | 65,991 | 480,637 |   22.4% |
| #5 | C     | 511,630 | 150,702 |  22.8% | 94,358 | 756,690 |   32.5% |

> 2) почему бы к 10,000 не добавить количество строк си в исходных
> кодах баша?

Да! Престо, какой из коннурсантов ##1--5 выше -- bash, а какой == твой разжиревший фетиш.

Или б*****о.

Ответить | Правка | Наверх | Cообщить модератору

153. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 03-Мрт-17, 11:23 
Дядя, а без кривляний умеете?
Ответить | Правка | Наверх | Cообщить модератору

154. "Релиз systemd 233"  –2 +/
Сообщение от Andrey Mitrofanov (?), 03-Мрт-17, 11:26 
> Дядя, а без кривляний умеете?

Бала-бол.

Ответить | Правка | Наверх | Cообщить модератору

156. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 03-Мрт-17, 11:59 
О нет! Дядя, видимо, mentally challenged.

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

Серьезно, сложно сказать "я считаю, ты не прав, потому что баш это 100к, а системд, скажем — 500"? Даже текста надо меньше.

Я бы, конечно, ответил, что в системд ты посчитал logind, udev, localectl, journalctl, и уж если считать, то надо добавлять к башу аналоги.

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

Ответить | Правка | Наверх | Cообщить модератору

158. "экзамен окончен. вы не умете считать статистики."  –2 +/
Сообщение от Andrey Mitrofanov (?), 03-Мрт-17, 13:01 
>[оверквотинг удален]
>> Я с некоторыми пунктами согласен. Но в целом со статьей — не
>> до конца.
>> Например, аргумент о сложности. Дескать, системд 250,000 строк на си, а все
>> скрипты в дебиане — 10,000 строк.
>> Но
>> 1) Баш гораздо более высокоуровневый — 10,000 на баше потребуют гораздо больше
>> на си
> Дети! Сегодня мы будем играть в Угадайку!! А угадайте, кто с кем
> соревнуется, кто кого обгоняет и назовите имена участникао по... числу строк
> кода на Си в проектах:

Ответы
  + На "5 с плюсом": http://www.opennet.ru/openforum/vsluhforumID3/107695.html#47

|              | Total C | C Code  | Си, % | Comment | Cmt.% | Blank  |  Bl.% |
| GNU Bash     | 158,949 | 111,837 | 64.7% | 23,584  | 17.4% | 23,528 |   21% |
| Nginx        | 178,751 | 127,242 | 71.7% | 5,407   |  4.1% | 46,102 | 36.2% |
| Systemd      | 418,943 | 293,497 | 82.7% | 33,916  | 10.4% | 91,530 | 31.1% |
| GNU Emacs    | 484,528 | 332,432 | 22.7% | 85,545  | 20.5% | 66,551 |   20% |
| Apache HTTPD | 767,236 | 519,865 | 32.5% | 151,975 | 22.6% | 95,396 | 18.3% |

(убрал Lang, добавил Bl.%, переместил Total "вперёд"; переименовал Total => Total-C; обновил чёрноутковскими _сегодняшнимим_ данными.)

  + "Коммерсы"/индустриальные программёры (№№2,3) налегают на пустые строки и недовкладывают комментариев по ср.с "пр." конкурсантами. Совпадение, наверное, выборка мала.

>> 2) почему бы к 10,000 не добавить количество строк си в исходных
>> кодах баша?
> Да! Престо, какой
> твой разжиревший фетиш.

>б*****Л.

Ответить | Правка | К родителю #151 | Наверх | Cообщить модератору

166. "Релиз systemd 233"  +1 +/
Сообщение от freehckemail (ok), 03-Мрт-17, 14:39 
> Я с некоторыми пунктами согласен. Но в целом со статьей — не до конца.
> Например, аргумент о сложности. Дескать, системд 250,000 строк на си, а все скрипты в дебиане — 10,000 строк.

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

> 1) Баш гораздо более высокоуровневый — 10,000 на баше потребуют гораздо больше на си
> 2) почему бы к 10,000 не добавить количество строк си в исходных кодах баша?

А почему бы Вам тогда не прибавить к systemd количество строк в исходниках gcc?
Давайте тогда ещё вспомним, что sysvinit позволяет писать не только на bash, но вообще на любых скриптовых языках - давайте и количество строк кода в их интерпретаторах посчитаем?
И скрипты на bash (вот ведь неожиданность) дёргают самые разные утилиты, может нам и их посчитать?

Добавлять удобно - чем больше добавляем, тем меньше относительная разница между проектами. А почему бы не поступить наоборот? Давайте Вы вычтете содержимое unit-файлов, а мы - код shell-скриптов. Не будет ли это сравнение более честным? Но тогда разница будет далеко не на один порядок, вот в чём беда.

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

Ответить | Правка | К родителю #147 | Наверх | Cообщить модератору

168. "Релиз systemd 233"  –3 +/
Сообщение от Аноним (-), 03-Мрт-17, 14:46 
Ты в курсе, что сложную задачу делят на части, каждую из которых решают разные люди?

Программисты пишут систему инициализации (СИ), администраторы пишут скрипты для СИ.

Ты пытаешься складывать-вычитать количество строк исходного кода СИ с количеством строк в скриптах - какой в этом смысл?

Суммарная сложность системы остаётся постоянной, но мы можем изменять сложность отдельных частей. В systemd посчитали, что нужно уменьшить сложность скриптов, увеличив сложность СИ. И то, что systemd стал популярным означает, что это решение было верным.

Ответить | Правка | Наверх | Cообщить модератору

169. "Релиз systemd 233"  +1 +/
Сообщение от freehckemail (ok), 03-Мрт-17, 15:06 
> Ты пытаешься складывать-вычитать количество строк исходного кода СИ с количеством строк
> в скриптах - какой в этом смысл?

Смысл - в последнем абзаце.

"количество строк в проекте - это количество мест, где можно совершить ошибку. И чем меньше строк - тем меньше ошибок"

Ответить | Правка | Наверх | Cообщить модератору

173. "Релиз systemd 233"  +/
Сообщение от Аноним (-), 03-Мрт-17, 15:17 
Что ж, никто не мешает создать ещё одну систему инициализации, нацеленную на уменьшение суммарного количества строк в исходном коде и скриптах.

У меня есть сомнения, что эта идея станет популярной, но кто знает...

Ответить | Правка | Наверх | Cообщить модератору

174. "Релиз systemd 233"  –2 +/
Сообщение от Аноним (-), 03-Мрт-17, 15:29 
> чем меньше строк - тем меньше ошибок

Нет.

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

Посмотри на мишку Вонни, он в каждом слове по несколько ошибок делает. А Лев Толстой написал толстенную книжку и почти не накосячил.

Ответить | Правка | К родителю #169 | Наверх | Cообщить модератору

177. "Релиз systemd 233"  +/
Сообщение от Аноним (-), 03-Мрт-17, 16:56 
> Посмотри на мишку Вонни, он в каждом слове по несколько ошибок делает.
> А Лев Толстой написал толстенную книжку и почти не накосячил.

проблемы начались, когда мишки Вонни на "Войну и мир" замахнулся

Ответить | Правка | Наверх | Cообщить модератору

170. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 03-Мрт-17, 15:13 
Баш я прибавил, т.к. скрипты пишутся на баше. Я апеллирую к утверждению «системд имеет много строк кода на си. Чем больше строк кода в процессе инициализации, тем он сложнее и ненадежнее».

Но в случае с sysvinit, bash является частью системы инициализации. Потому надо брать исходники sysvinit, исходники bash и сравнивать их.

Потом, systemd имеет продвинутую систему журналирования (весьма неплохую, кстати. Я люблю плейтекст, но переход на бинарный формат для увеличения производительности записи и поиска — это правильный шаг). Т.е. сравнение уже неравное получается.

Я хочу прояснить: с теплотой вспоминаю времена, когда стартовал демоны, добавляя их в deamons array в rc.conf.

Но это решение для одной машины. И потом и хорошо помню, как для ускорения процесса загрузки предлагалось _экспериментировать_ с запуском в бекграунде. Т.е. процесс не автоматизируемый.

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

Это как сравнивать make install с apt-get install. make install проще дебажить, кол-во строк кода на си меньше, можно сделать все, что угодно, система гибкая, простая, каждая бабушка понимает...
А с этим apt я не могу легко установить свою программу на любую систему, приходится возиться с dpkg, читать плохую документацию и т.д..

Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

184. "Релиз systemd 233"  +4 +/
Сообщение от freehckemail (ok), 03-Мрт-17, 20:02 
> Баш я прибавил, т.к. скрипты пишутся на баше. Я апеллирую к утверждению
> «системд имеет много строк кода на си. Чем больше строк кода
> в процессе инициализации, тем он сложнее и ненадежнее».
>
> Но в случае с sysvinit, bash является частью системы инициализации. Потому надо
> брать исходники sysvinit, исходники bash и сравнивать их.

Вообще-то bash частью sysvinit не является. То, что после запуска init запускает скрипт, который производит дальнейшую инициализацию ОС - не делает этот скрипт частью init-а. Если включать в подсчёт сам скрипт, то есть нюанс: в разных осях sysvinit запускает разные скрипты. Где-то они на shell, где-то на python. Из shell-ов это может быть bash, может быть dash, может быть что-либо ещё. Почему же именно bash?

А знаете что ещё? Вместо скриптов для запуска в /etc/init.d могут быть бинари. На протяжении десятков лет можно было использовать бинари вместо скриптов. Главное, чтобы они принимали аргументы start, stop, restart, reload... Что ж нам теперь, gcc в подсчёт включать?

И вот при этом Вы предлагаете включить в подсчёт строк кода не только скрипты, но и один из интерпретаторов? У меня только один вопрос остаётся тогда, который я уже задал: почему Вы не хотите присовокупить сюда ещё код всех бинарных утилит, которые дёргаются этими скриптами?

--

Ну хорошо. Не смотря на то, что bash не является частью sysvinit, давайте сложим. Вот тут рядом пост Митрофанова, по которому получается, что даже если мы сложим, всё равно systemd в проигрыше. Правда, уже не на порядок, конечо. Если Вам с этого легче - да ради бога.

Может быть теперь это для Вас "незначительная разница", но имейте в виду, что эти 100к строчек отлаживали последние 30 лет или около того.  Ваша systemd существует в 5 раз меньше, а весит в 3 раза больше.

> Потом, systemd имеет продвинутую систему журналирования (весьма неплохую, кстати. Я люблю
> плейтекст, но переход на бинарный формат для увеличения производительности записи и
> поиска — это правильный шаг). Т.е. сравнение уже неравное получается.

Нет, не правильный.
Раз. (см. #10 - про бинарные логи) https://www.opennet.ru/base/sys/systemd_myth.txt.html
Два. (укороченный до сути вариант предудущего) https://www.opennet.ru/openforum/vsluhforumID3/110582.html#161

> Я хочу прояснить: с теплотой вспоминаю времена, когда стартовал демоны, добавляя их
> в deamons array в rc.conf.
> Но это решение для одной машины. И потом и хорошо помню, как для
> ускорения процесса загрузки предлагалось _экспериментировать_ с
> запуском в бекграунде.  Т.е. процесс не автоматизируемый.

Да, я тоже с теплотой их вспоминаю, но ведь современный sysvinit уже давным-давно не такой.

> Системд в этом смысле — это гораздо больше, чем система
> инициализации. Это инициатива, призванная навести порядок в
> запускаемых демонах, ведь необходимо явно задекларировать
> зависимости и т.д..

Так ведь в том и дело, что эта инициатива в дебиановском sysvinit уже имелась на момент создания systemd. Ко скриптам инициализации были добавлены LSB-заголовки, в которых прописали зависимости. Sysvinit стартовал демоны параллельно и разруливал зависимости.

https://wiki.debian.org/LSBInitScripts

Обратите внимание: они были добавлены ещё в Lenny. А это, извините, 2009й. То есть за два года до появления Systemd.

> Это как сравнивать make install с apt-get install. make install проще дебажить,
> кол-во строк кода на си меньше, можно сделать все, что угодно,
> система гибкая, простая, каждая бабушка понимает...
> А с этим apt я не могу легко установить свою программу на
> любую систему, приходится возиться с dpkg, читать плохую документацию и т.д..

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

А вот systemd не решает никаких старых проблем, зато привносит море новых. Хотите пруфов, хотите? Их у меня много. Вся рассылка debian-russian, а ещё располагаю подборкой комментариев с opennet.

Ответить | Правка | Наверх | Cообщить модератору

188. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 03-Мрт-17, 22:46 
> Почему же именно bash?

цепочки инита
kernel -> (sysvinit -> bash + grep + ps + kill + ...) -> target binary
kernel -> systemd -> target binary

В первом случае может быть другой шел, да. Но не суть. Мне не понравился сам лишь подход, что в случае с sysvinit считаем строчки "юнит-файлов" (они же скрипты), а в случае с systemd — строчки системы инициализации.

> эти 100к строчек отлаживали последние 30 лет или около того

С таким подходом никогда нельзя разрабатывать что-то новое. Говорить, что системд плохая, потому что ее конкурент уже 30 лет работает — это, мне кажется, неконструктивно. Конструктивно говорить, что в системд есть баги (и это правда), говорить какие именно, и тогда их будут фиксить.

> Раз. (см. #10 - про бинарные логи)

все зависит от реализации. Современные информационные системы уже давно обходят проблему фейла физического носителя или бага в программе иначе — бекапы, copy on write и т.д..

На самом деле сильных аргументов у меня нету. Я не очень понимаю проблему.

Все приложения, с которыми я сталкивался, и для которым критично логирование, имеют собственные системы логирования (чаще, на удаленный сервер). Но я по своему опыту знаю, что лет 10 назад было принято логи писать в структурированное хранилище (БД), потому что тяжело было что-то сделать с 20 гб плейн текст логов. И это очень похоже на жоурналд.

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

Но, повторюсь, я, возможно, далек от проблемы.

> Так ведь в том и дело, что эта инициатива в дебиановском sysvinit уже имелась на момент создания systemd. Ко скриптам инициализации были добавлены LSB-заголовки, в которых прописали зависимости. Sysvinit стартовал демоны параллельно и разруливал зависимости.

Вот об этом я не знал.

Положительные моменты системд
1) я могу написать сервис, который перезапустит бинарь, если тот упадет, и мне не придется для этого использовать ps, grep, kill, rm myapp.pid и т.д.
2) я знаю, что мой сервис стартонет тогда, когда придет время

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

> Хотите пруфов, хотите? Их у меня много. Вся рассылка debian-russian, а ещё располагаю подборкой комментариев с opennet.

Да я и сам могу подбросить. Иногда проще написать while true; do ./mydaemon; done чем разбираться, почему с системд скрипт вообще не стартует. Или почему, при умирании не отрабатывает очистка каких-нибудь ресурсов. Или... Да много я провел времени, чертыхаясь. То диски не отмонтируются. То пользовательская сессия на стартует. За это время можно было бы сотни две баш скриптов написать.

Я — вовсе на фанат системд. И использую его лишь потому, что он поставляется по умолчанию на моем дистрибутиве.

Напоминаю, что я лишь высказал критику к статье о мифах о системд — не всегда весомые аргументы. Ну и я пытаюсь видеть удачные решения в системд.


Ответить | Правка | Наверх | Cообщить модератору

190. "Релиз systemd 233"  +/
Сообщение от Vkni (ok), 04-Мрт-17, 07:31 
> В первом случае может быть другой шел, да.

Ну это, вообще говоря, признак хорошей архитектуры - возможность относительно лёгкой модификации подручными средствами. Всё-таки переписать 10 тыс строк скриптов задача подъёмная, а переписать 400k строк на Цэ - нет.

> Напоминаю, что я лишь высказал критику к статье о мифах о системд
> — не всегда весомые аргументы. Ну и я пытаюсь видеть удачные
> решения в системд.

Это сродни поиску алмазов в известной субстанции. Код subj'а тут уже приводили - это эталон г-кодерства.

Ответить | Правка | Наверх | Cообщить модератору

191. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 04-Мрт-17, 13:40 
> Ну это, вообще говоря, признак хорошей архитектуры - возможность относительно лёгкой модификации подручными средствами.

подручными средствами — это уже не важно, к архитектуре отношения не имеет. А возможность использования другого шелла — это прекрасно, это говорит о правильной абстракции. Но и в системд есть возможность хоть баш из юнита вызвать, хоть, питон.
Системд предоставляет более высокоуровневый интерфейс. У этого есть и плюсы, и минусы. 100500 раз уже обсуждалось, не хочу повторять очевидные вещи.

Я могу привести признак плохой архитектуры sysvinit — *.pid файлы. Системд они не требуются, потому что он знает, какие процессы породил. А в sysvinit приходилось (может уже нет, вон товарищ выше про зависимости в sysvinit рассказал) сохранять pid на диск, что приводило к неконсистентности: процесс мог давно умереть, а pid файл остается.

Но еще раз, я не защищаю systemd per se. Я призываю к его конструктивной критике. Авторы systemd заинтересованы в его стабильности, пожалуй, даже больше, чем пользователи. Хейтерство — это ну просто неконструктивно, если речь идет об опенсорс.

> Это сродни поиску алмазов в известной субстанции. Код subj'а тут уже приводили
> - это эталон г-кодерства.

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

Ответить | Правка | Наверх | Cообщить модератору

214. "Релиз systemd 233"  +/
Сообщение от Vkni (ok), 04-Мрт-17, 22:49 
> подручными средствами — это уже не важно, к архитектуре отношения не имеет.
> А возможность использования другого шелла — это прекрасно, это говорит о
> правильной абстракции. Но и в системд есть возможность хоть баш из
> юнита вызвать, хоть, питон.

И то, слава богу. Но вы не учитываете возможности полной перестройки системы на совершенно другом скриптовом языке. Т.е. это бы означало полное переписывание unit файлов на другой DSL.

В sysVinit'е абсолютно другой уровень гибкостиё

> Авторы systemd заинтересованы в его стабильности, пожалуй, даже больше, чем пользователи.

В это утверждение невозможно поверить. Я смотрел код systemd, неоднократно его тут цитировал. Так люди, мало мальски заинтересованные в стабильности и обладающие квалификацией хотя бы на уровне табуретки, не пишут.

Ответить | Правка | К родителю #191 | Наверх | Cообщить модератору

218. "Релиз systemd 233"  +/
Сообщение от виндотролль (ok), 04-Мрт-17, 23:35 
> В это утверждение невозможно поверить.

Это было предположение. Беру слова обратно :)

Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

199. "Релиз systemd 233"  +2 +/
Сообщение от freehckemail (ok), 04-Мрт-17, 18:17 
> Мне не понравился сам лишь подход, что в случае с sysvinit считаем
> строчки "юнит-файлов" (они же скрипты), а в случае с systemd —
> строчки системы инициализации.

Хм. Знаете, у меня раж спал, я подумал, и понял, что таки да. Корректности ради код интерпретатора, возможно, стоит включить, потому как systemd инкапсулирует в себя код обработки unit-файлов. То, что интерпретатор и скрипты возможно заменить - это уже камень в сторону модульности.

>> эти 100к строчек отлаживали последние 30 лет или около того
> С таким подходом никогда нельзя разрабатывать что-то новое.

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

> Конструктивно говорить, что в системд есть баги (и это правда),
> говорить какие именно, и тогда их будут фиксить.

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

>> Раз. (см. #10 - про бинарные логи)
> все зависит от реализации. Современные информационные системы уже давно обходят проблему
> фейла физического носителя или бага в программе иначе — бекапы, copy
> on write и т.д..

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

Собственно, речь в статье как раз о том и ведётся. Проблема в реализации бинарного лога в systemd: она не отказоустойчива. Если лог-файл был повреждён, то восстановить его невозможно. Таким образом, если у винчестер начал сбоить, то всё, логи Вы безвозвратно теряете, что может сильно помешать в диагностике неполадок.

Справедливо замечается, что мета-информацию (те же индексы и т.п.)  можно было бы хранить отдельно от plain-text лога, что повысило бы отказоустойчивость journald.

> Все приложения, с которыми я сталкивался, и для которым критично логирование, имеют
> собственные системы логирования (чаще, на удаленный сервер). Но я по своему
> опыту знаю, что лет 10 назад было принято логи писать в
> структурированное хранилище (БД), потому что тяжело было что-то сделать с 20
> гб плейн текст логов. И это очень похоже на жоурналд.

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

У нас в компании тоже есть для таких вот задач решения. Например есть сервис отчётов, который сохраняет всю мета-информацию о http(s)-запросах в режиме реального времени и позволяет быстро по ней произвести поиск, когда понадобится. Но это не то, чтобы лог. Это всё-таки база для весьма специфичных нужд (нужд инженеров-безопасников).

> Положительные моменты системд
> 1) я могу написать сервис, который перезапустит бинарь, если тот упадет, и
> мне не придется для этого использовать ps, grep, kill, rm myapp.pid
> и т.д.

А, много раз слышал, как systemd-шники гордятся своим watchdog-ом. Но позвольте заметить, что как минимум ещё в начале нулевых Бернштейн написал daemontools - набор утилит, которые именно тем и занимаются, что следят за тем, чтобы сервисы крутились. Уже 15 лет используем в нашей конторе для критичных мест.

> 2) я знаю, что мой сервис стартонет тогда, когда придет время

Я не понял, о чём Вы.

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

Да, это по-видимому основная проблема GNU/Linux: наличие огромного выбора. Большинство плавает среди этого выбора и не знает, куда податься.
В systemd, наверное, легче: ты выбираешь его, и за тебя уже выбрали всё, и отступить ни на шаг от этого выбора уже не удастся.
Просто это совсем не тот GNU/Linux, который мы когда-то полюбили. Это GNU/Linux, с которым мы уже ничего не сможем сделать сами, в котором мы ничего не сможем изменить.
Мне такой GNU/Linux нафиг не нужен.

>> Хотите пруфов, хотите? Их у меня много. Вся рассылка debian-russian, а ещё располагаю подборкой комментариев с opennet.
> Да я и сам могу подбросить. Иногда проще написать while true; do
> ./mydaemon; done чем разбираться, почему с системд скрипт вообще не стартует.

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

> Я — вовсе на фанат системд. И использую его лишь потому, что
> он поставляется по умолчанию на моем дистрибутиве.

Соболезную.

> Напоминаю, что я лишь высказал критику к статье о мифах о системд
> — не всегда весомые аргументы. Ну и я пытаюсь видеть удачные
> решения в системд.

Да, возможно, надо бы слегка освежить статью. Я благодарен Вам за свежий взгляд. Подумаю, что можно сделать для её актуализации.

Ответить | Правка | К родителю #188 | Наверх | Cообщить модератору

189. "Релиз systemd 233"  +1 +/
Сообщение от Vkni (ok), 04-Мрт-17, 07:27 
> Может быть теперь это для Вас "незначительная разница", но имейте в виду,
> что эти 100к строчек отлаживали последние 30 лет или около того.
>  Ваша systemd существует в 5 раз меньше, а весит в
> 3 раза больше.

Я бы не сказал, что за bash уж так нужно биться. Язык shell серьёзно устарел, но обладает рядом уникальных фич, ака ленивость + мегапараллелизуемость.

SysVinit как раз хорош тем, что позволяет заменить bash на любой другой скриптовый язык соответсвующей мощности, скажем, make. Можно, в принципе, сделать что-то более-менее современное на базе Хаскелля или Ocaml'а (язык, разумеется, не в прямую использовать).

Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

200. "Релиз systemd 233"  +/
Сообщение от freehckemail (ok), 04-Мрт-17, 18:50 
>> Может быть теперь это для Вас "незначительная разница", но имейте в виду,
>> что эти 100к строчек отлаживали последние 30 лет или около того.
>>  Ваша systemd существует в 5 раз меньше, а весит в
>> 3 раза больше.
> Я бы не сказал, что за bash уж так нужно биться. Язык
> shell серьёзно устарел, но обладает рядом уникальных фич, ака ленивость +
> мегапараллелизуемость.

Согласен. Лично мне больше нравится zsh. Там реально меньше шансов ошибиться. Но чтобы серьёзно что-либо утверждать по данному вопросу, мне стоило бы сначала изучить больше шеллов. Я сейчас, увы только три знаю.

> Можно, в принципе, сделать что-то
> более-менее современное на базе Хаскелля или Ocaml'а (язык, разумеется, не в
> прямую использовать).

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

На Ocaml было бы очень просто сделать любой DSL (ocamlyacc/menhir + ocamllex в помощь). Но разве что для прототипа. У Ocaml будет слишком большой рантайм, чтобы эффективно форкаться.

Ответить | Правка | Наверх | Cообщить модератору

213. "Релиз systemd 233"  +/
Сообщение от Vkni (ok), 04-Мрт-17, 22:42 
> На Ocaml было бы очень просто сделать любой DSL (ocamlyacc/menhir + ocamllex в помощь). Но разве что для прототипа. У Ocaml будет слишком большой рантайм, чтобы эффективно форкаться.

Я имел ввиду, что мы берём язык, а не реализацию, из которого уже делаем другой язык. Т.е. про runtime на данном этапе речи нет.

> Я не очень понимаю, где же нам пригодится строгая типизация в замене shell-а.

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

Ответить | Правка | Наверх | Cообщить модератору

71. "Релиз systemd 233"  –2 +/
Сообщение от Аноним (-), 02-Мрт-17, 19:31 
>>Он просто работает. Причем и на машинах с субжом.

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

Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

146. "Релиз systemd 233"  +/
Сообщение от Stanislav (??), 03-Мрт-17, 10:05 
Для таких случаев всегда можно взять что-нибудь другое, начиная с upstart, проходя через runit, заканчивая скриптом на шелле.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру