Slackware Linux 12.0 или новая версия старого знакомого

17 Янв
2008

Ремикс статьи с журнала Хакер

Если ты знаешь Slackware ты знаешь GNU/Linux,

а если ты знаешь Red Hat, то ты знаешь только Red Hat.

Дистрибутивов Linux сегодня развелось можно сказать уже достаточно, многим одни нравятся другие поддаются постоянной критике. Но есть пара-тройка дистрибутивов о которых отзываются скорее положительно, прощая все недостатки и неудобства (если они есть). 1 июля 2007 года был анонсирован девятнадцатый по счету релиз легендарной слаки Slackware 12.0. А почему бы и нам с ним познакомиться.


Немного истории

Историю Slackware Linux (www.slackware.com) принято отсчитывать с первого релиза, который появился на свет четырнадцать лет назад, а именно 17 июля 1993 года. С первых дней бессменным автором и идеологом проекта остается один и тот же человек – Патрик Волкердинг (Patrick Volkerding), который и выполняет большую часть работы, ведь комюнити Slackware на порядок меньше чем в Debian. Первая версия базировалась на дистрибутиве SLS Linux, который был на то время самым популярным дистрибутивом. В самом начале народ сам собирал из подручных приложений свой дистрибутив, ведь Торвальдс предлагал только ядро. Создатели SLS сочли это неудобным и пользователям было предложено не только само ядро Linux и основные утилиты, но и большой набор самого разнообразного программного обеспечения, включая XFree и стек TCP/IP. Все это поставлялось уже в скомпилированном виде, исходный текст прилагался только для самых основных компонентов вроде ядра. Эта идея вместе с системой установки пакетов, а также простотой устройства и стартовыми скриптами BSD стиля перекочевало в Slackware. И можно сказать дожило до наших дней с незначительными изменениями. И вероятно это один из тех факторов, которые любят в слаке многие пользователи и администраторы. Линия разработки дистрибутива постоянна и логична, нет резких рывков из стороны в сторону присущих модным решениям. Нет, один раз все-таки был. В 1999 году, чтобы показать, что Slackware такой же современный дистрибутив, как и все остальные, после номера 4.0 был использован 7.0. Кстати разочарование в SLS побудило и Яна Мердока взяться за Debian. Свое имя Slackware получил от слова Slack, в честь одноименной фанк группы 80-x.

Slackware построена на трех китах: простота (принцип KISS — Keep it simple, stupid), стабильность и безопасность. Релизы выходят относительно не часто, в среднем раз в год, зато все тщательно протестировано и отлажено. Одновременно развиваются две ветки:

- Stable – стабильный релиз, которому присвоен номер, изменения производятся только в исключительных случаях;

- Current – текущее дерево разработки, измененеия сюда вносятся практически ежедневно, через некоторое время она становится stable.

Кроме Intel x86 официально поддерживается только архитектура IBM S/390 (Slack/390). Хотя есть неофициальные порты ARM, Alpha, SPARC, PowerPC и x86-64. Последних два — Slamd64 (slamd64.com) и Bluewhite64 (www.bluewhite64.com). По умолчанию GNOME не поддерживается, но существуют специальные проекты — dropline GNOME (www.droplinegnome.org), Freerock GNOME, GWARE предлагающие Slackware с этим рабочим столом или пакеты для его установки. Раз уже пошел разговор о дистрибутивах базирующихся на слаке следует вспомнить и DeepStyle (deepstyle.org.ua), который представляет собой локализованную версию Slackware, а также самый дружественный (и быстрый) из семейства Slackware – канадский (VectorLinux).

Что нового в 12.0?

C момент выхода предыдущей версии 11.0 прошло ровно 9 месяцев, для Slackware это обычный темп выхода релизов, но и работа за это время проделана немалая. Дистрибутив попрощался с с веткой ядра 2.4 и теперь в его основе лежит ядро 2.6.21.5, с поддержкой ATA и Software RAID, LVM, шифрованных файловых систем и X DRI для работы 3D ускорения видеокарт. Для того чтобы с дистрибутивом мог работать пользователь с плохим зрением, в ядро также добавлен специальный патч для поддержки синтезаторов речи. Как и раннее в дистрибутив Slackware включено несколько ядер, для работы можно выбрать любое или скомпилировать по подобию используя заранее подготовленный .config файл. Ядра лежат в каталоге kernels первого диска. Большой список ядре сейчас сокращен до пяти:

- hugesmp.s – ядро используемое по умолчанию и поддерживает мультипроцессорные системы и HyperTreading, все составляющие скомпилированы вместе с ядром поэтому его размер равен 4,5 Мб, требует как минимум Pentium-Pro и является рекомендуемым для большинства случаев, в том числе и для однопроцессорных машин;

- huge.s – сборка аналогичная hugesmp.s, но поддерживающая один процессор и рекомендуемая для старых систем с процессором класса i486 и 48 Мб ОЗУ;

- speakup.s — сборка аналогичная huge.s, но с патчем поддерживающим синтезаторы речи;

- gensmp.s – сборка по параметрам аналогичная hugesmp.s, но все параметры вынесены в модули, для его работы потребуется initrd, иначе udev не сможет загрузить модули;

- generic.s – версия huge.s с использованием модулей, также требует initrd.

Все ядра изначально поддерживают SCSI устройства и популярные файловые системы (XFS, JFS и прочие), поэтому как в более ранних версиях уже не нужно подбирать ядро под эти параметры.

В новом Slackware в качестве X-сервера использован более гибкий X.Org 7.2.0 имеющий модульную структуру, с графическими оболочками Xfce 4.4.1 и KDE 3.5.7, хотя на диске есть и другие. Использование UDEV и HAL, упрощает настройку железа, да и администратору достаточно добавить пользователя в группу cdrom и plugdev, чтобы он мог подключать USB устройства и монтировать CD/DVD. В качестве компилятора по умолчанию для C, С++, Objective-C, Fortran-77/95 и Ada 95 использован GCC 4.1.2, а Glibc версии 2.5 имеет неплохую совместимость с уже откомпилированными приложениями.

Особо разработчики отмечают улучшенную поддержку широкого спектра периферийных цифровых устройств. Работает все, что нужно для беспроблемной работы Slackware на ноутбуке: PCMCIA, CardBus, USB, IEE1394 (FireWire) и ACPI. Используя скрипт slackpkg, пользователи могут обновить версию 11.0 до 12.0. Вся эта долгая и весьма запутанная процедура описана в файле CHANGES_AND_HINTS.TXT, мне кажется на много проще установить дистрибутив заново, сохранив предварительно нужные файлы.

Установка Slackware

Установка дистрибутива мало изменилось с моего первого знакомства, пока расскажу коротко. Системные требования дистрибутива так же остались не велики. И на сегодня, вероятно являются самыми низкими среди остальных дистрибутивов ориентированных на настольное применение. Для работы потребуется компьютер класса i486, хотя при построении пакетов для улучшения производительности в более новых системах используется -mcpu=i686 оптимизация. Объем оперативной памяти и размер диска зависит от планируемых задач и использования X. Список зеркал, с которых можно получить дистрибутив, можно найти по адресу slackware.com/getslack. Возможна закачка через HTTP, FTP и BitTorrent. По сравнению с версией 11.0 дистрибутив заметно прибавил в весе. Теперь для закачки предлагается 6 CD (3 установочных и 3 с исходными текстами) или 1 DVD диск. Традиционно на диске размещены инструменты, позволяющие загрузить Slackware практически в любой ситуации: создать загрузочную дискету, Loadlin, PXE или USB. Последние можно найти в каталоге usb-and-pxe-installers расположенном на втором диске.

Итак загружаемся, после появления приглашения жмем Enter для загрузки hugesmp.s или вводим в строке приглашения нужное ядро. Через некоторое время система попросит выбрать раскладку клавиатуры, по умолчанию предлагая US, оставляем вариант предлагаемый системой. Регистрируемся, как root без пароля и получаем приглашение интерпретатора. Разработчики не занимаются такой ерундой, как программа установки, которая нормальному юзверю ;) нужна к тому же только один раз. Поэтому вид черной консоли обычно вызывает легкий обморок у новичков и чувство спокойствия у профи. Если разделы для установки Slackware заранее не подготовлены создаем их с помощью cfdisk, fdisk или parted. У кого есть PCMCIA устройства активирует их введя “pcmcia”, если во время установки нужна сеть вводим “network”. Чтобы начать собственно установку, вводим “setup” и попадаем в ncurses меню, которое содержит 9 пунктов (рис.1).

меню установки

Переходим в KEYMAP, где выбираем раскладку клавиатуры (например qwerty/ru_win.map), для подтверждения выбора, в следующем окне нажимаем «1″. В пункте ADDSWAP указываем на свап-раздел и форматируем его, программа установки найдет его на диске сама. После этого программа перейдет к пункту TARGET, в нем необходимо указать сначала на раздел, который будет корневым. Выбрав в следующем окне Format производим быстрое форматирование. Из файловых систем для форматирования предлагается ext2/3, ReiserFS, XFS и JFS.

выбор файловой системы

Далее аналогичную операцию проводим и с остальными разделами, указывая точки нужные монтирования. Для перехода к следующему шагу выбираем Continue. При наличии FAT и NTFS разделов программа предложит занести данные о них в /etc/fstab. Заносим, все же не вручную потом вбивать. Просто отмечаем раздел и указываем точку монтирования. Далее программа предложит выбрать источник установки указываем CD-ROM. Хотя возможны и другие варианты: жесткий диск, NFS или смонтированный каталог. И переходим к выбору групп пакетов. Исторически сложилось, что все пакеты в слаке распределены по “disk sets”, что позволяло не рыскать в куче дискет, а сразу выбрать для установки нужную. Теперь же это используется, для того чтобы структурировать программное обеспечение. Чтобы локализовать KDE не забудьте отметить KDEI. Отметив нужные группы идем далее, теперь нужно указать режим установки. В самом простом случае выбираем full и идем пить чай, будут установлены все пакеты в отмеченных группах, для чего понадобится около 4,5 Гб места на диске. При выборе варианта newbie программа установит только основные пакеты, а на счет остальных будут заданы вопросы об их необходимости их установки. Придется немного понажимать клавиши, но зато можно будет выбрать то, что действительно нужно. Остальные варианты предназначены скорее для профи поэтому трогать их не будем. После чего программа собственно и начнет установку. По мере необходимости будут запрошены и остальные диски (если это не DVD). Есть один момент о котором нужно знать. В моем случае инсталлятор повел себя несколько странно. Пожужав приличия ради пару минут, каретка привода выехала и был запрошен следующий диск. Второй диск был считан за минут пять, а третий был практически не тронут. После перехода к последнему пункту, инсталлятор дальше работать отказался, сославшись на то, что не может найти некоторых утилит. Проверка заполнения раздела показала, что установлено только 1 Гб, то есть не все. При повторной установке ситуация повторилась, тогда на запрос следующего диска я вместо второго оставил в приводе первый. После этого установка прошла успешно, раньше установщик так не шутил.

После установки последние настройки. Теперь указываем пароль для root, настраиваем загрузчик LILO. Если тебе по душе GRUB можно пока пропустить этот пункт выбрав Skip. Затем загрузившись с диска устанавливаем GRUB который находится в каталоге extra на 3 диске и запускаем скрипт «grubconfig», который сделает все необходимое. Настраиваем модем, мышь, клавиатуру, сеть, выбираем часовой пояс, указываем на оконный менеджер который будет загружаться по умолчанию. В списке оконных менеджеров кроме KDE и XFce присутствуют fluxbox, blackbox, WindowMaker, FVWM2 и twm. Из новинок, было предложено создать загрузочный USB диск, что вполне логично, так как все ядра кроме generic на дискету не поместятся, да и дискеты уже отмирают.

Все. Slackware установлен. То есть ничего лишнего, но зато все просто и слака в отличие от других дистрибутивов ставится всегда, за исключением кривых ручек конечно. Никаких капризов инсталлятора, зависимости от оборудования и прочего. Те кто хоть раз пытался установить LiveCD Ubuntu или Mandriva, когда не определяется видеокарта оценят эту простоту.

Загружаемся

Первая загрузка происходит как принято тоже в консоли. Почта root’a, содержит два письма. В первом попросят зарегистрироваться как пользователь Linux на сайте counter.li.org, во втором, Патрик кратко рассказывает об особенностях работы дистрибутиве, многие вопросы после его прочтения отпадут сами по себе. Если ввести сейчас “startx” запустится X-Window с оконным менеджером выбранным при установке. Работать он будет в режиме framebuffer, что с одной стороны хорошо, так как работает эта штука всегда. Но работает он довольно медленно, да и частота развертки не очень. Поэтому далее необходимо настроить X-сервер в ручную. Для этого используются утилиты «xorgcfg», «xorgconfig» и «xorgsetup». Последняя вероятно покажется самой удобной. Как вариант можно просто ввести в консоли:

# X -configure

И попробовать загрузиться с новым файлом.

KDE в слаке

Чтобы вместо KDE по умолчанию стартовал другой оконный менеджер, например XFce (рис.4) можно использовать утилиту xwmconfig, или просто подправить символическую ссылку на файл /etc/X11/xinit/xinitrc.

XFce

При необходимости загрузки сразу в графическом режиме, в файле /etc/inittab меняем цифру 3 в строке id:3:initdefault на 4.

Вывод “glxinfo” показал, что “direct rendering: Yes”. Поэтому в слаке сразу можно запускать трехмерные игры.

Как и ранее любая графическая среда оставлена в таком виде как она предлагается самими разработчиками. Ни каких эффектов, ни каких красивых обоев и тем. Все эти украшательства отданы на откуп самому пользователю, который сам будет принимать решение как будет выглядеть его рабочий стол. Вероятно как дань моде стоит отметить появление скорее в списке пакетов 3D Compiz. Да и для повседневной работы следует обязательно завести еще одного пользователя, ни кто за вас этого делать не будет.

Программы и управление пакетами

Дистрибутив содержит около 800 пакетов (для сравнения в Ubuntu — 21000), состав которых способен удовлетворить большиснтво пользователей и администраторов. Здесь Mozilla Firefox Thunderbird 2.0.0.4, SeaMonkey 1.1.2, Apache 2.2.4 с php 5.2.3, Mysql 5.0.37, проигрыватели, программы для записи дисков, работы с графикой и прочие. Система управления пакетами позволяет пользователю устанавливать, обновлять или удалять пакеты так же легко, как и аналогичные системы других дистрибутивов. Но в отличие от них никакие зависимости между пакетами по-умолчанию не отслеживаются, хотя такая возможность имеется. Все программы управления пакетами Slackware находятся в пакете pkgtools. Так для установки пакетов вводим installpkg package.tgz, здесь обратите внимание, что пакеты для Slackware имеют расширение архива созданного утилитой tar и сжатой bzip, а они по своей сути им и являются при этом пакет устроен таким образом, что он может быть развернут в корневом каталоге файловой системы. Для апгрейда, удаления пакетов применяем соответственно upgradepkg или removepkg.

Пользователи Debian привыкшие к APT найдут систему пакетов несколько неудобной. Приходится заранее скачивать пакет, а потом его устанавливать. Но сейчас существует несколько настроек позволяющих автоматизировать процесс обновления системы прямо по сети и отслеживающих зависимости пакетов: slapt-get, swaret, slackpkg. Эти пакеты не входят в стандартный набор, но slackpkg доступен в /extra.

# cd /mnt/cdrom/extra/slackpkg

# installpkg slackpkg-2.61-noarch-2.tgz

Теперь раскомментируем в /etc/slackpkg/mirrors одно из зеркал, вводим “slackpkg update” и устанавливаем пакеты как в APT. Кроме этого много готовых пакетов можно найти в неофициальных репозитариях — linuxpackages.net, slacky.eu, SlackBuilds.org.

Если скопилось много rpm пакетов, то они тоже не пропадут, используя утилиту rpm2tgz, можно их перестроить. Утилита slacktrack (в extra) поможет тебе создать свой пакет из откомпилированного приложения.

Итак не смотря ни на что Slackware остался Slackware. Перед нами старый знакомый, с обновленными приложениями работающий также стабильно и требующий таких же усилий по его окончательной доводке, как и прежде. В этом его слабость и в этом его сила. Кроме многочисленной документации на дисках и сайте, для изучения понадобится официальное руководство “Slackware Linux Essentials” которое доступно по адресу www.slackbook.org< .noindex>. Ну и гугл, ведь все, что написано для более ранних версий Slackware будет почти на 100 % действительно и для 12.0. Linux forever!

4 Комментариев к Slackware Linux 12.0 или новая версия старого знакомого

Аватар

Tixic

Март 23rd, 2008 | 10:57

Прочел я твоё описание. Молодец что собрал инфу, перепорбовал дистры. Особонно полезна информация о инсталляторе — читатели теперь не будут наступать на те-же грабли (я о проверке «второго» диска). Сейчас вот заразился — хочу слаку попробовать, уже третий диск с инета качаю ;-)
Пятый год в дебиане — думаю с слакой справлюсь, тем более что мне хотелось узнать линукс как он изнутри и по-лучше, по возможности.

Аватар

Silvy

Апрель 3rd, 2008 | 16:46

Насчет пакетов .tgz
Это не просто архив, там еще есть каталог install/
с скриптом doinstall.sh
который выполняется при установке пакета, об этом тоже не стоит забывать =)

Аватар

iakim

Апрель 14th, 2008 | 20:59

Браво момчета Страхотна информация
Поздрави
Яким
България

Аватар

Linuxoid - все что знаю о Туксе » Архив блога » Обзор Arch Linux 2008.06: Overlord

Сентябрь 14th, 2008 | 21:44

[...] обзоры Обзор Mandriva 2008 Обзор PCLinuxOS 2008 MikroTik – Router OS Slackware Linux 12.0 Fedora 8 Vyatta Linux Vector Linux Sabayon Linux — 3.4 Debian 4.0 gOS — [...]

Комментировать

Наверх