henry_flower: A melancholy wolf (Default)
henry_flower ([personal profile] henry_flower) wrote2024-11-18 03:32 pm

/bin/sh errexit ув fbsd

FreeBSD is very compatible with standards such as POSIX.
-- FreeBSD Developer Handbook

На будь-якому лайнаксі з будь-яким sh-похідним шелом, скрипта нижче друкує hello world:

$ cat -n 1.sh
     1  set -e
     2
     3  hello() {
     4      false
     5      echo hello
     6  }
     7
     8  true | hello && echo world

$ sh 1.sh
hello
world

fbsd зі своїм /bin/sh робить потужний кєк на рядку 4:

$ sh 1.sh
$ echo $?
1
$ sh -x 1.sh
+ set -e
+ true
+ hello
+ false
$ uname -rs
FreeBSD 14.1-RELEASE-p5

Їхній sh(1) має ось таке речення ув роздлі про set -e:

"If a shell function is executed and its exit status is explicitly tested, all commands of the function are considered to be tested as well."

Я, звичайно, не є перший хто це випадково помітив: схожі 4 скарги ув їхній баґзилі date back to 1999-2005, всі обнадійливо позначені як FIXED.

Хто і навіщо fbsd використовує для роботи, окрім контори Соні та ображених на Торвальдса русскіх, залишається незрозумілим.

kondybas: (Default)

[personal profile] kondybas 2024-11-18 02:13 pm (UTC)(link)
Ну, я використовую - для домашніх мережевих штучок.

FreeBSD мені приємніша - логічніша, гнучкіша, як наслідок - простіша, а загалом зручніша, ніж лінукси. Не без культурних особливостей, звичайно, але хто сказав, що правильно - саме в лінуксах?

Беззаперечна та фундаментальна перевага FreeBSD - це система портів та залізобетонна система лейауту, коли в усіх версіях (принаймні, з 3.х по поточну) всі файли, софти та конфіги лежать там, де їм належить. Окремо додам у переваги відсутність systemd, бо індастріал масс-маркет це щось одне, а юніксвей - це щось інше.

Хто хоч раз пробував на лінуксі підняти, скажімо, довекот-імап у конфігурації, відмінній від штатної стандартно-типової квадратно-гніздової, той розуміє, де лінукс звернув не туди.
kondybas: (Default)

[personal profile] kondybas 2024-11-18 03:28 pm (UTC)(link)
Коли я ще заробляв сисадмінством та мережами, я робив клієнтам на фрі "православізатори трафіку", те, що називаєтья gentle shaper. Навіть хотів то всьо зробить по науці, на netgraph, але воно на dummynet працювало так добре, що просто не було мотивації.

Нічого подібного в лінуксах я не бачив тоді, і, підозрюю, його нема й зараз.
kondybas: (Default)

[personal profile] kondybas 2024-11-18 03:42 pm (UTC)(link)
Я навіть думав колись, чи не зробити то всьо апаратно - коробочка з двома портами, аплінк-даунлінк. Зеро-конфігурабл, зеро-мейнтененс. А ефект епічний.
malyj_gorgan: (Default)

[personal profile] malyj_gorgan 2024-11-18 06:59 pm (UTC)(link)
Я колись працював на контору на імʼя riverbed, яка намагалася зробити продукт з такою функціональністю, шоб воно всьо керувалося ззовні. Software-defined WAN. Купили німецьку конторку, яка це зробила на Perlʼі для маленьких мереж, три роки пробували масштабувати і розвалилися аж до банкрутства. У них ще там оптимізатор протокольного рівня був, первинний продукт, на якому вони зʼявилися і виросли, то він ще якось животіє, але не більше.