LINUX.ORG.RU
ФорумTalks

Почему распространено утверждение, о том, что FreeBSD является настоящим UNIX в отличие от Linux?

 , ,


0

2

Если не впадать в срач о том, какая система лучше. Хочется узнать, почему бытует мнение, что FreeBSD, в отличие от Linux, является «настоящим UNIX»?

Ведь, как я понимаю, FreeBSD не содержит ни строчки кода, написанного Томпсоном и Ритчи в Bell Labs. Также однозначно FreeBSD не сертифицирована The Open Group как UNIX. А в плане того, что она реализует UNIX API (POSIX), Так и GNU/Linux его реализует.

Ответ на: комментарий от Rootlexx

«по-другому» не равносильно «не работает»

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

Ну и “do one thing and do it well”.

OSS сравнивать с Pulseaudio

сравнивать

Вы сговорились?

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

В некоторых юзкейсах — равносильно.

Ни в каких не равносильно. Вы говорили про выполнение задач, а не про выполнение задач прежним способом.

Скрипты, работавшие десятилетиями

…и продолжающие работать. Просто теперь есть более простые и эффективные решения.

Вы сговорились?

Ваша цитата:

Самое забавное, что в Linux нагородили кучу “расширений”, которые превратили базовые утилиты в убервафли, которые теперь уже разучились (или стали выполнять хуже) выполнять свои прямые задачи.

В ней вы производите сравнение «базовых утилит» и «убервафель» в том, как они «выполняют свои прямые задачи». (Ключевые слова: «разучились», «хуже».)

Rootlexx ★★★★★
()
Ответ на: комментарий от mord0d

Я ничего не сравнивал

Сравнивал. «Было так, стало так» — это сравнение.

я описывал ‘‘развитие’’ Linux

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

gremlin_the_red ★★★★★
()
Ответ на: комментарий от gremlin_the_red

правая часть никак не связана с левой

Именно так.

mord0d ★★★★★
()
Ответ на: комментарий от Meyer

При установке можно выкинуть.

Можно не ставить дерево портов, исходники, 32-битные библиотеки и т.п. - но чтобы не поставить утилиты bhyve, portsnap, sqlite, telnet, flex, lua, wpa_supplicant, hostapd, ppp, nfsd, bind, bluetooth, компилятор с отладчиком (!), sendmail (!) и проч. - надо изрядно заморочиться.

А теперь сравните с базовой системой того же Debian.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

bhyve, portsnap, sqlite, telnet, flex, lua, wpa_supplicant, hostapd, ppp, nfsd, bind, bluetooth

Стоит только telnet и flex/bison. Компилятор с отладчиком тоже, но я периодически его использую.

Meyer ★★★★★
()
Ответ на: комментарий от Meyer

Стоит только telnet и flex/bison. Компилятор с отладчиком тоже, но я периодически его использую.

Всё перечисленное входит в base.txz, так что вы, вероятно, ставили из исходников, что входит в понятие «заморачиваться».

Ну или вы в /usr/sbin заглянуть забыли.

Rootlexx ★★★★★
()
Последнее исправление: Rootlexx (всего исправлений: 1)
Ответ на: комментарий от Rootlexx

но чтобы не поставить утилиты bhyve, portsnap, sqlite, telnet, flex, lua, wpa_supplicant, hostapd, ppp, nfsd, bind, bluetooth, компилятор с отладчиком (!), sendmail (!) и проч. - надо изрядно заморочиться.

% mv /usr/src /usr/src.old
% mkdir /usr/src
% svn checkout https://svn.freebsd.org/base/stable/12 /usr/src

% ee /etc/src.conf
WITHOUT_AMD=true
WITHOUT_ASSERT_DEBUG=true
WITHOUT_ATM=true
WITHOUT_AUDIT=true
WITHOUT_BHYVE=true
WITHOUT_BLUETOOTH=true
WITHOUT_BSDINSTALL=true
#WITHOUT_CLANG=true
WITHOUT_DEBUG_FILES=true
WITHOUT_DMAGENT=true
WITHOUT_EXAMPLES=true
WITHOUT_FLOPPY=true
WITHOUT_FREEBSD_UPDATE=true
WITHOUT_FTP=true
WITHOUT_GAMES=true
WITHOUT_GDB=true
WITHOUT_GDB_LIBEXEC=true
WITHOUT_GOOGLETEST=true
WITHOUT_HYPERV=true
WITHOUT_IPFILTER=true
WITHOUT_IPFW=true
WITHOUT_KDUMP=true
WITHOUT_LIB32=true
WITHOUT_LLDB=true
WITHOUT_LPR=true
WITHOUT_MAIL=true
WITHOUT_MAILWRAPPER=true
WITHOUT_MLX5TOOL=true
WITHOUT_NDIS=true
WITHOUT_NETGRAPH=true
WITHOUT_NETGRAPH_SUPPORT=true
WITHOUT_PC_SYSINSTALL=true
WITHOUT_PPP=true
WITHOUT_PROFILE=true
WITHOUT_RADIUS_SUPPORT=true
WITHOUT_SENDMAIL=true
WITHOUT_SHAREDOCS=true
WITH_SORT_THREADS=true
WITH_SVN=true
WITHOUT_TALK=true
WITHOUT_TCP_WRAPPERS=true
WITHOUT_TELNET=true
WITHOUT_TESTS=true
WITHOUT_TESTS_SUPPORT=true
WITHOUT_TFTP=true
WITHOUT_TIMED=true
WITHOUT_VI=true
WITHOUT_WARNS=true

% cd /usr/obj/ && chflags -R noschg * && rm -rf *
% cd /usr/src/ && chflags -R noschg * && svn update /usr/src
% cd /usr/src/ && make cleandir && make cleandir buildworld buildkernel installkernel installworld  && mergemaster -iU
% cd /usr/src/ && make BATCH_DELETE_OLD_FILES=true delete-old delete-old-libs
% shutdown -r now

Всё.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 3)
Ответ на: комментарий от Rootlexx

вы, вероятно, ставили из исходников, что входит в понятие «заморачиваться».

Unix изначально распространялся в исходных текстах, а не блобами. Так я «заморачиваться» не стал — использовал классический метод (пере)установки операционной системы.

А вот в GNU/Linux пришлось бы заморочиться (без кавычек) очень сильно. И я лично сомневаюсь, что поставил бы линукс из исходников.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

Насрать. Весь этот типа настоящий Юникс – говно.

Hertz ★★★★★
()
Ответ на: комментарий от sparks

(на самом деле UNIX-код был вычищен еще до 1995, к моменту выхода версии 2.0)

Слухи, что «весь код был вычищен» идут от судебного иска USL к BSD, который был как-то урегулирован. Но документы уже давно открыты, и все удаленные и оставшиеся файлы известны. Если бы дошло до полноценного судебного разбирательства, AT&T Unix рисковал остаться без BSD кода: BSD-сокетов, части утилит командной строки и так далее.

На самом деле в той же FreeBSD десятки файлов (c) UNIX System Laboratories, Inc. с первыми датами от 1980 года только в ядре. Я уж не говорю про (c) The Regents of the University of California, которые напрямую происходят от кода BSD UNIX 1970-х и позднее.

FreeBSD не только напрямую происходит от UNIX™, но также является прародителем UNIX™ систем.

baka-kun ★★★★★
()
Последнее исправление: baka-kun (всего исправлений: 1)
Ответ на: комментарий от iZEN

Unix изначально распространялся в исходных текстах, а не блобами. Так я «заморачиваться» не стал — использовал классический метод (пере)установки операционной системы.

А огонь изначально добывался трением. Надеюсь, вы используете исключительно классический метод добычи огня с помощью двух палок. И, несомненно, называете это «не заморачиваться».

Rootlexx ★★★★★
()
Ответ на: комментарий от baka-kun

FreeBSD не только напрямую происходит от UNIX™, но также является прародителем UNIX™ систем.

А вы являетесь прародителем всех людей - ведь в вас есть часть генов от предка человека. Верно?

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

А вы являетесь прародителем всех людей - ведь в вас есть часть генов от предка человека. Верно?

Неверно. Существует как минимум одна UNIX™ система, основанная на коде FreeBSD, о всех речи не было. Ну и постоянно происходил горизонтальный перенос из FreeBSD как в UNIX, так и в «UNIX-like» Linux.

baka-kun ★★★★★
()
Ответ на: комментарий от Rootlexx

Надеюсь, вы используете исключительно классический метод добычи огня с помощью двух палок.

Регулярно добываю огонь с помощью одной палочки. И хотя любые аналогии ложны, между первобытной добычей трением и спичками разницы даже меньше, чем между сборкой «первобытных» Unix и современной FreeBSD. :)

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

Существует как минимум одна UNIX™ система, основанная на коде FreeBSD, о всех речи не было

И какая же?

(Если вы про Mac OS, то наличие в ней части network- и vfs-кода из FreeBSD не делает её основанной на FreeBSD. Хотя, безусловно, последняя оказала на неё влияние.)

Rootlexx ★★★★★
()
Ответ на: комментарий от baka-kun

между первобытной добычей трением и спичками разницы даже меньше

Разница велика в плане затрат усилий и времени. О чём и шла речь.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Надеюсь, вы используете исключительно классический метод добычи огня с помощью двух палок.

Зачем палки? Есть же огниво в зажигалке.

iZEN ★★★★★
()
Ответ на: комментарий от Rootlexx

Разница велика в плане затрат усилий и времени.

Вы можете сравнить эти «затраты» с GNU/Linux, если хотите более объективного видения.

iZEN ★★★★★
()
Ответ на: комментарий от Deleted

Настоящий Unix вообще мёртв.

И что же ты называешь настоящим Unix?

CaveRat ★★
()
Ответ на: комментарий от te111011010

Лол, эти мертвые железки работают в банковской сфере (ищи в районе АБС), на транспорте (железные дороги, авиация, морские перевозки) и еще много где.

Тот факт, что к ним не подпускают каждого второго админа никак не говорит о том, что там что-то умерло.

Так и терабитные Cisco-раутеры можно назвать мертвыми.

CaveRat ★★
()
Ответ на: комментарий от CaveRat

В РЖД, насколько я знаю, IT-шникам платят копейки, при этом ищут мастеров на все руки. И системного программиста и заправщика картриджей в одном лице.

te111011010
() автор топика
Ответ на: комментарий от te111011010

Интересно, к чему ты это сказал? Это должно подтвердить использование юниксов в РЖД, или опровергнуть? И да, РЖД - это единственный оператор ЖД-транспорта на планете?

CaveRat ★★
()

Ну надо же найти повод узнать, чей пенис длиннее. Дедушка фрейде же :)

На самом деле разница между UNIX и UNIX-подобиями скорее формальная, чем техническая.

anti_win ★★
()
Ответ на: комментарий от Rootlexx

Если вы про Mac OS, то наличие в ней части network- и vfs-кода из FreeBSD…

В MacOS всё гибридное ядро целиком состоит из Mach (в который засунули и часть кода BSD ядра) и ядра FreeBSD для обеспечения POSIX, Unix процессов, uid/gid, сети, ФС, SysV IPC, BSD sockets, MAC, и прочее, без чего не может быть Unix-ядра… Также userspace основан на FreeBSD, ведь ОС — это не только ядро, в отличие от Linux.

Разница велика в плане затрат усилий и времени. О чём и шла речь.

Продолжаю твою аналогию, между спичками и палками разница затрат усилий и времени куда как меньше, чем между сборкой старого Unix и FreeBSD. Если Unix — палки, то FreeBSD даже не спички, а авторозжиг.

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

FreeBSD не только напрямую происходит от UNIX™, но также является прародителем UNIX™ систем.

Linux тоже является прародителем UNIX™ сисемы — huawei eulerOS.

te111011010
() автор топика
Ответ на: комментарий от te111011010

Linux тоже является прародителем UNIX™ сисемы — huawei eulerOS.

Конечно. Ведь сейчас UNIX™ — это просто платная сертификация на соответствие SUS.

baka-kun ★★★★★
()
Ответ на: комментарий от iZEN

Вы можете сравнить эти «затраты» с GNU/Linux, если хотите более объективного видения.

Можно и сравнить. Только, разумеется, GNU/Linux будет устанавливаться не из исходников.

Наличие предустановленного ПО, которое далеко не всегда нужно пользователю, - обратная сторона разработки FreeBSD как «complete operating system».

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Наличие предустановленного ПО, которое далеко не всегда нужно пользователю,

Предустанавливается ПО, которое делает систему BSD, POSIX и SUSv3 совместимой. У FreeBSD есть официальное разрешение от IEEE и Open Group использовать и распространять соответствующую документацию, разработчики поддерживают систему совместимой с IEEE 1003.1 и SUSv3. Получить сертификат UNIX™ можно в любой момент — вопрос денег.

обратная сторона разработки FreeBSD как «complete operating system».

Да, обратная сторона — совместимость по умолчанию. Но никто не мешает пересобрать для своих нужд. Любая система, соответствующая неким универсальным требованиям, будет содержать лишнее для какого-нибудь частного случая. Где-то встречал цифры, что только 5% кода libc реально используется в современном Linux десктопе. Остальное таскается только ради совместимости. Как мне избавиться в Линукс от того, что «далеко не всегда (никогда) нужно пользователю»?

baka-kun ★★★★★
()

вообще есть 3 критерия:

  • совместимость API
  • наличие оригинальных текстов
  • право обозначаться словом unix(tm)

линукс более менее удовлетворяет только 1му.

sergej ★★★★★
()
Ответ на: комментарий от baka-kun

Предустанавливается ПО, которое делает систему BSD, POSIX и SUSv3 совместимой.

В каком документе прописано обязательное наличие в системе утилит виртуализации (bhyve), sqlite, flex, lua, wpa_supplicant, hostapd, ppp, bind, bluetooth, компилятора с отладчиком, sendmail и проч.?

Любая система, соответствующая неким универсальным требованиям, будет содержать лишнее для какого-нибудь частного случая

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

Да, обратная сторона — совместимость по умолчанию

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

Где-то встречал цифры, что только 5% кода libc реально используется в современном Linux десктопе. Остальное таскается только ради совместимости. Как мне избавиться в Линукс от того, что «далеко не всегда (никогда) нужно пользователю»?

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

Кстати, поделитесь ссылкой на 5%. (Имеется в виду glibc?)

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

В каком документе прописано обязательное наличие в системе утилит виртуализации (bhyve) … wpa_supplicant, hostapd, ppp, bluetooth…

А ты хочешь оставить систему без возможности настройки ядра и без сети заодно? Полуработающий огрызок?

sqlite, lua

В системе есть только небольшие рантаймы для svnlite и внутри загрузчика соответственно. Без загрузчика системы не бывает, как ты понимаешь, а наличие RCS — механизм обновления исходников. POSIX указывает sccs, но svn тоже нормальная замена.

flex

lex, yacc, c99 и прочая почта — это POSIX.

bind

Ты про команду POSIX shell? :) DNS сервер в поставку не входит, он в портах.

Поэтому лучше, когда система содержит лишь необходимый минимум

Ну так есть же Linux, который только ядро — предельный «необходимый минимум». Всё остальное, от загрузчика до библиотек и утилит конфигурации — сторонние пакеты, собранные в кучу авторами дистрибутива.

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

Ну хотя бы покоцанный perl удалили - и на том спасибо.

Почти двадцать лет прошло, как он перестал быть частью системы сборки дистрибутива, а некоторые всё вспоминают…

Тогда это решение неправильно поставленной задачи.

Вот такой у нас POSIX. Обязан соответствовать ожиданиям. Другого предложить не могу.

Если бы можно было спокойно указывать зависимости…

Каким образом? Запуская POSIX систему, я ожидаю наличия cp, dd, iconv и pax, принимающие определенные ключи и аргументы. Как система узнает, что у меня есть такая «зависимость»?

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

Вот как раз библиотека — очень даже разделимая сущность. По определению. А операционная система — вовсе не множество независимых программ. Все компоненты увязаны, и исключение одного делает неработоспособными другие.

Кстати, поделитесь ссылкой на 5%. (Имеется в виду glibc?)

Моё Google-fu сильнее: “Programs are bloated. Our study shows that only 5% of libc is used on average across the Ubuntu Desktop environment (2016 programs)”.

baka-kun ★★★★★
()
Ответ на: комментарий от Rootlexx

Наличие предустановленного ПО, которое далеко не всегда нужно пользователю, - обратная сторона разработки FreeBSD как «complete operating system».

ой, я тя умоляю.:( там этого кода на 100мб.

crypt ★★★★★
()
Ответ на: комментарий от anti_win

На самом деле разница между UNIX и UNIX-подобиями скорее формальная, чем техническая.

линуксовый код менее портабельный (особенно, если использует _GNU_SOURCE) и завязан на GCC.

crypt ★★★★★
()
Ответ на: комментарий от te111011010

вот видишь, все-таки получается срач «лучше/хуже»:) Mac OS X - все-таки гибридная система, имхо. там непортабельность связана с его каким-то чисто маковскими компонентами, но сама glibc вроде стандартная.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от crypt

И что? Это не мешает сделать из линукса сертифицированный UNIX®, примеры имеются. Если заморочиться, возможно, из BSD тоже можно сделать сертифицированный UNIX®, но тут прецедентов нет (точнее, была попытка в виде FreeBSD C99 and POSIX® Conformance Project, но она не взлетела).

gremlin_the_red ★★★★★
()
Ответ на: комментарий от crypt

Inspur K-UX is a Linux distribution based on Red Hat Enterprise Linux produced by Inspur, a Chinese multinational company specializing in information technology. Inspur K-UX 2.0 and 3.0 for x86-64 were officially certified as UNIX systems by The Open Group.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от crypt

Тут в новости о FreeBSD 11 мне доказывали, что BSD круче линукса тем, что в ней ifconfig работает и для ethernet и для wifi и вообще супер-пупер, а в линуксе это делают разные утилиты. И, хоть лично я считаю unixway говном, на который можно и нужно класть, но такое поведение ifconfig злостно нарушает тот самый unixway, типа краеугольный камень той самой «философии UNIX».

gremlin_the_red ★★★★★
()
Последнее исправление: gremlin_the_red (всего исправлений: 1)
Ответ на: комментарий от gremlin_the_red

ну знаешь, так можно и от ls требовать, чтобы файлы показывала отдельная команда lsf, а директории lsd:) нет, с ifconfig как раз все правильно. управляет сетевыми интерфейсами. а вот netstat, который показывают и информацию о сокетах, и информацию о маршрутах, меня лично ставит в тупик.

crypt ★★★★★
()
Ответ на: комментарий от te111011010

хмм. кстати, я размышлял над тем же парадоксом, когда думал о переносе сознания на другой носитель.

darkenshvein ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.