Pull to refresh

Comments 73

Супер!
Вот бы такое еще про windows, про взаимодействие его различных подсистем...
Хочу...
В Windows настолько "смешались в кучу кони, люди", что уже одному богу только известно что входит в базовую систему, а что нет. Поскольку поставляется она только "в комплекте", то даже вопросов таких никто (кроме Европейской Коммисси) не ставит. Это и основное достоинство и основной недостаток Windows одновременно (сколько утилит не встают на MCE XP или W2K3? а они ведь представляют собой почти нормальную сборку XP с не очень большим количеством изменений).
W2K3 != сборка XP, версия ядра другая.
Да, Руссинович бесспорно крут.
Но хочется кратенько
кратенько не получится, виндоус - это слишком огромный раскормленный монстр.
Интересно, но тут или под конец дня голова не работает или стиль написания не очень способствует понимаю материала.

С нетерпением жду продолжения.
Здорово. Спасибо за статью. Раньше я думал, что во фре свой компилятор, наравне со своим мэйком.
Нет, хороший компилятор делать долго. да и вообще:
VANY:/usr/src/contrib$ls|wc -w
54

Единственное что - там сборщик и обфускатор загрузчика ядра свой - но это уже необходимость. а gcc, vi, less, и даже pf - лежат в контрибах.
В gentoo system - это просто набор пакетов, которые помечены галочкой "это-типа-важный-системный-пакет", не более того. Порты для разного железа содержат разные списки и никто вам не запретит заменить, скажем, glibc на uclibc (программы могут перестать собираться - но это уже другая история).
В Gentoo system - это просто список возможных базовых пакетов. При чем эти пакеты могут быть виртуальными. Из-за этого можно использовать разные пакеты, главное чтобы они могли предоставлять виртуальные пакеты. stage3 же это образ достаточный для установки Gentoo и не более :)

К тому же IMHO когда вам потребуется что-то отличное от базовой системы (я к примеру предопочитаю fcron и syslog-ng вместо vixile-cron и syslogd), то во FreeBSD вам прийдется серьезно сломать Базовую систему, так как она не допускает таких вещей. Так что базовая система эта палка о двух концах. С одной стороны она гарантирует одинаковое поведение, с другой стороны она ограничивает гибкость системы.
палка, то палка, но если говорить о стабильности то в случае с бздей, стабильность должна быть на ее стороне (есно если ты перед этим не ломал базовую систему)
С чего вдруг? Если не использовать нестабильные пакеты в gentoo, то система работает годами.
Как будто Gentoo maintainers не тестируют основные пакеты между собой на стабильность работы. =) За 1.5 года использования Gentoo (only stable, arch x86) только пару раз были проблемы с обновлением и работой. =)
а какие проблемы могут возникнуть с переходом, к примеру, на тот же syslog-ng? собрал из портов, поправил два конфига и пользуйся
http://habrahabr.ru/blog/bsdelniki/36674…
Приведите команды которые потребуются для этого. А так же меня интересует как вы собираетесь поддерживать все это в актуальном состоянии.
Не совсем так. freebsd имеет заметно более простую систему конфигурирования. заменить syslogd на что угодно другое очень легко, просто подправив пару конфигов. нет столь глубокой интеграции, какая помешала бы заменить postfix обратно на sendmail и при этом что-то сломать в системе. gnutar можно поставить рядом с bsdtar. и т.д.
Опишите как вы будете менять syslogd на syslog-ng и будет ли после замены удален syslogd и будет ли все нормально апдейтится?
Подробно описывать этот процесс не буду. Захочется узнать конкретику, сможете заглянуть самостоятельно. Удалить любой базовый компонент можно, за одно вычеркнув его из файла управления сборкой (make.conf) что отключит его сборку или установку при бинарном обновлении. Насчёт смены вызовов другого демона syslog из конфигурационных файлов я думаю вы поверите на слово. Также как и в тот факт, что никакие апдейты и программы в FreeBSD не меняют конфиги без спросу (что лично меня очень раздражало в некоторых дистрибутивах GNU/Linux).
В gentoo:
/etc/init.d/sysklogd stop
rc-update del sysklogd default
emerge --unmerge sysklogd
emerge syslog-ng
/etc/init.d/syslog-ng start
rc-update add syslog-ng default

В дальнейшем при апдейте system он так же будет апдейится. В случае FreeBSD вы такого сделать не можете просто потому что базовая система FreeBSD не позволяет изменять свой состав. Исключить из него вы что-то можете, а вот добавить нет.
Что в лоб, что по лбу. Не знаю как для вас, а для меня не столь важно апдейтится ли syslog с базовой системой или с портами. Не вижу здесь никакого повода для холивара.
Цитирую себя же:

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

Я вам привел пример чем system в Gentoo гибче базовой системы в FreeBSD. К тому же я не думаю что во FreeBSD замена штатного syslog на syslog-ng проще. Если хотите оспорить приведите то как это делается. В случае gentoo это выполняется за 6 команд.
похоже нам с вами друг друга понять не судьба. постараюсь больше вам не отвечать, чтобы не тратить зря ни ваше время ни своё.
Вы о чем вообще говорили? Я сказал, что базовая система FreeBSD менее гибкая чем system в Gentoo за счет фиксированного набора пакетов. Вы же начали говорить, что добавить, что либо в FreeBSD просто. Я вам привел 6 команд после которых у меня будет работать syslog-ng вместо обычного syslog и спросил как это делается во FreeBSD. То что это нельзя сделать с базовой системой это ежу понятно, но меня интересовало телодвижений которые необходимо сделать для достижения того же эффекта во FreeBSD. Вместо этого вы начали уходить куда-то в сторону.
Спорных моментов много. Как уже сказали выше, это ещё непонятно - минус или плюс, что существует жёсткая базовая система. Кому как удобно...
Ну .. если не ставить её на мобильник - то удобно.
Например отсутствует /proc - потому что он не нужен, утилиты, показывающие состояние системы есть в базе.
меня в дебиане например бесит отсутствие tcpdum, traceroute и bc =(
У меня tracepath называется.

bc тоже есть в Linux.
[I] sys-devel/bc
Available versions: 1.06-r6 ~1.06.95 {libedit readline static}
Installed versions: 1.06-r6(17:22:28 18.02.2008)(readline -static)
Homepage: http://www.gnu.org/software/bc/bc.html
Description: Handy console-based calculator utility

ХЗ как в Debian называется пакет. =\
Вот и я о том же, поставил дебиан, хочешь подключится к инету, нашёл грабли, а мягкая насадка на ручку грабель в апте, и не поймёшь как называется =)
С тех пор я дебианом не пользуюсь, мне ещё и второе kde не понравилось, но это частности.
tcpdump, traceroute, bc есть в дебиане.
Конечно есть, но если ставится с сидюка, на котором только essentials - то можно считать что их нету.
Вы не поверите, но пакеты так и называются, tcpdump, traceroute и bc соответственно (только что проверил). apt-get install tcpdump traceroute bc
Раскажу ка я печальную историю, как я не стал пользоватся дебианом:
Был у меня интернет через странный туннель и диск с дебианом.
И вот я его поставил и решил поставить себе всего, и не тут то было, туннель то странный, безпасатиж не разберёшься, вот и пришлось мне поставить фрю, с тех пор не жалуюсь, уж очень она мне нравится, хотя еслиб я тогда дебиан привинтил к интернету, может быть любил бы дебиан. Но - воля случая.Фряха мне не только пасатижи сразу дала, она ещё мануалы по gre поставила, с тех пор я её люблю и уважаю и апгрейжу пару раз в неделю =)
Если вы ставили с CD, который netinstall, то вы и получили ту самую "базовую систему", из которой если начать удалять пакеты, система станет неюзабельной. netinstall на то и "net", что сам по себе практически малополезен.
вот она базовая система :)
$ rpm -qa | grep basesystem
basesystem-8.1-1


спасибо, статейка понравилась, идейное различие и - самое главное - наличие выбора в мире opensource, пользуй, что больше по душе :)
Отлично. Просто великолепно. Мне как латентному Linux'ойду OS X'овцу. Было очень интересно.
Такое впечатление что прям для меня писали =)
Я не совсем понял пример с tcpdump-ом, gcc и вообще про FreeBSD-почти-копии, которые "уже прожили жизнь как часть системы".

Для меня неясно, как дублируется функциональность: то ли tcpdump был давным-давно форкнут в FreeBSD tcpdump и разработчики постоянно переносят изменения в свою ветку после каждого релиза в основной, то ли они делают копию основной после каждого релиза и проверяют, что изменилось, что поломалось какие из старых патчей уже не нужны и вообще проверяют на совместимость.
Тоже не понял про gcc. Он что, из других исходников собран?
да нет. автор хотел сказать, что это не собственно gcc или tcpdump, а их порты. всё, что писано под GNU/Linux работает в BSD в двух случаях:
1. бинарная эмуляция линукс.
2. портированное приложение.

про порты в следующем эссе.
tcpdump был влит в дерево исходных текстов и как утверждает его man-страница, "It is currently being maintained by tcpdump.org". Т.е. оригинальные разработчики сами поддерживают "BSD tcpdump"
Спасибо за статью. Всегда использовал Linux , но понять некоторые базовые принципы BSD было интересно. Однако есть комментарий :
- Вы говорите что в Linux не было разделения на базовую систему и дополнения. Но если говорить о конкретных дистрибутивах , то мы можем сказать что такое понятие есть. К примеру RedHat based. Путём rpm зависимостей мы получаем базовый набор пакетов который необходим для минимальной установки. Те и получаем тот же самый base. Понятие base в мире Linux устанавливается конкретным дистрибутивом и реализуется либо возможностями пакетной системы (rpm,deb ) либо другими методами (как stage в Gentoo ).
- Да, пакеты из которых состоит дистрибутив Linux не разрабатывется полностью дистростроителями. Однако, все пакеты не просто пересобираются м включаются в дистрибутив , они проверяются на работоспособность со всеми остальными и при необходимости дополняются нужными патчами, источник которых могут быть как создатели дистрибутива так и сторонние разработчики. Те пакеты не просто тупо пересобираются и включаются в дистрибутив. Да и само понятие "пакет со стороны" при успешно реализуемых распределённых моделях разработки, понятие уже довольно условное. Во-первых, сами создатели дистрибутива могут являться либо спонсорами либо авторами какого либо пакета (как dbus от RedHat ) и тогда понятие сторонний уже малоприменимо. Во-вторых, думаю что и в BSD мире конкретный разработчик пакета для BSD может и поддерживать такой же пакет для какого нибудь дистрибутива Linux (могу ошибаться конечно).
А в остальном , спасибо за интересный материал.
Это не минимальная базовая система. Спецификацию хотя бы прочтите :)
мда, базовая система... все такое... мое понимание - базовая система это то что написали под брендом BSD. Все остальное нахватали из других источников - FSF, apache foundation и др. В десктопной системе все это капля в море. Xorg/KDE/Gnome все равно общие и если будут баги то у всех.
Спасибо!
FreeBSD была моим первым дистрибутивом UNIX, который я увидел. Достойная операционная система, имеющая свою историю развития. Самая любимая ОС, если так можно выразиться :)
Кому как, а мне в Linux очень не нравиться разнобой в подходе к настройке разных дистрибутивов. Зачем банальные вещи, вроде запуска демонов, расположение некоторых файлов конфигурации и подобное делать по разному? К каждому дистрибу прилагаются персональные танцы с бубном, ибо создатели обязательно с чем-нибудь выпердрятся...
Да уж. В резюме надо писать "администрирование SuSe/Red Hat/Debian дистрибутивов Linux, FreeBSD. :)
А это для того, чтобы каждый сам для себя выбрал, как он любит танцевать:-)
отвечу строчкой из украинского стишка (автора не знаю):

Все із доброго чи злого, починається з малого ;)
Кто мне скажет - кому этом сайте выгодно разжигание холиваров?
ну не понятно почему вы про них вспомнили - я здесь ни одного холивара не вижу. Всё тихо-мирно.
UFO just landed and posted this here
=) Всё то же. На десктопе Ubuntu, на большинстве серверов — FreeBSD. На убунте сразу же сделал в конфиге апача Include /var/www/httpd.conf где в свою очередь инклудятся httpd.conf из каталогов каждого виртуалхоста. Не стандартно, зато очень удобно для разработки и хорошо автоматизируется. =)
Неправда ваша. Я вкусил этот плод первым из опробованных *nix'ов. Но когда в RELEASE не собираются порты -это выше моих сил.
UFO just landed and posted this here
откройте для себя mod_macro
для девелопмента также хорошо использовать виртхосты, основанные на mod_rewrite. тупо создал директорию с именем домена и вперед
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Просто типа FreeBSD это очень солидный дистрибутив с традициями. Не то што быстрые как грибы линуксы...

Но блин. Хороший дистриб линукса тоже "притёрт" старательно. И, может, свободы больше, ошибок и накладок больше — но зато единые соглашения! ) А минус столь консервативного стиля BSD очевиден — все свое, значит линуксоид чувствует себя в командной строке как в зазеркалье (бля неправильный линукс!), да и юниксоид настоящий думаю тоже (щит! неправильный юникс!). Ни то, ни се. Только изучать отдельно. Разве это хорошо для развития системы?
освоить командную строку BSD не так уж сложно. особенно линуксоиду. а что касается юникса, я начинал изучение linux/bsd именно через него, а точнее с книги армстронга "секреты Unix". для развития системы хорошо всё, что делает её лучше. а консервативного в BSD я не вижу ничего. это просто немного другой мир, который на первый взгляд кажется непривычным и неприветливым.
Весьма хорошо написано, но мне показалось, что написано с подтекстом в пользу BSD в данном случае, но возможно это просто мой не очень трезвый ум дает сбои.

А еще мне показалось, что написано в стиле: в BSD устроено так и вот так и вот так, ну а в линуксе не так. Понимаете? То есть акцент слишком сильно смещен в сторону BSD. При таком провакационном названии серии статей все-таки хочется видеть более тезисное сравнение одинаковой глубины, причем Ваши субъективные оценки тоже интересны, хоть и могут послужить причиной холивару.

"Тут так, а тут так. И я считаю, что так-то лучше потому-то".

Хотя, конечно, сама тема данной статьи неблагодарная, потому что в данном случае выделения реального, а не формального базиса в Linux очень зависит от конкретного дистрибутива. Может быть и солянка, может быть Debian, а может быть и вообще какой-то специализированный дистрибутив.

"Вы не сможете «пойти скачать BSD libc» где-нибудь, потому как в мире BSD libc сама по себе бессмысленна. ls сама по себе бессмысленна. Ядро само по себе бессмысленно. Система — это единое целое, а не собранные в кучу маленькие кусочки".
А в Linux разве не так? Разве ядро само по себе не бессмысленно? Разве ls сама по себе не бесмысленна в Linux? Или GNU libc?
Система это конечно же не собранные в кучу кусочки, собранные в кучу кусочки — это помойка. Так или иначе система состоит из каких-то модулей, даже самая монолитная. Набор кусочков (кубиков) становится системой, когда есть какие-то правила отбора этих кубиков и правила их взаимодействия и организации. При чем это работает на любом уровне. Как на уровне ядра (микроядра никто не отменял), так и далее.
я бы сказал что OpenBSD имеет гораздо более жесткие, а не широкие критерии включения приложения в base из-за требований к лицензии.
>> в мире Linux такого понятия даже не существует

еще как существует, только не во всяких мандривах и сьюзах, а например в Дебиане
+1
добавлю, что в редхатах тоже можно одной галочкой поставить минимальную инсталляцию, в которой будет примерно то же самое, по карйней мере все сетевые утилиты будут стоять
Ну и где продолжение цикла статей?
Я заждался уже.. :)
работа не волк, но иногда кусается... не серчайте!
а подскажите, чтобы собрать очень минималистичный очень специальный дистр (на компактные устройства, например), что удобнее — линукс или freebsd? и почему :)
FreeBSD переносится на заранее отформатированную флэшку простым копированием каталогов из настолькной системы и правкой ключевых конфигурационных файлов "по месту".
Так, 1ГБ флэшки будет достаточно для простенького демонстрационного "десктопа" с FreeBSD 7.0 и Xfce 4.4.2, но лучше приобрести 4ГБ и более для установки нужного программного обеспечения и полноценной работы.

Для Linux телодвижений побольше будет.
Sign up to leave a comment.

Articles