KblCb — Slackware - дистрибутив без концепции...
О проекте Slackware Linux...
Slackware старейший из ныне существующих дистрибутивов GNU/Linux. У него очень интересная и в чём-то поучительная история, которую все желающие могут почитать в интернете. Упомяну лишь то что в Slackware пакетный менеджер появился лет на десять раньше чем в Ubuntu. В основе построения системы лежат принципы KISS (Keep it simple, stupid), в методичности соблюдения которого разработчики Slackware уступают разве что разработчикам Crux Linux, и вере в то что пользователь как никто другой понимает чего он хочет. Простота Slackware это: вся системная инфраструктура (начиная от пакетного менеджера и заканчивая системой инициализации) состоит из хорошо прокомментированных шелл-скриптов. Во многом именно по этому Slackware рекомендуют новичкам: на его примере очень легко понять базовые понятия лежащие в основе большинства современных дистрибутивов.
О структуре Slackware Linux...
На сегодняшний день Slackware Linux официально поддерживает три архитектуры: i486, x86_64 и arm. Строгого релизцикла у Slackware нет. Официально новая версия выходит тогда "когда будет готова", но обычно это случается раз в год. Разработчики придерживаются принципа "многие апдейты - многие печали", так что для уже вышедших релизов выпускаются только апдейты безопасности (к слову они до сих пор выпускаются для релиза вышедшего в 2004 году). Для тех кто хочет обновлять софт чаще чем раз в год существует current - специальная ветка которая "когда будет готова" станет релизом. Особая магия Slackware состоит в том что и current-ветка весьма стабильна, хотя считается тестовой и соответственно вы используете её на свой страх и риск в квадрате. Как достигается такая стабильность? За репозиторием Slackware следить очень просто потому что он весьма мал (порядка 1000 пакетов вместе с исходниками умещаются на 4G). Это правда несколько компенсируется коллекцией SlackBuild'ов (скриптов для сборки пакетов) на slackbuilds.org, которая наполняется сообществом и сопровождается одним из разработчиков Slackware.
О пакетах в Slackware Linux...
В current-ветку как правило включаются самые актуальные версии ПО если разработчики (читай Патрик) находят их достаточно стабильными. Так в своё время Slackware одним из последних перешёл на ветку ядра 2.6.хх, KDE4 не был включён ни в релиз 12.1, ни в релиз 12.2 несмотря на то что многие разработчики KDE "выбирают Slackware", а такой популярный DE как GNOME был удалён из репозитория совсем из-за слишком частого упоминания в багрепортах (зато сборка KDE в Slackware объективно стабильнее чем в GNOME ориентированных дистрибутивах).
Ещё один пунктик Slackware это ванильное ядро. Не вполне очевидное преимущество, но благодаря тому что система не использует специальных ядер вы сами можете легко менять ядро сами, накладывать необходимые патчи, повышать и понижать версию, что не всегда удобно на более строгих бинарных дистрибутивах. Кроме того та самая мифическая скорость системы во многом достигается именно отсутствием в ядре таких патчей как SELinux и AppArmor.
Внимание: в Slackware из коробки работают все аудио и видио кодеки.
О пакетном менеджменте и файлопомойке в Slackware Linux...
Пакетный менеджер в Slackware (более известный как pkgtools) не умеет разрешать зависимости и не умеет контролировать версии. По сути он умеет четыре вещи: показывать красивый список установленных пакетов, удалять указанный пакет, устанавливать указанный пакет и заменять один указанный пакет другим указанным пакетом (к слову любой на любой вне зависимости от имени). Добавьте к этому утилиту makepkg, которая по одной команде превращает любое файловое дерево в валидный пакет (пакет в Slackware не содержит никакой метаинформации) и вы получите всё представление о пакетном менеджменте в Slackware. Однако для системы с таким маленьким репозиторием больше и не надо: в официальных пакетах особо не запутаешься, а корректно разрешать зависимости неофициальных пакетов практически невозможно. Недостаток официальных пакетов легко компенсируется простотой сборки собственных пакетов. Например попытка распаковать какую-нибудь бинарную сборку проприетарной программы в /usr/local или в /usr является грубым нарушением slackware-way, в соответствии с которым следовало бы эту программу обернуть в пакет и установить при помощи менеджера пакетов.
Сравнительно недавно в дистрибутив включена утилита slackpkg, являющаяся фронтендом к pkgtools и умеющая делать ровно столько же, но с сетевым репозиторием.
Кому же в конце концов нужен Slackware Linux?
Как я писал в начале Slackware это дистрибутив без какой-либо ярко выраженной концепции. В те времена когда он создавался перед ним ставилась тривиальная задача: уметь загружать систему, уметь разделять систему на компоненты и не мешать запускать программы (так как захочется и такие какие захочется). В итоге получился LFS для ленивых: всё собрано, но можно разобрать или дособрать.
Кто этим пользуется? Во-первых люди привыкшие к тому что всё работает (да ещё и на старых железках) и ничего никогда не меняется. Во-вторых люди в той или иной степени желающие странного. Например те кто не готовы ждать даже ебилдов для того чтобы попробовать самую новую версию любимого DE. Или те кто хотят работать с двумя версиями программы одновременно. Или ещё что-нибудь трудно реализуемое автоматическими системами управления пакетами. Наконец те кому нужна специальная сборка системы под какие-то задачи: на базе Slackware созданы такие замечательные системы как Slax (пожалуй лучший десктопный "живой" дистрибутив) и RIPLinuX (мощный recovery диск). Ну и конечно же меломаны. Have fun. :^)