[NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Hephaestus »

Bizdelnick писал(а):
08.02.2015 20:33
Вот, споткнулся об очередной вопиющий пример отношения системдешников к тому, что не системде
Мда... Вовремя я всё-таки ушёл на слаку.
Стоял передо мной выбор: изучать systemd и при этом собирать нужные мне версии софта из исходинков в Debian или уйти на другой дистр, более ориентированный на сборку из исходников и к тому же не привязанный к systemd. Я выбрал второе. И похоже, что правильно выбрал.
Чем читать опусы Леннарта и разбираться в его поделках, я предпочёл осваивать слаку и читать Патрика. Он, кстати, интереснее пишет, чем Леннарт. Правда.
Debian был прекрасным дистром, просто отличным. Но... увы.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Hephaestus »

Bizdelnick писал:
08.02.2015 20:33
Мысль починить logind и сохранить совместимость с существующим софтом им даже в голову не пришла.
И не могла прийти. У них задача другая. Они работают на заказ. А суть глобальной идеи проста: монополия Red Hat. Претензия на статус "а ля Microsoft" в мире Linux.
Offtopic
Вспомнился один какой-то старый детективный фильм, там главный преступник был в красной шляпе.
И в конце был примерно такой диалог:
- Как вы догадались, что преступник именно он?
- Он был в красной шляпе.
- Ну и что?
- Красная шляпа - это всегда подозрительно.
Последний раз редактировалось Hephaestus 24.11.2020 12:27, всего редактировалось 2 раза.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8255
Статус: Маньяк
ОС: Arch, CentOS, Ubuntu

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение serzh-z »

Делаю наблюдения и хочу задать вопрос... Скажите, поттероненавистники - а вы же все патриоты, против фашизма и за русскую Луну, верно ведь?

P.S.: ну и да, считаете, что меня надо забанить за такой вопрос? Можно просто кивнуть.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 19300
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Bizdelnick »

serzh-z писал(а):
09.02.2015 00:16
Скажите, поттероненавистники - а вы же все патриоты, против фашизма и за русскую Луну, верно ведь?

И при этом православные активисты, забыл добавить.
Да, отчасти ты прав: в фашизме я ничего хорошего не вижу. Как и в антифашизме, впрочем.
P. S. А те чуваки, на которых я выше ссылки давал, - они, по-твоему, тоже за "русскую Луну"?
Spoiler
Изображение
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3729
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Hephaestus »

serzh-z писал(а):
09.02.2015 00:16
Скажите, поттероненавистники - а вы же все патриоты, против фашизма и за русскую Луну, верно ведь?

Патриоты - да.
Против фашизма - да.
За "русскую Луну" - нет.
Поттероненавистники - нет.

Именно так - у меня нет ненависти к Поттеру. Есть некоторая степень возмущения. Есть непонимание. Ненависти - нет.
Вообще-то он мне по барабану - я практически сразу ушёл на слаку - и дело с концом. Вот судьба дистров мне не совсем по барабану.
Если в итоге окажется, что я таки прав и внедрение systemd - это глобальная ошибка, будет обидно за дистры.

Возникает вопрос: Что же я делаю в этой теме?
Отвечаю. Сообщество разделилось на два лагеря: одним нравится sysvinit, другим нравится systemd. Я пытаюсь понять вторых. Чем-то же они довольны.
Пытался в прошлых обсуждениях. Пытался, читая статьи Леннарта. Пытаюсь и в этой теме.

Но увы. Все доводы по большому счету сводятся к следующей схеме:
- Systemd лучше, чем sysvinit
- Чем лучше?
- Чем sysvinit.
Ответов на вопросы нет. Есть только личные выпады.

Вот Vascom тоже назвал присутствующих поттероненавистниками, обвинил в клевете и зависти.
Но когда я ему задал "неудобный" вопрос, так сказать, "в лоб", он по странному совпадению сразу из темы куда-то исчез.
На вопрос попытался ответить yoshakar, хоть и с третьего раза. Но как-то ответил. Но ему-то как раз systemd не нравится, по его же словам.


А со стороны поттерофилов только какие-то дохлые аргументы про то, что "система быстрее грузится" (хотя однозначного подтверждения так и не было), что "конфиги простые, а скрипты сложные"... это всё слишком мелкие и неявные преимущества в масштабах той затеи, которую начал Леннарт. А вот недостатки, к сожалению, налицо, и они гораздо серьёзнее.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

yoshakar писал(а):
08.02.2015 16:51
Нет, вы знаете, для меня писать на си - удовольствие, и совсем не напряжно.

потому что у вас ответственность нулевая. Т.е. вам наплевать, что ваш код тупо возьмёт и рухнет. Вам никто не позвонит в 3 часа ночи, и не помянет вашу матушку. Потому вы можете использовать опасные и дырявые идиомы, просто ради интереса.

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

yoshakar писал(а):
08.02.2015 16:51
А вот если применить ваши советы, то действительно получится либо неподдерживаемое УГ, либо вообще ничего не получится, поскольку написание хэлловорлда затянется на годы.

IRL так оно и получается. Даже хуже, ибо создание helloworld ver 6.6.6 будет тормозить version 2.3.2. В итоге на практике получится половина систем на version 2.3.2-7743bis, а вторая половина на 4.7.1-172beta, который вроде как 6.6.6, но частично совместим с 2.3.2.
yoshakar писал(а):
08.02.2015 16:51
Вот то, что для вас это - извращение, быдлокод и очень сложно, означает, что для вас писать на си сложно, а не для меня.

ну я-бы не стал в этом случае использовать таблицу указателей на функции, а применил-бы простой switch case. А если-бы и стал, то использовал-бы size_t в качестве индекса. Ну и обмазался-бы битовыми операциями, дабы не зафейлится с делением(которое к тому же — самая долгая операция).

Но это вряд-ли, зачем мне такое извращение там, где достаточно простого switch/case? Которое, кстати, компилятор сам в состоянии переделать в таблицу как у вас, если конечно в этом есть смысл.

yoshakar писал(а):
08.02.2015 16:51
В ваших рассуждениях есть одно очень слабое место: вы ещё моих скриптов не видели.

в скриптах нужно *очень* постараться, что-бы вызвать UB или утечку памяти, или ещё что-то плохое. В скриптах вам никто не даст выделять память и её освобождать (вы можете только тонко намекнуть, сказав unset). Неинициализированные переменные в скриптах ВСЕГДА равны "пусто" или "0". В скриптах не бывает указателей, а следовательно, всех проблем, которые с ними связаны (есть eval с другими проблемами, но без eval можно обойтись, а без указателей — увы). Даже если в скриптовом ЯП есть ссылки, с ними тоже не бывает проблем как в C++, если вы вернёте из функции ссылку на внутреннюю переменную, то в C++ получите UB. В скрипте всё будет работать как ожидается, GC просто не будет удалять эту ссылку. Последовательность действий в скриптовых ЯП *всегда* однозначна, и прописана в документации. В C/C++ компилятор крутит как ему вздумается.

Да, это конечно плохо для производительности, но зачем она в рассматриваемом случае? Если у вас медленно "разогревается" СУБД, то чем вам сишка поможет? СУБД и так на сишке написана.
yoshakar писал(а):
08.02.2015 16:51
потому что писать на скриптах для меня - действительно мучение.

просто вы не удосужились изучить ЯП.

Сишка только с виду "простая", на самом деле, UB там на каждом шагу понаставлено. Интерпретатор сразу вам по рукам даст вывалив ошибку какую-то или просто неправильный результат вроде 2*2=5. А сишка скомпилируется без ошибок, и даже будет выдавать 2*2=4. ВНЕЗАПНО она вам выдаст 123278*3782=1. Почему? Да кто же его знает? А может и испортить чего-нить.
yoshakar писал(а):
08.02.2015 17:05
Aviator, это же просто баг. Его пофиксят, и всё будет хорошо.

в SysV такого бага нет. Ну и зачем?

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

Bizdelnick писал(а):
08.02.2015 19:08
Да, в общем-то, и админу до фонаря. Не припоминаю случая, чтобы мне пришлось править хоть один инит-скрипт.

править — не нужно. Но часто проще глянуть на скрипт, чем разбираться в тоннах документации к этой init. Документация это конечно хорошо, но код лучше. Только не сишка, на которой на тривиальные вещи нужно Over9000 строк.


serzh-z писал(а):
09.02.2015 00:16
Делаю наблюдения и хочу задать вопрос... Скажите, поттероненавистники - а вы же все патриоты, против фашизма и за русскую Луну, верно ведь?

ну т.к. меня вы тоже таким считаете, то отвечу:
1. к Леннарту я хорошо отношусь. К systemd — плохо. У вас это в голове не укладывается, да?
2. у вас, у ленартофила, аргументы кончились, да? Слив засчитывать?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение yoshakar »

drBatty писал(а):
09.02.2015 10:14
Вы просто не понимаете, что писать код для собственного удовольствия, и систему инициализации в продакшен — две большие разницы.
Я это отлично понимаю. Но это определяется не только тем, что пишется, но и кто это пишет. Вы, видимо, имеете опыт в написании на сях ответственного кода, вы понаступали на грабли, и теперь, чисто из-за психологических причин, вынуждены писать громоздий switch там, где нужна элегантная таблица функций - явление той же природы, что и т. н. "паралич анализа". У меня нет большого опыта в написании сишного продакшен кода. Поэтому я могу просто брать и херачить сишный код. Какой угодно - небезопасный, безопасный. Какой надо - такой и будет. Безопасный конечно надо делать в паре с кем-то вроде вас, а то слишком много дырок будет. А у скриптов своих проблем полно, и не только с перформансом, но вы почему-то прицепились к безопасности, и ничего кроме видеть не хотите.
Спасибо сказали:

Аватара пользователя
Stauffenberg
Сообщения: 2028
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Stauffenberg »

Hephaestus писал(а):
09.02.2015 07:35
Возникает вопрос: Что же я делаю в этой теме?
Отвечаю. Сообщество разделилось на два лагеря: одним нравится sysvinit, другим нравится systemd.

Дело не только в этом. Systemd заменили sysvinit, не оставив выбора.

К примеру, есть GNOME, есть KDE. Кому-то нравится первое, кому-то второе, но тут нет никаких проблем, потому что каждый может поставить то, что ему захочется (можно вообще выбрать что-то третье). С systemd так не получается, поддержку sysvinit выбрасывают.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

Hephaestus писал(а):
09.02.2015 07:35
Вот Vascom тоже назвал присутствующих поттероненавистниками, обвинил в клевете и зависти.
Но когда я ему задал "неудобный" вопрос, так сказать, "в лоб", он по странному совпадению сразу из темы куда-то исчез.

Это я домой после работы ушёл. Повтори вопрос пожалуйста.
Hephaestus писал(а):
09.02.2015 07:35
А вот недостатки, к сожалению, налицо, и они гораздо серьёзнее.

Ну не надо, нет никаких недостатков на лицо. Отлично работает, стабильно, удобно, нравится разработчикам, системным администраторам, пользователям. Нет недостатков. Вы их из пальца высасываете, лишь бы не учиться работать с systemd.

Stauffenberg писал(а):
09.02.2015 16:24
Hephaestus писал(а):
09.02.2015 07:35
Возникает вопрос: Что же я делаю в этой теме?
Отвечаю. Сообщество разделилось на два лагеря: одним нравится sysvinit, другим нравится systemd.

Дело не только в этом. Systemd заменили sysvinit, не оставив выбора.

К примеру, есть GNOME, есть KDE. Кому-то нравится первое, кому-то второе, но тут нет никаких проблем, потому что каждый может поставить то, что ему захочется (можно вообще выбрать что-то третье). С systemd так не получается, поддержку sysvinit выбрасывают.

Ещё раз, это не системд не оставил вам выбора. Вы же не станете обвинять КДЕ, в том, что он не оставил выбора, если все другие ДЕ вымрут сами собой или останутся лишь на нескольких дистрибутивах? Хватит переводить стрелки. Спросите лучше разработчиков ваших дистрибутивов, почему они не оставили вам выбора.
А так, вы лишь обвиняете изобретателя двигателя внутреннего сгорания в том, что машины на пару более не используются (да-да, системд - это ДВС, а всё что было раньше - паровые машины, в сравнении).
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 19300
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Bizdelnick »

Vascom писал(а):
09.02.2015 16:45
Нет недостатков. Вы их из пальца высасываете, лишь бы не учиться работать с systemd.

Внезапно: я умею работать с systemd. Зачем же я высасываю что-то из пальца?

Vascom писал(а):
09.02.2015 16:45
Спросите лучше разработчиков ваших дистрибутивов, почему они не оставили вам выбора.

Зачем же спрашивать? Я и так знаю ответ: потому что systemd принципиально несовместимо с другими решениями.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

Bizdelnick писал(а):
09.02.2015 16:50
Vascom писал(а):
09.02.2015 16:45
Нет недостатков. Вы их из пальца высасываете, лишь бы не учиться работать с systemd.

Внезапно: я умею работать с systemd. Зачем же я высасываю что-то из пальца?

Vascom писал(а):
09.02.2015 16:45
Спросите лучше разработчиков ваших дистрибутивов, почему они не оставили вам выбора.

Зачем же спрашивать? Я и так знаю ответ: потому что systemd принципиально несовместимо с другими решениями.

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

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 19300
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Bizdelnick »

Vascom писал(а):
09.02.2015 19:11
принципиальная совместимость есть, но она требует дополнительных действий от маинтейнеров некоторых программ в дистрибутиве.

Нет, она требует дополнительных действий от апстрима. Чуть выше был пример с переписыванием startx вместо исправления поведения logind (Debian тут ни при чём, изначально такое "решение" появилось в RedHat). И таких множество, и я их приводил в аналогичных темах, и Вы их должны были видеть, если вообще читаете приводимые другими аргументы.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение eddy »

Я очень надеюсь, что с поцтероD случится то же, что когда-то случилось с HAL и прочей мерзостью.
Все-таки, уж очень не хочется на BSD переходить... А уже ведь и в генте все сложней и сложней. Сейчас уже тупо локаль нормальную (КОИ8-Р) не так-то просто поставить по умолчанию. Благо хоть, не нужно всякий шлак вроде пульсы, нетворкманагера и поцтероD ставить. А то вообще было бы весело: отсутствие звука, отсутствие сети и вообще незагружающийся компьютер...

А еще, хотелось бы посмотреть, как поцтеролизы будут на каком-нибудь кубитраке свой поцтероD заводить. И как у них все будет свистеть и пердеть!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

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

eddy, размораживайся. У меня Raspberry Pi отлично с systemd живёт на F20. А F21 по умолчанию собирает все пакеты для ARM7, и всё у всех отлично работает.

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

Вы просто ни на что не можете повлиять, вот и мечетесь в бессильной злобе.
Спасибо сказали:

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение eddy »

Vascom писал(а):
09.02.2015 21:22
eddy, размораживайся. У меня Raspberry Pi отлично с systemd живёт на F20. А F21 по умолчанию собирает все пакеты для ARM7, и всё у всех отлично работает.

Мде. Клиника.
Vascom писал(а):
09.02.2015 21:22
Вам не остановить прогресс

Негативный прогресс обычно регрессом называют, если что.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

Он не негативный. Как вы можете этого не видеть?
Или думаете вы такие особенные, лучшие, знаете что нужно делать, как?

eddy, при чём тут клиника? Ты спросил как системд на ARM системах - я ответил. Объяснись, пожалуйста.
Спасибо сказали:

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение eddy »

Обычно ARM значительно слабей среднего компьютера. Поэтому заменять нормальную систему инициализации на тормозное говно — уже странность. А если учесть, что, в отличие от x86(_64), которые зачастую используются только в развлекательных целях, армы обычно используются для работы (разработка ПО и т.п.), это еще более странно: зачем себе в колеса втыкать палки и молотом придавать диску квадратную форму, если на круглых колесах ехать удобней?

Хотя, некоторые на всякие "малинки" вообще ондроедов ставят. Это совсем ужас!
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

Дело в том, что systemd вовсе не тормозная и тем более не говно. И это не клиника, а факты.
Почему вы не хотите их признавать?
Спасибо сказали:

Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение yars »

Vascom писал(а):
10.02.2015 07:28
Почему вы не хотите их признавать?

Потому что от вас внятных аргументов "за" до сих нет. Или Кея Сиверса Линус зря обругал? Тоже хороший пример реакции апстрима на собственные проблемы ("чинят" ни в чем неповинное ядро, а не гадящий в логи системдэ).
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

yoshakar писал(а):
09.02.2015 11:23
вы понаступали на грабли

наступал, да.
yoshakar писал(а):
09.02.2015 11:23
громоздий switch там, где нужна элегантная таблица функций

switch вовсе не громоздкий. Особенно по сравнению с таблицей, которая в четырёх местах объявлена:
1. указатель на функцию
2. сама таблица
3. функции
4. использование таблицы
если нужно что-то допилить, придётся пилить В ЧЕТЫРЁХ местах. Наверняка, вы где-то ошибётесь, к гадалке не ходи.
И что самое плохое, так это то, что профит нулевой, switch любой современный компилятор в такую таблицу переделает. Да и не современный тоже(switch в сишке как раз для такого и придуман).
yoshakar писал(а):
09.02.2015 11:23
А у скриптов своих проблем полно, и не только с перформансом, но вы почему-то прицепились к безопасности, и ничего кроме видеть не хотите.

мы обсуждаем систему инициализации, которая претендует на то, что-бы ВСЁ контролировать.
если-бы мы обсуждали-бы ваш игрушечный код, я-бы не цеплялся. Наоборот, всё у вас очень хорошо и годно. Для игрушки.
Vascom писал(а):
09.02.2015 16:45
А так, вы лишь обвиняете изобретателя двигателя внутреннего сгорания в том, что машины на пару более не используются (да-да, системд - это ДВС, а всё что было раньше - паровые машины, в сравнении).

нет. ДВС работает намного лучше, по сравнению с паровой машиной. Он мощнее. Это факт.
А вот что касается systemd, тут всё не так хорошо и однозначно. Смиритесь, и умерьте свой фанатизм пожалуйста.

Vascom писал(а):
09.02.2015 19:11
Вовсе нет, принципиальная совместимость есть, но она требует дополнительных действий от маинтейнеров некоторых программ в дистрибутиве. Вот они и выбирают что получше.

одним словом: "неосилила".
ОК, осильте, если оно по вашему так просто. Жду с нетерпением.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение yoshakar »

drBatty писал(а):
10.02.2015 09:19
И что самое плохое, так это то, что профит нулевой
Профит в том, что нет дублирования кода: в случае со switch для каждой функции doSomething придётся добавлять значение enum'а Action_doSomething. Не, чтобы это сильно плохо - просто "пахнущий" код. Диспатчеризация switch'ем оправдана только при отсутствии в языке более адекватных средств типа указателей на функции.

Да, и прочитайте, пожалуйста, пункт 59 "Применяйте указатели на функции Си в качестве селекторов" книги "Верёвка достаточной длины, чтобы выстрелить себе в ногу" Голуба.
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Vascom »

От меня внятные аргументы такие:
1. Systemd отлично работает. Как на личном опыте, так и по опыту всех пользователей Fedora.
2. Его используют множество людей и разработчиков дистрибутивов.

Конечно там не всё может быть хорошо и однозначно, но процесс развития продолжается и будет только лучше. У меня нет фанатизма, я не сталкивался с проблемами systemd.
Фанатизм - это указывать на недостатки на местечковых форумах вместо написания багрепортов и внесения положительных изменений в код systemd. То есть критика должна быть конструктивной.

Мне не требуется осиливать поддержку нескольких систем инициализации. У меня всё отлично работает через systemd. Это не фанатизм, а факт.
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

yoshakar писал(а):
10.02.2015 09:28
Профит в том, что нет дублирования кода: в случае со switch для каждой функции doSomething придётся добавлять значение enum'а Action_doSomething. Не, чтобы это сильно плохо - просто "пахнущий" код. Диспатчеризация switch'ем оправдана только при отсутствии в языке более адекватных средств типа указателей на функции.

как вы не понимаете той простой вещи, что switch и так переделывается в таблицу указателей на функции. Если в этом есть выгода. А будет или нет выгоды — неизвестно.
yoshakar писал(а):
10.02.2015 09:28
Да, и прочитайте, пожалуйста, пункт 59 "Применяйте указатели на функции Си в качестве селекторов" книги "Верёвка достаточной длины, чтобы выстрелить себе в ногу" Голуба.

вы тоже прочитайте. Внимательно прочитайте.
Голуб рекомендует переход по указателю из структуры. Т.е. структура сама "знает", как её обрабатывать. У вас никакой структуры вообще нет, У вас просто какая-то левая таблица, и какой-то глобальный индекс(ещё и со знаком почему-то).

Соответствие акция←номер акции вы даже enum'ом не осилили оформить, что значит "акция №5" не известно даже вам.

По Голубу, должна быть структура

Код: Выделить всё

struct Action
{
   ptr_do_action do_action;// указатель на функцию
   const char* message;// сообщение, которые у вас отдельно
   // ещё что-то там
};

ну и массив структур. Вот в этом случае, действительно switch не нужен, просто запускаем

Код: Выделить всё

actions[KILL_IT_FIRE].do_action()

Вы же сделали что-то жуткое.

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение yoshakar »

Это интересно. Опустим message, который действительно должен быть внутри структуры, но которого могло бы и не быть, и не о нём разговор. Значит, таблица из указателей на функции - это "что-то жуткое". А таблица из структур с одним полем - указателем на функции - это "просто запускаем". Это интересно. Прямо новое видиние какое-то.
И ещё, каквынепонимаететойпростойвещи, что дублирование кода не связано с тем, во что код компилируется.
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

Vascom писал(а):
10.02.2015 09:28
1. Systemd отлично работает. Как на личном опыте, так и по опыту всех пользователей Fedora.

не слишком-ли самоуверенно отвечать "за всех"? Особенно учитывая пруфлинки на вашу ложь, которые уже были выше приведены?
Vascom писал(а):
10.02.2015 09:28
2. Его используют множество людей и разработчиков дистрибутивов.

потому что нужна совместимость с RH. Потому вынуждены использовать.
Vascom писал(а):
10.02.2015 09:28
У меня нет фанатизма, я не сталкивался с проблемами systemd.

а тех, кто сталкивался — не существует. Это, как раз, и называется ФАНАТЕГ.
Vascom писал(а):
10.02.2015 09:28
Фанатизм - это указывать на недостатки на местечковых форумах вместо написания багрепортов и внесения положительных изменений в код systemd.

дык зачем подпирать костылями изначально дефектную систему? Созданную исключительно с целью http://en.wikipedia.org/wiki/Vendor_lock-in ?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение Yaros »

Vascom писал(а):
10.02.2015 09:28
Фанатизм - это указывать на недостатки на местечковых форумах вместо написания багрепортов и внесения положительных изменений в код systemd.
Противоречия с философией UNIX через багтрекер не решить.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение drBatty »

yoshakar писал(а):
10.02.2015 10:38
Опустим message, который действительно должен быть внутри структуры

в том и заключается рекомендация Голуба, что ВСЕ разные "поля и методы" одной сущности должны быть объединены. Не нужно это размазывать по коду. Это и так понятно, но Голуб идёт дальше, указывая, что можно даже функции пихать в структуру, а не делать в структуре поле type, и потом прыгать по нему switch'ем.

Т.е. дело не в switch, а в ненужной сущности type. За которую я вас и критиковал, кстати. А если уж вы эту сущность создали, так и прыгайте switch'ем, нет, вы ещё хуже сделали, создали ещё более ненужную сущность — таблицу указателей на функции.
yoshakar писал(а):
10.02.2015 10:38
Значит, таблица из указателей на функции - это "что-то жуткое".

да, потому что это ненужный костыль для ненужной сущности.

И у вас такого много, вот ещё:

Код: Выделить всё

#define ITEMS_COUNT 7

static Action actions[ITEMS_COUNT] = {

Нужно было

Код: Выделить всё

static Action actions[] = {…};
#define ITEMS_COUNT (sizeof(actions)/sizeof(actions[0]))

Но если делать по Голубу, #define и не нужно.
yoshakar писал(а):
10.02.2015 10:38
А таблица из структур с одним полем

НЕЕЕ!
Откуда вы взяли "одно поле"? В том и фишка, что там ВСЕ данные требуемые для акции. И данные, и указатели на код, который эти данные обрабатывает.
Получаются такие уродские "виртуальные функции". Ну уж что поделаешь…
yoshakar писал(а):
10.02.2015 10:38
И ещё, каквынепонимаететойпростойвещи, что дублирование кода не связано с тем, во что код компилируется.

в каком месте вы увидели у меня "дублирование"?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:

yoshakar
Сообщения: 259
ОС: Debian Stretch

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение yoshakar »

drBatty писал(а):
10.02.2015 10:54
Откуда вы взяли "одно поле"? В том и фишка, что там ВСЕ данные требуемые для акции. И данные, и указатели на код, который эти данные обрабатывает.
Оттуда и взял, что данных этих одно поле - указатель.
drBatty писал(а):
10.02.2015 10:54
в каком месте вы увидели у меня "дублирование"?
Я вам сказал, что switch - это дублирование кода. Вы в ответ начали рассказывать банальную истину во что switch компилируется. Вы вообще мне уже столько банальщины порасказали (что message должен быть в одной структуре с ptrом, что #define ITEMS_COUNT - это неправильно, что unsigned был бы больше к месту, и ещё дофига), только я не могу понять зачем. Перемежая банальщину ерундистикой, вроде ваших перлов про switch (от которых вы в конце-концов отказались, признав, что указатели-то лучше, только надо их в структуру обернуть и они от этого сразу станут секъюрными), про узримые вами "костыли" и т. п.

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

Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: [NIXP] Systemd получил новые сетевые возможности: форвардинг и маскарадинг IP, базовое управление брандмауэром

Сообщение eddy »

Vascom писал(а):
10.02.2015 09:28
Его используют множество людей и разработчиков дистрибутивов.

Я так не смеялся уже давно...
«Все рабы Священной Римской Империи носят кандалы. Им это нравится.»
«Все промышленники Дикого Запада пользуются паровой машиной. Им невдомек, что есть дизели, электродвигатели и т.п.»
«Тот, кто отказывается от установки анального зонда, не понимает своего счастья и подлежит деструктуризации в биореакторе.»

Ну и так далее.

Если вам нравится, что вас заставляют есть дерьмо вместо выбора из нормального меню, это ваше право. Мне дерьмо есть не хочется.
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали: