Slackware Linux

Slackware Linux, созданный Патриком Фолькердингом в 1992 году - старейший из существующих дистрибутивов Linux. В нем нет лишней роскоши: программа установки по-прежнему работает в текстовом режиме, нет и графических средств настройки. В то время как другие дистрибутивы обзавелись легкими в использовании графическими средствами настройки, Slackware не придерживается принципа "руками не трогать!": управление системой по-прежнему осуществляется путем ручной правки конфигурационных файлов. Из-за этого Slackware можно посоветовать только тем новым пользователям, который намерены потратить некоторое время на изучение Linux.

Тем не менее, Slackware чрезвычайно привлекателен для многих пользователей. Он исключительно устойчив и безопасен, что делает его весьма подходящим для применения на серверах. Опытные администраторы находят, что этот дистрибутив содержит меньше ошибок, т. к. использует большинство пакетов в их первоначальном виде - без лишних изменений, которые могут внести новые ошибки. Новые выпуски Slackware нечасты (примерно один раз в год), хотя обновленные пакеты всегда доступны для загрузки. Slackware - отличный дистрибутив для тех, кто заинтересован в более глубоком знании устройства Linux.

Из слышанных мной характеристик этого дистрибутива самая удачная, вероятно, такова: если вам нужна помощь в работе с Linux, найдите пользователя Slackware. Скорее всего, он вам поможет лучше, чем тот, кто работает в любой другой разновидности Linux.

За: высокая устойчивость, отсутствие ошибок, твердое следование принципам UNIX.

Против: ручная настройка путем правки текстовых файлов, ограниченная способность распознавать оборудование.

www.distrowatch.com

Slackware Linux я установил в основном ради любопытства. По тому, что я о нем слышал, он должен был мне понравиться. Так оно и оказалось. А дальше получилось по пословице: "коготок увяз - всей птичке пропасть". Поставив Slackware ради расширения кругозора, я в нем и остался (на некоторое время. См. страницу о Gentoo).

После FreeBSD - Slackware выглядит знакомым. Прозрачен, логичен. Система управления пакетами отчасти напоминает FreeBSD, но не отслеживает зависимостей, что часто ставят в упрек Slackware. На самом же деле это почти незаметно, т. к. никто и не предполагает установку новых, не входящих в дистрибутив программ при помощи пакетов. Из пакетов устанавливается только система; дополнительные программы собираются обычным образом при помощи configure && make && make install и по желанию пользователя преобразуются в двоичные пакеты посредством checkinstall. Об удовлетворении программных зависимостей заботятся сценарии configure... (NB. Конечно, привыкнув к системе автоматической сборки программ, какая есть в Gentoo/FreeBSD, от ручного подбора правильных аргументов для очередного configure несколько отвыкаешь...) Система быстро работает, не пытается думать за меня и, как выразился один пользователь Slackware, "не путается под ногами".


Итак - установка и настройки Slackware Linux 9.x, примерно по тому же плану, что и заметка о FreeBSD.

P. S. Кстати, много полезного о Slackware можно найти на странице Андрея Осина.

Установка:

  1. Доступ к интернету
  2. Поддержка русского языка
  3. Создание нового ядра
  4. Настройка сети

После установки:

  1. Подключение дисков Windows
  2. Виртуальные серверы в Apache
  3. Установка принтера
  4. Программы для повседневной работы
  5. Управление питанием (APM)
  6. Межсетевой экран
  7. Запись CD
  8. Создание пакетов (checkinstall)
  9. Работа с wvdial и pppd без привилегий root
  10. Установка GRUB
  11. LILO и второй Linux
  12. Команда eject

Настройки служб:

  1. SAMBA
  2. Кэширующий сервер имен
  3. MySQL
  4. Просмотр сети при помощи LISa

Slackware 9.1:

  1. Отключение ненужных модулей ядра. Звук после перекомпиляции
  2. Сборка Mozill'ы с поддержкой Gtk+ 2 и XFT
  3. Slackware 9.1 и звук

Установка

Доступ к интернету. PPP-соединение настраивается программой pppsetup от имени root. Для входа в интернет есть скрипт /usr/sbin/ppp-on, для разрыва связи - /usr/sbin/ppp-off. Настройки сохраняются в каталоге /etc/ppp. Как использовать ppp-on, ppp-off с разными провайдерами - пока не ясно. Скорее всего, для этого придется поставить программу wvdial. Чтобы скомпилировать wvdial под Slackware 9.0, нужно внести изменения в несколько исходных файлов - иначе gcc 3.2 их не примет. Найти соответствующие "патчи" можно по адресу http://downloads.linuxfromscratch.org/blfs-patches/. Можно и не компилировать wvdial вручную, а загрузить пакеты для Slackware 9.x с этого сайта: 1) wvdial-1.54.0-i386-1.tgz и 2) wvstreams-3.74.0-i386-1.tgz. Кстати, покорнейше прошу не давать прямых ссылок на эти файлы. ;) По понятным причинам - бесплатные серверы не любят излишнего объема загрузок.


Поддержка русского языка. Нужно исправить или создать следующие файлы (причем сценарии в каталоге /etc/rc.d должны быть помечены как исполняемые):

a) /etc/rc.d/rc.font:
#!/bin/sh

setfont Cyr_a8x16
mapscrn koi2alt
for i in 1 2 3 4 5 6;
do
        echo -ne "\033(K" > /dev/tty$i
done
b) /etc/rc.d/rc.keymap:
#!/bin/sh

loadkeys ru
c) /etc/profile.d/lang.sh:
export LANG=ru_RU.KOI8-R
export LC_TIME=ru_RU.KOI8-R
export LANGUAGE=C
export LC_MESSAGES=C
d) /usr/share/locale/locale.alias. Здесь нужно запись "russian" изменить следующим образом:
...
russian ru_RU.KOI8-R
...
e) /etc/X11/XF86Config:
Section "InputDevice"
...
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:rctrl_toggle"

Вот готовый пакет для "русификации" консоли в Slackware 9.*. Он делает всё, что описано выше, за исключением русификации X Window. Одно замечание: если вы удалите его командой removepkg, будут удалены и некоторые системные файлы. :(

О печати по-русски при помощи Ghostscript смотрите ниже.


Создание нового ядра.

Как мне пришлось узнать, 9-й Slackware самопроизвольно перезагружается примерно через 30 секунд после загрузки, будучи запущен на материнской плате с микросхемой i810. Чтобы по меньшей мере прекратить перезагрузки, нужно удалить модуль ядра i810-tco (некий WatchDog Timer):

rmmod i810-tco

Можно даже временно поместить эту строку в /etc/rc.d/rc.local.

Радикальное лечение в том, чтобы перекомпилировать ядро, убрав из него поддержку устройств WatchDog Timer (в разделе Character Devices) и заодно i8x0 Random Number Generator (там же) - этот модуль тоже вызывает ошибку. Если у вас сетевая карта Realtek 8139, придется убрать и второй драйвер для нее, помеченный как "экспериментальный". С двумя драйверами сетевая карта работать не захочет... Можно заодно и очистить ядро от экзотики вроде Bluetooth, IrDA, RAID (по меньшей мере, для меня это экзотика).

К сожалению, в однодисковом дистрибутиве Slackware каталог /slackware/k - с исходными текстами ядра - не уместился. Нужно забирать его из Сети, с ftp.slackware.com или его зеркал (например, ftp.sai.msu.su). А можно взять самую свежую версию на www.kernel.org.

Немного о сборке ядра.

Последовательность команд (при условии, что исходный текст ядра распакован в /usr/src/linux-2.x.x):

cd /usr/src/linux-2.2.41
make mrproper
make xconfig
make dep &&
make clean &&
make bzImage &&
make modules &&
make modules_install &&
make install

Перед этим неплохо подправить Makefile, изменив в нем строку EXTRAVERSION:

EXTRAVERSION = -tim1

В этом случае модули нового ядра окажутся в отдельном каталоге, имя которого будет выглядеть, например, как /lib/modules/2.4.21-tim1. Если у вас установлено одновременно несколько ядер - это удобно.

Файлы vmlinuz и System.map будут записаны в корневой каталог - /. Их можно переименовать (напр., vmlinuz-tim1, System.map-tim1) и перенести в /boot. Затем нужно добавить новую запись в /etc/lilo.conf...

# Our custom kernel
image = /boot/vmlinuz-tim1
  root = /dev/hda2
  label = Linux_2-4-21
# End of custom kernel

...и переустановить lilo командой lilo (от имени root).

Но это всё общеизвестно. Самое интересное здесь другое - настройка ядра. Можно использовать уже готовый файл конфигурации - /boot/config, и внести в него необходимые изменения. Собирая ядро, взятое на www.kernel.org, я решил пойти сложным путем и настроить всё "с чистого листа". В нижеследующей таблице показано, что и в каком разделе конфигурации мне пришлось изменить, и зачем эти изменения. "M" во втором столбце означает "модуль", "Y" - блок, встроенный в ядро. Модули сетевых устройств, звуковых карт и проч. в вашем случае, возможно, будут другие.

PROCESSOR TYPE AND FEATURES
Processor family                        ***
Symmetric multi-processor support        N        # Ради APM

GENERAL SETUP
Power management support                Y        # APM
Advanced power management BIOS support        M

PARALLEL PORT SUPPORT                                # Принтер
Parallel port support                        M
PC-style hardware                        M
Multi-IO cards                                M
IEEE 1284 transfer modes                Y

BLOCK DEVICES
Loopback device support                        Y        # /dev/loop*

NETWORKING OPTIONS
Network packet filtering                Y        # Masquerading
Socket filtering                        Y

        NETFILTER CONFIGURATION
        Connection tracking                M
        FTP protocol support                M
        IPtables support                M
        Connection state match                M
        Packet filtering                M
        REJECT target                        M
        Full NAT                        M
        MASQ target                        M
        REDIRECT target                        M
        Packet mangling                        M
        LOG target                        M

ATA/IDE/MFM/RLL SUPPORT

        IDE/ATA/ATAPI BLOCK DEVICES
        SCSI emulation support                M        # Запись CD

SCSI SUPPORT
SCSI generic support                        Y        # Запись CD

NETWORK DEVICE SUPPORT                                # Интернет и сеть
PPP support                                Y
PPP support for async serial ports        Y
PPP deflate compression                        Y

        ETHERNET (10 OR 100 MBIT)
        Realtek RTL-8139                M

CHARACTER DEVICES
Parallel printer support                M        # Принтер

FILE SYSTEMS
ReiserFS support                        Y
Ext3fs support                                Y
DOS FAT                                        Y
MSDOS FS                                Y
VFAT (Windows 95) FS                        Y
MS Joliet extensions                        Y

        NETWORK FILESYSTEMS
        SMB file system                        Y        # SAMBA

        PARTITION TYPES                                # Разделы DOS
        Adv. part. selection                Y
        PC BIOS (MSDOS part tables)        Y

        NATIVE LANG SUPPORT
        Все раскладки (или все русские)        M        # Кодовые страницы

SOUND
Intel ICH (i8xx) support                Y        # Встроенный звук

Не утверждаю, что эта конфигурация лучшая, но она работает. Чего я и добивался. ;-)


Настройка сети делается с помощью команды netsetup еще во время начальной установки. Если сетевая карта будет распознана правильно, в каталоге /etc/rc.d появится файл rc.netdevice примерно такого содержания:

# Load module for network device.
# This script is automatically generated during the installation.

/sbin/modprobe 8139too

Если же нет - можно найти строку, соответствующую нашей карте, в файле /etc/rc.modules, и снять с нее знак комментария (#).


После установки

Сетевые диски машин, работающих под Windows, можно подключить командой mount.smbfs. Синтаксис несколько отличается от FreeBSD:

mount.smbfs //SERVER/SHARE MOUNTPOINT -o username=NAME,password=PASSWORD

Подробнее - man mount.smbfs.

На мой взгляд, проще и удобнее использовать для работы с SMB-дисками Midnight Commander - см. ниже.


Виртуальные серверы в Apache (и немного о настройках Apache вообще).

Файл httpd.conf находится в /etc/apache. Настройки PHP в отдельном модуле, по умолчанию - закомментированном. Каталог для веб-страниц - /var/www/htdocs. Запуск сервера - сценарием /etc/rc.d/rc.httpd {start|restart|stop}. Для автоматической загрузки Apache этот файл нужно сделать исполняемым.

Создание виртуального сервера:

a) в /etc/apache/httpd.conf добавить:

<VirtualHost 127.0.0.2>
  ServerName russianauthor
  DocumentRoot /var/www/htdocs/russianauthor
  ErrorLog /var/www/htdocs/russianauthor/logs/error.log
  CustomLog /var/www/htdocs/russianauthor/logs/access.log common
   <Directory "/var/www/htdocs/russianauthor">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

b) в /etc/hosts добавить:

127.0.0.2         russianauthor

Установка принтера. Как и в FreeBSD, используем для этого apsfilter: /usr/share/apsfilter/SETUP. В файле /etc/printcap уже есть принтер lp - чтобы дать это имя созданному нами принтеру, описание старого lp можно удалить или закомментировать. Лучше всего - загрузить с ftp.slackware.com пакет CUPS и настроить печать с его помощью (перед установкой CUPS нужно будет удалить пакет lprng, используемый для печати по умолчанию). Как и в FreeBSD, русских шрифтов GhostScript не имеет. Взять их можно здесь, затем распаковать файлы шрифтов (но не fonts.{scale|dir}) в каталог /usr/share/ghostscript/fonts.

Поправка для Slackware 9.1. CUPS уже входит в эту версию Slackware, однако устанавливается вместе с lprng. Образ действий:

removepkg lprng
mount /mnt/cdrom
installpkg /mnt/cdrom/slackware/a/cups*.tgz

После этого заходим любым броузером на страницу http://localhost:631/ и настраиваем печать.

Сказанное в предыдущей заметке о печати при помощи a2ps полностью относится и к Slackware.


Программы для повседневной работы. С этим дело лучше, чем в FreeBSD. teTeX 2.0, Mozilla 1.3, XMMS, Midnight Commander уже есть в системе. Sylpheed, Downloader for X, Gimageview и кое-что еще я собирал из исходных текстов. О настройке teTeX для работы с русским языком см. в разделе о FreeBSD.

teTeX 2 и шрифты cm-super. Подключение новых векторных шрифтов к teTeX'у теперь делается по-другому. Раньше нужно было добавлять список файлов *.map к сценарию /usr/share/texmf/dvips/updmap. В новом teTeX'е, как оказалось, нужно действовать иначе: приписать тот же список в конце файла /usr/share/texmf/web2c/updmap.cfg, вот так:

MixedMap /usr/share/texmf/dvips/cm-super/cm-super-t1.map
MixedMap /usr/share/texmf/dvips/cm-super/cm-super-t1.map
MixedMap /usr/share/texmf/dvips/cm-super/cm-super-t2a.map
MixedMap /usr/share/texmf/dvips/cm-super/cm-super-t2b.map
MixedMap /usr/share/texmf/dvips/cm-super/cm-super-t2c.map
MixedMap /usr/share/texmf/dvips/cm-super/cm-super-ts1.map

И после этого запустить /usr/share/texmf/bin/updmap.

Говорят, что можно добиться того же и более простым способом: запустить

updmap --enable MixedMap MAP_NAME.map

для каждой из новых кодировок. Впрочем, я этого пока не пробовал делать.

SAMBA и Midnight Commander. Включенный в дистрибутив mc собран без поддержки файловой системы smbfs. Его можно удалить командой:

removepkg mc

и собрать заново из исходных текстов со следующими ключами:

./configure --enable-charset=yes \
        --with-samba --with-configdir=/etc/samba \
        --with-x=no
make && make install

APM. Чтобы машина выключалась по команде /sbin/poweroff, в файле /etc/rc.d/rc.modules нужно снять комментарий со строки

/sbin/modprobe apm

Возможно, вы найдете в этом файле и другие полезные модули.


Межсетевой экран, он же брандмауэр. По адресу oceanpark.com можно найти примеры сценариев сетевой защиты, использующих как систему iptables, так и ipchains. Я наскоро переделал один из этих примеров под свои нужды. Вы можете поступить так же. Кстати, перенаправление пакетов (masquerading) включается в Slackware автоматически, при условии, что оно было разрешено во время компиляции ядра. Кое-что о построении брандмауэра (и не только) есть здесь: Slackware Tips & Tricks и здесь: www.jasensky.com.

Чтобы не заниматься ручной настройкой межсетевого экрана, можно установить Shoreline Firewall. У него очень хорошая документация; настройки сводятся к правке конфигурационных файлов в /etc/shorewall. Во всяком случае, это проще и удобнее возни с iptables.


Запись CD. Всё, как обычно в Linux, но нужно добавить в /etc/lilo.conf строку:

append="hdd=ide-scsi"

переустановить lilo:

lilo

и перезагрузиться.


Создание пакетов. Обычный способ установки программ в Slackware - сборка из исходных текстов. Готовых пакетов не так много, как, скажем, пакетов для RedHat или FreeBSD (см. сайт www.linuxpackages.com). Однако есть замечательная программа checkinstall (найти ее можно, например, здесь, домашняя страница программы - http://asic-linux.com.mx/~izto/checkinstall/), позволяющая из "исходников" создать пакет в формате tgz. Для этого достаточно в каталоге с исходными текстами нужной программы запустить:

checkinstall make install

После этого будет автоматически создан и установлен пакет в формате Slackware. В следующий раз перекомпилировать программу не придется - вот первая выгода; удалить пакет будет легко, даже если автор не предусмотрел возможности удаления через 'make uninstall' - вот вторая. В более сложных случаях пакеты можно создать "вручную" с помощью системного инструмента makepkg. Очень советую - это чрезвычайно удобно.


WvDial и pppd без прав root. Чтобы при помощи wvdial выходить в Сеть с правами обычного пользователя, нужно сделать следующее (кстати, это описание подходит - с одной оговоркой - и для ASP Linux и Gentoo).

1. Создать новую группу для пользователей pppd. Назовем ее network:

groupadd network

2. Добавить в эту группу нужного пользователя или пользователей (см. man usermod):

usermod -G network tim

В случае ASP Linux (и, возможно, некоторых других основанных на RedHat дистрибутивов), нужно добавить пользователя модема не только в группу network, но и в группу lock - иначе wvdial будет жаловаться на то, что "устройство модема недоступно":.

usermod -G network,lock tim

В случае Gentoo - вместо группы lock нужно использовать uucp, именно ей принадлежит каталог /var/lock. Команда usermod для Gentoo будет выглядеть так:

usermod -G network,audio,uucp,wheel tim

К группе audio новые пользователи Gentoo приписаны изначально; wheel (как и в FreeBSD) нужна для работы с правами суперпользователя (su).

3. Изменить права доступа и группу устройства модема (замените ttyS1 на нужное):

chmod g+rw /dev/ttyS1
chgrp network /dev/ttyS1

4. То же самое с некоторыми файлами в /etc/ppp:

chmod g+rw /etc/ppp/pap-secrets
chmod g+rw /etc/ppp/chap-secrets
chmod g+rw /etc/ppp/peers/wvdial
chgrp network /etc/ppp/pap-secrets
chgrp network /etc/ppp/chap-secrets
chgrp network /etc/ppp/peers/wvdial

5. Установить бит suid (выполнение с правами root) для файла pppd:

chmod u+s /usr/sbin/pppd

6. Возможно (мне это не понадобилось), придется изменить права и владельцев файла /etc/resolv.conf:

chmod g+rw /etc/resolv.conf
chgrp network /etc/resolv.conf

7. Проверить, есть ли в /etc/ppp файл options:

lock

Уф! :)

Кстати, время от времени права доступа к /dev/ttyS1 почему-то сбрасываются: устройство оказывается доступным только для root, как и было до наших настроек. Фокусы pppd? На этот случай я заготовил командный файл repair_modem.sh:

#!/bin/sh

sudo chmod g+rw /dev/ttyS1

Конечно, чтобы его использовать, нужно быть вписанным в /etc/sudoers. Man sudo.


Установка GRUB. В качестве загрузчика Slackware использует LILO. По некоторым причинам мне понадобилось сменить LILO на GRUB, и я обнаружил, что рекомендуемый разработками способ установки - создание загрузочной дискетки и запуск GRUB с нее - не срабатывает. Возможно, GRUB'у не понравилось файловая система ReiserFS - не знаю. Есть и другой способ - с помощью grub-install, но о нем в руководстве к GRUB решительно сказано как об устаревшем и ненадежном. Я порылся в интернете и нашел средний путь:

su -
mkdir /boot/grub/
cd /boot/grub
cp /usr/local/share/grub/i386-pc/* .
touch menu.lst

Файл menu.lst будет содержать наше загрузочное меню. Подробно о нем можно прочесть в info grub. У меня сейчас он выглядит так:

default 0
timeout 30

title Slackware Linux
kernel (hd0,1)/boot/vmlinuz-2.4.21 root=/dev/hda2 reboot=warm hdd=ide-scsi

title ASP Linux
kernel (hd0,4)/boot/vmlinuz root=/dev/hda5 reboot=warm hdd=ide-scsi
initrd (hd0,4)/boot/initrd-2.4.20-9asp.img

title Windows ME
root (hd0,0)
makeactive
chainloader +1

Теперь запускаем GRUB и вводим следующие команды:

root (hd0,1)                # Раздел диска, на котором размещены файлы GRUB
setup (hd0)                # Установка GRUB в загрузочный сектор первого жесткого диска
quit

После перезагрузки - видим меню GRUB.


Чтобы при помощи LILO загрузить вторую систему Linux (*BSD), нужно создать точку монтирования для загрузочного каталога этой второй системы, например:

mkdir /mnt/slack2

Затем дополнить /etc/fstab:

/dev/hda5         /mnt/slack2          reiserfs    defaults               0   0

И в lilo.conf при указании загрузочного образа (image) использовать именно эту точку монтирования:

image = /mnt/slack2/boot/vmlinuz
  root = /dev/hda5
  label = Slackware-2
  read-only

После GRUB это выглядит несколько странно... Но иначе не сделать.


Команда eject в Slackware доступна только членам группы disk. Открываем /etc/group, находим строку disk и добавляем нужных пользователей:

disk::6:root,adm,tim

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

SAMBA. Всё сказанное о настройках SAMBA в заметке о FreeBSD верно и здесь. Запуск - через сценарий /etc/rc.d/rc.samba. Сделайте его исполняемым для запуска SAMBA при загрузке системы.


Сервер имен. В Slackware помещен уже настроенный кэширующий сервер имен. Нужно только задействовать его: в файле /etc/rc.d/rc.inet2 раскомментировать строки:

if [ -x /usr/sbin/named ]; then
  echo "Starting BIND:  /usr/sbin/named"
  /usr/sbin/named
fi

MySQL в Slackware 9.0 не желает работать сразу после установки. Вот что пришлось сделать для приведения MySQL в чувство:

su root
mysql_install_db
chown -R mysql:mysql /var/lib/mysql

Затем я добавил в /etc/rc.d сценарий rc.mysql:

/usr/bin/safe_mysqld --user=mysql &

Сделал rc.mysql исполняемым и дописал его вызов в /etc/rc.d/rc.M прямо перед вызовом rc.local:

if [ -x /etc/rc.d/rc.mysql ]; then
. /etc/rc.d/rc.mysql
fi

Кстати, вызвать safe_mysqld из rc.local мне не удалось: сервер запускался и сразу же сообщал: mysqld ended. Что это значит, не знаю.


Демон LISa, с помощью которого Konqueror показывает содержимое сетевых дисков, предлагается запускать из /etc/rc.d/rc.local. Однако такой вызов ничего не дает. LISa не запускается. Ручной запуск через sudo срабатывает прекрасно, но мне-то нужна автоматическая загрузка... Оказалось, что если после вызова LISa в rc.local добавить небольшую задержку, всё срабатывает:

if [ -x /opt/kde/bin/lisa ]; then
 echo "Starting LISa daemon..."
 /opt/kde/bin/lisa
 sleep 2
fi

Slackware 9.1

Отключение ненужных модулей ядра. Звук после перекомпиляции. Slackware 9.0, как говорится выше, на материнской плате с чипом i8x0 перезагружался через несколько секунд после старта системы - из-за модуля i810-tco. В версии 9.1 этого не происходит - модуль i810-tco "запрещен" в файле /etc/hotplug/blacklist. Я добавил в список "запрещенных" еще и модуль i810_rng. Конечно, лучше было бы перекомпилировать ядро, но здесь у Slackware 9.1 свое "узкое место". Из-за перехода на звуковую подсистему ALSA (не входящую в ядро серии 2.4) после ручной сборки ядра мы получаем систему без звука. ALS'у надо ставить заново. См. эту страницу. В общем-то, ничего сложного здесь нет. С сервера www.alsa-project.org нужно загрузить исходные тексты драйверов и скомпилировать их, указав местонахождение модулей ядра:

./configure --with-moddir=/lib/modules/2.4.22-1

После загрузки нового ядра может понадобиться запуск alsaconf.


Включенная в Slackware 9.1 сборка броузера Mozilla - со странностями. Не работают пункты меню File | Save Page As..., File | Open..., Save Link Target As.... По меньшей мере, это то, с чем я столкнулся. Поэтому Mozill'у нужно собирать заново из исходных текстов. Мой способ: в домашнем каталоге создать файл .mozconfig с нужными нам настройками сборки. Например:

# sh
# Build configuration script
#
# See http://www.mozilla.org/build/unix.html for build instructions.
#

# Options for 'configure' (same as command-line options).
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --enable-xft
ac_add_options --disable-xprint
ac_add_options --enable-crypto
ac_add_options --disable-accessibility
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-optimize="-O3 -mcpu=pentium4 -pipe"

Подробнее о сборке Mozill'ы можно прочесть на странице Building A Mozilla Distribution.

Теперь, распаковав исходники в (например) /usr/local/src/mozilla, запускаем обычную последовательность команд:

cd /usr/local/src/mozilla
./configure
make
su -
checkinstall make install

Сценарий configure возьмет настройки из ~/.mozconfig. Перед установкой становимся root'ом. Команду 'make install' передаем построителю пакетов checkinstall, чтобы получить готовый Slackware'овский пакет формата tgz. Часа через два-три :( новая Mozilla будет готова.


Установив Slackware 9.1, я обнаружил, что могу слушать mp3 через XMMS, но не могу добиться ни одного звука от GNOME. Поиск в Сети показал, что для работы со звуком пользователь должен быть включен в группу sys. Я открыл /etc/group и добавил себя в указанную группу, вышел из системы и вошел снова - звук появился.

Странно: в версии 9.0 этого не было...

Hosted by uCoz