Slackware

Slackware - один из старейших дистрибутивов GNU/Linux. Он отличается от других популярных дистрибутивов (таких как Debian, Ubuntu, Mandriva, RedHat/Fedora и OpenSUSE) тем, что Slackware был и остаётся "самым UNIX'овым" - его чертами являются стабильность и безопасность, а также некоторая аскетичность.

Помогите установить Slackware, пожалуйста!

Думается, что эта статья должна решить вашу проблему - [1]

/* FIXME: Написать отдельную статью со скриншотами, описывающую установку слаки */

Как русифицировать?

Этот вопрос часто задают потому, что это один из немногих популярных дистрибутивов, в котором он еще не решен "из коробки".

Русификация Slackware 12, 13 с UTF-8

Также можно использовать один из русскоязычных клонов (AgiliaLinux, DeepStyle) или клон Slackware, поддерживающий локализацию на этапе установки (например, Salix OS). В особо тяжелых случаях рекомендуется пойти в поиск - там найдутся ответы.

А есть ли в Slackware менеджер пакетов?

Да. Не слишком навороченный, но со своими функциями вполне справляется.

Установить новые пакеты, удалить, просмотреть список установленных, а также провести базовую настройку системы (мышь, сеть, временная зона и т.д.) можно с помощью утилиты pkgtool. Не хуже с этими процедурами справляются и отдельные утилиты - installpkg, removepkg или upgradepkg.

Так, например, для того, чтобы обновить glibc можно сделать (предварительно прочитав UPGRADE.TXT):

root@linux# upgradepkg /root/slackware/a/glibc-solibs-*.tgz

А для обновления всей системы с установкой новых пакетов:

root@linux# upgradepkg --install-new /root/slackware/*/*.tgz

Правда при этом поставятся все пакеты нового дистрибутива.

В каталоге /ap присутствует фронтенд для pkgtools - slackpkg. Также весь функционал slackpkg предоставляет фронтенд к целому ряду популярных пакетных менеджеров под названием smartpm. Дополнительно можно установить фронтенды с поддержкой зависимостей пакетов swaret и slapt-get. Для сборки пакетов из исходников есть sbopkg.

Для pkgtools так же существовал графический интерфейс на Qt - SlackIns, а для slapt-get и сейчас существует - gslapt.

Как создать пакет?

Написать SlackBuild, скрипта для сборки пакета - [2]. Таким способом собираются пакеты в основной системе, можно залезть в /source и посмотреть примеры.

С помощью утилиты makepkg, где-то так:

user@linux:~$ cd /usr/src/program_name
user@linux:/usr/src/program_name$ ./configure
user@linux:/usr/src/program_name$ make
user@linux:/usr/src/program_name$ su
root@linux:/usr/src/program_name# make install DESTDIR=/tmp/program_name
root@linux:/usr/src/program_name# cd /tmp/program_name
root@linux:/tmp/program_name# makepkg ../program_name-ver-arch-build.txz
root@linux:/tmp/program_name# cd ..
root@linux:/tmp/program_name# installpkg program_name-ver-arch-build
root@linux:/tmp/program_name# cd && rm -R /tmp/program_name

Если ничего из вышеперечисленного не нравится, использовать src2pkg.

Где взять Gnome?

Несмотря на то, что Патрик начиная с версии 10.2 удалил Gnome из дистрибутива, на данный момент существуют сторонние сборки гнома для Slackware:

Следует помнить что Dropline дополнительно устанавливает в систему PAM и заменяет некоторые системные пакеты из категорий l/, x/ и xap/.

Экстремалы могут воспользоваться системой сборки Garnome

Где найти готовые пакеты?

На [3] и [4]. Для поиска пакетов можно воспользоваться сайтом [5]

Оба репозитория можно подключить к slapt-get и swaret, для этого читайте faq на соответствующих сайтах

Множество готовых SlackBuild'ов лежат на [6], с их помощью можно легко и просто собрать программу с нужными опциями, достаточно лишь положить в ту же директорию архив с исходниками и запустить скрипт

Те, кто не боятся проблем, могут использовать Slackware Current - текущее состояние разработки дистрибутива.

Плюс еще несколько дополнительных репозиториев:

Еще есть [7], на котором собрано довольно много из выше перечисленных бинарных пакетов и скриптов SlackBuild (имеются также альтернативные сборки Gnome).

Кроме того можно брать пакеты из Zenwalk и, вероятно, Vector Linux (новые пакеты сжимаются lzma и имеют расширение .tlz. Установка .tlz пакетов требует наличие Slackware версии старше 12.2. Slackware 13.0 использует второе поколение lzma - xz , пакеты для 13-й версии имеют расширение .txz)

Существует ли версия для x86_64 и других платформ?

Официально Slackware поддерживает x86, x86_64 (начиная с релиза 13.0), S/390 и ARM. Существуют также неофициальные версии дистрибутива для x86_64 и других платформ:

x86_64:

Macintosh/PowerPC:

SPARC:

ARM:

А как же дистрибутивы, основанные на Slackware?

Есть и такие. Вот небольшой список наиболее популярных форков:

Vector Linux - Нацелен прежде всего на офисные рабочие станции.

Zenwalk - Бывший MiniSlack, десктопный дистрибутив, ориентированный на маломощные ПК. В качестве основной графической оболочки - XFCE

DeepStyle - Украинский форк Slackware, отличается поддержкой русского и украинского языка "из коробки". Так же содержит множество пакетов, отсутствующих в оригинальной дистрибутиве.

Slax или его форк Porteus - Один из лучших LiveCD и имеет возможность установки на жесткий диск. Знаменит легкостью внесения изменений (на одном лишь оффсайте находятся сотня дополнительных пакетов с модулями ядра и дополнительным ПО) и скромным размером (помещается на mini-cd). Существует в нескольких редакциях - Standart, KillBill (wine, dosbox, qemu), Server и PopCorn (помещается на 128 мегабайтовую флешку).

MOPSLinux - Российский дистрибутив. В плюсы проекта можно записать полностью русифицированный интерфейс (включая консоль). Больше не развивается.

AgiliaLinux - продолжение MOPSLinux после закрытия проекта, развиваемое сообществом и бывшими разработчиками MOPSLinux.

Salix OS - дистрибутив являющийся полностью обратно совместимым с Slackware. Наличествует как 32-х битная так и 64-х битная версия дистрибутива, в том числе сборки LiveCD. Основная графическая среда — Xfce. Также есть редакции дистрибутива с графическими средами KDE, Fluxbox, Ratpoison и LXDE.

Как можно обновить Slackware, не переустанавливая ее?

Для параноиков - правильный способ обновления до текущей стабильной версии 13.37 можно прочесть здесь [8], отдельные рекомендации также написаны в CHANGES_AND_HINTS.TXT. Перед обновлением до Current надо обязательно прочитать Changelog, обычно Патрик указывает возможные проблемы при обновлении и пути их решения.

У меня <что-то> работает от рута, а от пользователя нет

Нужно добавить пользователя в соответствующую группу, например, audio для работы со звуковыми устройствами, scanner для работы со сканером и т.п. Список всех групп можно получить с помощью команды

cat /etc/group
добавить пользователя командой
useradd -G список_групп_через_запятую имя_пользователя

В свежеустановленной Slackware непривычно работает (g)vim. Что делать?

Скопировать файл (g)vimrc_example.vim из /usr/share/vim/vim${VERSION} в ~/.(g)vimrc, где ${VERSION] - версия vim.

А также проверить, на что указывает символическая ссылка /usr/bin/vi. В установке по умолчанию она ссылается на /usr/bin/elvis.

Как добавить поддержку multilib в Slackware для x86_64?

http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib

Как настроить воспроизведение MIDI файлов?

Заставить MIDI работать в Slackware не так уж и просто, как может показаться. Предлагается простое решение этой проблемы.

Испытывалось на полностью установленном дистрибутиве Slackware 12, дополнительно ни одного постороннего пакета не устанавливалось, кроме пакетов поставляемых с дистрибутивом.

Загрузка SlackBuild'а:

Скачайте архив со SlackBuild'ом и разархивируйте его в рабочий каталог, где будет создаваться пакет. В результате получите каталог “TiMidity++_SlackBuild”, с необходимыми для создания пакета файлами.

Загрузка исходников:

Скачайте в каталог “TiMidity++_SlackBuild” два пакета:

Запуск SlackBuild'а:

Под Root'ом перейдите в каталог со SlackBuild'ом и сделайте его запускаемым:

chmod +x TiMidity++.SlackBuild

и запустите его:

./TiMidity++.SlackBuild

Установка пакета:

После окончания работы SlackBuild'а перейдите в каталог /tmp и установите созданный пакет с помощью команды installpkg.

Добавление запуска TiMidity++ в скрипты инициализации:

В каталоге /etc/rc.d создайте файл rc.local, если его там нет, и сделайте запускаемым. Затем добавьте в него строку запуска миди-сервера:

/etc/rc.d/rc.timidity start

Наслаждайтесь своим MIDI

Теперь у вас есть рабчий порт MIDI - port 128:0. Можете проигрывать MIDI файлы непосредственно. С помощью утилиты mozplugger можно обеспечить потоковое воспроизведение MIDI файлов в SeaMonkey и Firefox.

"Внедрение" TiMidity++ в Firefox:

После установки утилиты mozplugger, Вы легко можете добавить TiMidity++ в SeaMonkey и Firefox. После добавления, проверьте файл /etc/mozpluggerrc на предмет наличия фрагмента текста :

audio/mid: midi,mid: MIDI audio file
audio/x-mid: midi,mid: MIDI audio file
audio/midi: midi,mid: MIDI audio file
audio/x-midi: midi,mid: MIDI audio file
    embed controls: timidity -EFreverb=0 -EFchorus=0 "$file"    
    noembed swallow(timidity) hidden: timidity -EFreverb=0 -EFchorus=0 -ig "$file"

Запустить GUI проигрывателя timidity можно из командной строки эмулятора терминала:

timidity -iA -B2,8 -Os -EFreverb=0 -ig

см. рисунок

Настройка службы akonadi

В Slackware 13 под KDE 4 появился пакет akonadi. Для того чтобы правильно запускалась служба akonadi, нужно запустить сервер MySQL. Для этого нужно сделать исполняемым файл /etc/rc.d/rc.mysqld и запустить службу командой:

/etc/rc.d/rc.mysqld start 

Если MySQL запротестовал, значит у него нет разрешения на использование своих же каталогов и файлов. Исправить эту оплошность можно следующей командой:

chown -R mysql:mysql /var/lib/mysql

Затем под рутом, изменить файл /usr/bin/startkde, в котором нужно добавить путь /usr/share/akonadi в строку, которая определяет пути XDG_DATA_DIRS.

# Make sure that D-Bus is running
if test -z "$XDG_DATA_DIRS"; then
  XDG_DATA_DIRS="`kde4-config --prefix`/share:/usr/share:/usr/local/share:/usr/share/akonadi"
  export XDG_DATA_DIRS
fi

После этого в файл /home/юзер/.local/share/akonadi/mysql.conf нужно добавить в строку "user=юзер" под заголовком "[mysqld]".

Для рута нужно добавить в файл /root/.local/share/akonadi/mysql.conf строку "user=root" под заголовком "[mysqld]".

[mysqld]
skip_grant_tables
skip_networking
user=root

После двух перезагрузок служба "самонастроится" и сервер akonadi перестанет при пуске KDE выбрасывать сообщения об ошибках. Способ настройки конечно грубый, но простой. О правильной и более тонкой настройке нужно заглянуть в /usr/doc/mysql, там можно найти подробную информацию как настроить MySQL сервер. Но это для тех, кто хорошо знает предмет и владеет английским на достаточном уровне.

Совет по настройке загрузки на машине с 8Мб ОЗУ

[9]

В принципе всё просто: пересобираем ядро под самый минимум (зависит от реально установленного на машине железа), и обходим проблему с udev, который пытается разместить /dev в tmpfs и не может этого сделать, по причине малой памяти. Решение: /dev создаётся на диске, как в старые времена. Грузится минуты 3, но потом работает.

Что делать, если в -current не запускаются X с сегфолтом?

FIXME: временный workaround пока не починят более глобально

Включить KMS, для этого добавить "radeon.modeset=1" к строчке с параметрами ядра append="vt.default_utf8=1" (чтобы стало append=" vt.default_utf8=1 radeon.modeset=1"). Здесь radeon - название видеодрайвера, вместо него может быть i915 (для intel) или nouveau (для nvidia). С проприетарными драйверами этой проблемы нет.

При этом отвалится framebuffer и консоль будет радовать vga-разрешением. Если этот вариант принципиально не нравится, что неудивительно, то надо убрать или закомментировать из /etc/lilo.conf все строчки про vga=циферки и дописать в append="vt.default_utf8=1 radeon.modeset=1 ещё до кучи video=1024x768@85" где 1024x768 --- разрешение, а 85 --- частота обновления в Hz. После этого нужно, чтобы драйвер radeon, i915 или nouveau грузился раньше, чем будет настраиваться третий или четвёртый ранлевел. Для этого его нужно добавить или в тот файл, на который ссылается /etc/rc.d/rc.modules (rc.modules-версия ядра, в конец дописывается строчка /sbin/modprobe radeon или нужный драйвер), или включить его в initial ramdisk.

Ссылки

[10] - Основной ресурс

[11] - Wiki

[12] - ссылки на дополнительные материалы по Slackware.

[13] - информационный ресурс, посвященный дистрибутиву Slackware Linux и информационным технологиям в целом.

[14] Хороший сайт с подробным описанием установки, русификации и настройки. Может быть временно в дауне.

[15] - Установка Oracle на Slackware

[16] русский перевод SlackBook