на опечатки не обращайте внимание - торопился...
цитирую:
>> KA> Fedora Core
>>
>> Федорино Коре... или Горе... :)
>> А а за что красную шапку так обозвали?...
ну шапка, он из чего сделана? и фетра... дык, "fedora" в словаре
Мюллера: "мягкая фетровая шляпа", ну а "core" - 1> сердцевина;
внутренность; ядро; to the core насквозь 2> центр, сердце (чего-л.) 3>
суть; the very core of the subject самая суть дела 4> _тех. сердечник;
стержень 5> _эл. жила кабеля 2. _v. вырезать сердцевину
Как это перевести - вам, учившим английский мульон лет виднее, чем мне
англонемцу... :)
>> Эээ... Вот что меня давно интересует... В чем вся ета заточенность
выражается?...
>> Вроде как блин основное достоинство всех этих *nix - совместимость
архитектуры
>> и переносимость софта, а тут заточенность какая-то... Просвети
чайника? :)
Определенный дистрибутив поставляется с набором определнномго софта и
библиотек, а также у каждого свой подход к управлению пакетами
(установка/деинсталяция софта), а также сердце - разный подход к
организции скриптов загрузки (на самом деле их всего два: BSD и System
V). Еще следует учитывать, что каждый дистрибютор по своему смотрит на
безопасность.
Если мы будем собирать софт только просто из исходников:
$ tar xzf super_soft.tar.gz
$ ./configure
$ make
$ make install
То в принципе, все будет вставать (не всегда прямо) и работать (не
всегда без глюков). А в составе дистрибутива уже скомпилированный софт,
за стабильную работу (без глюков) должны отвечать дистрибьюторы. Они
должны гарантировать, что такая-то софтинка при наличии такой-то версии
такой-то библиотеки точно стабильно работает (на этапе сборки и
линковки программ из исходников брались соответствующие хидеры и прочая
хрень).
Помимо этого софт может быть устанволен в разноен место на диске: чаще
всего не сисемный (инстурментарий не необходимый на этпае загрузки)
ставится в /usr/bin или /usr/local/bin, но некоторые дисрибтивы считают,
что, например, софт будет смотреться в папке /opt. Т.к. это завсит от
того с какими опциями собран тот или иной пакет (на путь влияет опция
"--prefix", то тут фантазя может ринимать самые причудливые формы,
вплоть до создания папки "/ProgramFiles" :)
Что касается управления пакетами, то существует несколько основных
технологий: RPM, deb, обычная распаковка собранного софта и обычная
сборка софта с поледующей установкой.
RPM - RedHat Packet Manager начал свое шествие от RedHat и постепенно
привился ко многим другим: SuSE, Mandrake, ALT, ASP и др.
DEB - изобретение Debian-сообщества (кстати, Debian полностью
независимый дистрибутив - за его выпуск не отвечает никакая опреденная
контора, никакой определнный человек - дистрибутив разрабатывется
сообщестовом, а глава проета Debian выбирается раз в некоторое кол-во
времени)
При использовании этих двух технологий при установке автоматически
проверяется зваисит ли пакет от каких-либо других, и если зависит, то
они автоматически добавляются (или удаляются, если пакет с ними
конфликтует) - это гарантирует работоспособность дистрибутива в целом
(но можно и обходить зависимости на свой страх и риск)
Установка уже собранного софта - собранный софт (каждый отдельный пакет)
просто архивируется. Затем пользователем также просто разархивируется
(опреденной тулзой или простым архиватором), автоматичекси
устанавливаясь в опреденные каталоги на диске. Примеры: Slackware, Gentoo.
Сборка софта из исходников - здесь все понятно. По третьему способу
устанваливается какой-то необходимы минимум пакетов, остальные потом
можно собирать из исходников. В принципе, так можно поступить с любым
(почти) дистрибутивом, но есть и специально так и сделанные: Linux From
Scratch (вообще-то это не дистрибутив как таковой, а технология сборки
собственного Linux)
Хм. Теперь о скриптах загрузки - довольно старная вещь. Одни
предпочитают BSD-стиль - вся загрузка операционной системы описвывается
в специальных rc* - скриптах, т.е. если нужно что-то убрать или добавить
в процесс загрузки, то править нужно именно их (каждый скрипт
соответсвует опреденному уровню). Другие предпочитают SystemV-стиль: за
каждый сервис отвечает определнный скрипт из /etc/rc.d/init.d, если нам
нужно запускать этот сервис на определенном уровне, то мы создаем
символическую линку (симлинк) на нужный скрипт с буквой "S" в начале в
определенном каталоге, отвечающем за этот уровень /etc/rc.d/rcX.d, где
"X" - номер уровня; если мы хотим, чтобы скрипт не стартовал, то симлинк
должен начинаться с "K". Теперь если мы хотим перейти с одного уровня на
другой не перегружая системы, то все сервисы, помеченные как "K" на
новом уровне - остановятся, а "S" - стартанут.
Что такое уровни? "Уровни выполнения являются режимами работы init и
определяют выполняемые системные процессы и предоставляемые сервисы":
0 Выключение системы.
1 Однопользовательский режим. Без сети. Только консоль.
2 Нормальная работа (настраивается администратором). Считается,
что однопользовательский, но с сетью. Только консоль.
3 Нормальная работа (настраивается администратором).
Многопользовательский. С сетью. Только консоль.
4 или 5 Нормальная работа (запускается X Window System). Сеть есть. В
графике могут работть также несколько пользователей.
6 Перезагрузка.
И немного о безопасности. Например, в Fedora Core 2 и 3 ядро и критичные
пакеты собираютсся с поддержкой SELinux (набор заплаток и библиотек,
повышающих безопасность: например, запрет выполнения в сегменте данных).
В ALTLinux система иденетификации и аутентификации пользователей
заменена со стандартной на tcb (альтернативная схема управления теневыми
паролями) и т.д.
Вот вообщем такие вот "заточки"...
Еще один ответ на вопрос "Почему линуксов так много?": чтобы лучше
понять как устроен и работает Linux - создайте свой дистрибутив, благо
это не сложно.