Red Hat: совсем для всех?
Red Hat: совсем для всех?
Если Slackware продолжил исконно UNIX’овую традицию систем для себя, а Debian являет собой первый пример дистрибутива, развиваемого сообществом и для сообщества, то следующим шагом дистроения стало создание дистрибутива, претендующего быть системой для всех.
Ибо тем временем обозначилась первая сфера практического применения Linux за пределом круга разработчиков программного обеспечения – сервера сетевых служб, в том числе – web-сервера. Это вызвало к жизни вторую волну дистрибутивов (правда, по времени она практически пересеклась с первой – но в те героические годы счет вёлся на месяцы, если не на дни). И первой ласточкой её стал Red Hat, который м создавался как дистрибутив «для всех» – хотя, конечно, под понятие «все» тут попадали в первую очередь администраторы компьютерных сетей (время Linux’а для конечного пользователя ещё не пришло). Но важно, что Red Hat представлял собой не набор для конструирования собственной системы, как Slackware (да и Debian в те годы, до разработки apt, также скорее предполагал собственное конструирование, нежели готовое решение), а попытку создания системы, работающей «из коробки».
Было время на Руси, когда
Говоришь Linux – подразумеваешь Red Hat. Говоришь Red Hat – подразумеваешь Linux.
Дистрибутив Red Hat – третий в ряду ныне живущих патриархов дистроения, после Slackware и Debian (хотя, повторяю, приоритет тут исчисляется первыми месяцами). Он разрабатывается с 1993 года, в октябре 1994 года появилась первая общедоступная бета-версия, а в мае 1995 года – первый официальный релиз.
В отличие от Slackware, созданного и развивавшегося кустарём-одиночкой с персональным компьютером, и Debian, вокруг которого быстро сложилось сообщество разработчиков, за Red Hat с самого начала его разработки стояла одноимённая коммерческая компания. Основали её Боб Янг (Bob Young) и Марк Юинг (Marc Ewing) в 1993 году, имея целью поставить свободное слово на службу мировому капиталу.
Происхождение названия дистрибутива (красная шляпа) и соответствующего логотипа объясняют тем, что Юинг в студенческие годы рассекал по колледжу в дедушкином шапо соответствующего колёру. Хотя Янг объясняет его тем, что красный цвет в дзэн-буддизме символизирует всякие хорошие качества.
Это была первая попытка монетизации свободного софта: сам дистрибутив распространялся свободно, в соответствие с лицензией GPL, и бесплатно (по цене носителей и доставки), деньги же предполагалось извлекать из технической его поддержки. А поскольку оплачивать таковую обычно готовы не частные лица, а организации, то Red Hat изначально был ориентирован на корпоративную сферу – во-первых, и на дружелюбие к пользователю – во-вторых.
Правда, следует учесть, что хотя шире стал круг пользователей, но связь их с народом не стала особенно ближе: расширился он за счёт сисадминов, до приобщения к Linux’у пользователей «простых» оставалось ещё несколько лет.
Настоящие сисадмины, как известно, люди занятые – с одной стороны, и ленивые – с другой. Возиться с конструированием системы им обычно не с руки. И потому Red Hat с самого начала отличался простотой установки – максимально возможной в те времена.
Значительную роль в упрощении процедуры установки и поддержки сыграл формат пакетов RPM (что тогда расшифровывалось как Red Hat Package Manager) и одноимённая утилита для манипулирования такими пакетами, способная отслеживать зависимости и сообщать об их нарушении (но ещё не разрешать их автоматически). По сравнению с молчаливым пакетным инструментарием из Slackware, способным установить неработоспособную, из-за нарушения зависимостей, программу, это казалось большим прогрессом.
Происхождение системы rpm (будем понимать под этим и набор утилит, и формат пакетов, с которыми они работают) теряется во мраке веков. В первых версиях Red Hat использовалась система RPP, обеспечивающая установку пакетов одной командой, проверку зависимостей и запрос информации о них. Однако сборка пакетов для неё требовала существенной модификации исходников, что было напряжно для разработчиков.
Параллельно раннему Red Hat некоторое время развивался дистрибутив Bogus, ныне мало кому известный. В нём имелась собственная пакетная система – PMS (Package Management System), написанная Рикардом Файтом (Rikard E. Faith). Она обладала слабым механизмом запросов информации о пакетах, а проверка их зависимостей просто отсутствовала. Но зато пакеты для PMS можно было собирать непосредственно из исходников, без всякой их модификации.
В ходе подготовки 2-го релиза Red Hat Рикард Файт вместе с Дугом Хоффманом (Doug Hoffman) по контракту с поименованной компанией написали систему PM, вобравшую в себя лучшие особенности RPP и PMS. Хотя практически она так и не была задействована, но послужила одной из основ для RPM.
Собственно система RPM была создана Марком Юингом и Эриком Троэном (Erik Troan), основываясь на всех достижениях предшественников – RPP, PMS и PM. Вариант её, подготовленный для тестовых версий второго релиза, быстроты ради был написан на Perl’е, что создавало ряд проблем, например, при загрузке с дискеты (а в те времена это было достаточно обычным способом старта Linux’а). И непосредственно к выходу релиза Red Hat 2.0 система была полностью переписана на C, база данных пакетов перепроектирована для пущей надёжности и быстродействия, и создана библиотека rpmlib для использования функциональности RPM сторонними разработчиками. Иными словами, система RPM приобрела практически тот вид, в каком мы знаем её ныне, подвергаясь с тех пор только корректировке ошибок и косметическим доделкам.
Система RPM и одноимённый формат, став штатными и общедоступными в релизе Red Hat 2.0, вышедшей в сентябре 1995 года, сразу завоевали популярность и вне родительской системы. Вскоре они были использованы в Caldera Linux, Suse, Mandrake и многих других – и об этом будет говориться в следующих сериях.