Советы по Slackware Linux 3

Советы по Slackware Linux

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

Добавляем учетную запись обычного пользователя
Создаем пользователя jlai с дополнительной группой sys (для доступа к звуковой системе):
adduser jlai

Включаем Numlock
Для того чтобы включить Numlock в консоли, добавьте следующие строки в
/etc/rc.d/rc.local:
# Turn numlock on:
for tty in /dev/tty[1-6]; do
/usr/bin/setleds -D +num < $tty
done
Для того чтобы включить Numlock в Xfree86, следуйте инструкциям на Linux from Scratch.

Изменяем загрузочный уровень
По умолчанию в Slackware установлен третий загрузочный уровень, консольный режим. Вы можете изменить его на четвертый (графический) или любой другой, внеся изменения в /etc/inittab. Для этого измените 3 в строке id:3:initdefault на 4.
Если вы просто хотите изменить текущий уровень на четвертый, выполните KDM или telinit 4 под root'ом.

Настраиваем принтер
В данном случае у вас есть пространство для маневров. Разница будет заключаться в поддержке принтеров и качестве печати. Вы можете последовать советам Патрика Волкердинга либо использовать UNIX Printing System (или CUPS) из директории slackware/extra. Более подробная информация о CUPS есть на http://www.cups.org/ .

Совет Патрика Волкердинга (цитата):
"Много людей спрашивают меня, как настроить печать в Linux. По моему убеждению, лучший способ — это настроить Apsfilter — систему, позволяющую выводить на печать файлы различных форматов (DVI, PS, PDF, text), посылая в буфер принтера командой lpr. Для этого выполните следующие шаги:
1. Убедитесь, что драйвер принтера загружается в /etc/rc.d/rc.modules. Это должно выполняться по умолчанию.
2. Установите программное обеспечение LPD. Это пакет lprng в секции А. Скорее всего, он уже установлен на вашей системе.
3. Рекомендуется установить и настроить подсистему TCP/IP, по крайней мере, для loopback (закольцованный интерфейс). Пакет tcpip входит в состав секции N, а скрипт netconfig конфигурирует TCP/IP.
4. Apsfilter использует множество других фильтров и подразумевает, что они установлены. Установите ghostscript и gnu-gs-fonts из секции AP, чтобы добавить Ghostscript, если вы хотите печатать документы формата PostScript. Вам также необходимо установить пакет libjpeg из секции L для поддержки изображений JPEG. Если вы хотите иметь возможность печатать файлы в формате DVI, по крайней мере, установите стандартные пакеты TeX из секции T.
5. Установите пакет apsfilter. Этот пакет находится в секции A; если вы делали полную установку, он у вас уже инсталлирован. В противном случае найдите пакет в директории ap и установите его: installpkg apsfilter-*.tgz
6. Перейдите в директорию /usr/share/apsfilter/ и запустите SETUP:
./SETUP
Программа сделает необходимые записи в /etc/printcap, и вы готовы печатать. Теперь вы можете использовать netatalk и Samba для того, чтобы Mac- и Windows-компьютеры в вашей сети могли использовать принтер, подключенный к компьютеру с Linux."

Настраиваем CD-RW-привод
Настройка моего резака IDE Yamaha CRW2100E прошла со свистом. Он у меня подключен как Secondary slave (или hdd), так что /etc/lilo.conf гласит:
# первая строка в /etc/lilo.conf (или в general section):
append="hdd=ide-scsi"

#Соответственно в файле fstab содержится строка:
/dev/sr0 /cdrw auto noauto,user,ro 0 0

# указываем на директорию /cdrw для монтирования. (не нравится мне /mnt/cdrw)
Primary master = hda
Primary slave = hdb
Secondary master = hdc
Secondary slave = hdd
Для получения дополнительной информации см. CD-Writing-HOWTO.

О ядре
Инсталлируем исходники нового ядра
Другие дистрибутивы Linux предоставляют модифицированные версии ядер, и вы можете наткнуться на совет не инсталлировать исходники нового ядра в /usr/src/linux. Однако к Slackware это не относится. Если Патрик выпускает ядро в виде пакета (package), вы инсталлируете этот пакет (с помощью команды installpkg), и ядро будет помещено в /usr/src/linux-version с символической ссылкой, указывающей на /usr/src/linux.
Если же вы скачали исходники с The Linux Kernel Archives, распакуйте их в директорию /usr/src и создайте символическую ссылку:
cd /usr/src
tar xvzf /filepath/filename
ln -s linux-version linux (замените version на номер версии ядра)
Итак, исходники ядра установлены. Мы ведь хотели создать новое ядро, не так ли?

Компилируем новое ядро
Для успешной компиляции ядра нужно время и тренировка. Я так говорю потому, что никак не получается скомпилировать ядро как надо с первого раза, но это мое сугубо личное мнение.
Преимущества, которые дает компиляция ядра, перевешивают все сложности, связанные с этим процессом. В вашем ядре будут только те опции, которые вам действительно нужны, и размер его будет меньше, чем размер ядра, поставляемого Slackware по умолчанию.
Для начала создайте следующий файл в директории исходников:
mcedit /usr/src/linux/makeK
#!/bin/bash
#make mrproper — только для заплаток к ядру или если вы уже компилировали ядро #из этой директории
#make menuconfig — или make xconfig (из сессии X Windows) — или #make oldconfig
make dep && make bzImage && make modules && make modules_install && \
cp -p /boot/vmlinuz /boot/vmlinuz.old && cp arch/i386/boot/bzImage /boot/vmlinuz && \
cp System.map /boot/System.map && cp .config /boot/config && \
echo Отредактируйте lilo.conf для указания нового ядра. Выполните lilo и перезагрузитесь.
При компиляции ядра впервые начните с конфигурационного файла, который был использован при загрузке:
cd /usr/src/linux
cp /boot/config .config
make oldconfig
Вы будете оповещены о различиях в версиях ядер. Отвечайте по желанию.
Если вы находитесь в консольном режиме, выполните make menuconfig для внесения изменений в конфигурацию ядра или make xconfig, если вы в X Windows.

Заплатки к ядру
Я всегда храню нетронутую копию исходников ядра в директории /usr/src. Например:
cp -pr linux-2.4.19/ linux-2.4.19-clean/
Теперь я могу применять заплатки к ядру, а если что-то пойдет не так, вернуться к чистой копии.
Каждый раз, когда я компилирую ядро, я изменяю четвертую строку в файле Makefile:
EXTRAVERSION = -a (-b, -pre8a, etc...). Затем я компилирую его. Теперь мне не надо волноваться о недостающих модулях каждый раз, когда я загружаю другое ядро, т.к. новые модули сохраняются в директории /lib/mo-dules с полным названием version/extraversion. Как только я доволен ядром, я переименовываю директорию исходников, чтобы она совпадала с именем директории в /lib/modules (или версией Makefile).
mv linux-2.4.19/ linux-2.4.19a/
rm linux
ln -s linux-2.4.19a linux

Допустим, я хочу добавить изменения из patch-2.4.20-pre8 с The Linux Kernel Archives к моим исходникам ядра linux-2.4.19. Я скачиваю и сохраняю файл в /home/download, затем:
cd /usr/src
rm linux
cp -pr linux-2.4.19-clean/ linux-2.4.19/
gzip -dv /home/download/patch-2.4.20-pre8.gz
cp /home/download/patch-2.4.20-pre8 .
patch -p0 < patch-2.4.20-pre8
mv linux-2.4.19/ linux-2.4.20-pre8/
ln -s linux-2.4.20-pre8 linux
cd linux
cp /boot/config .config
make oldconfig
(затем, быть может, make menuconfig, если я хочу увидеть ситуацию в целом)
./makeK
LILO и boot_message.txt
Не забывайте выполнять команду lilo после компиляции нового ядра!
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
restricted
#linear
append="hdd=ide-scsi"
boot = /dev/hda2
message = /boot/boot_message.txt
prompt
timeout = 50
# compact # быстрее, но не подходит для всех систем
# delay = 5
# VESA framebuffer console @ 1024x768x256
vga = 773
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0 # параноидальный вариант
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda2
label = NewLinux
password=password1
read-only
# append="hdd-ide-scsi video=sstfb"
image = /boot/vmlinuz-ide-2.4.19
root = /dev/hda2
label = OrgLinux
password=password2
read-only
image = /boot/vmlinuz.old
root = /dev/hda2
label = OldLinux
password=password3
read-only
image = /boot/vmlinuz-2.4.18
root = /dev/hda2
label = BckLinux
password=password4
read-only
# Linux bootable partition config ends
# Start Memtest86 bootstrap
image = /memtest/memtest
label = MemTest
password=memtest
# End Memtest86
#----- End /etc/lilo.conf
/boot/boot_message.txt
Welcome to the LILO Boot Loader!
Please enter the name of the Linux Kernel you would like to boot
at the prompt below. The choices are:
NewLinux — New Custom Kernel (default)
OrgLinux — Originial Slackware 9 Kernel
OldLinux — Last Cusom Kernel Kernel
BckLinux — Backup Custom 2.4.18 Kernel
MemTest — Run memory diagnostics

Создаем новый загрузочный диск
В директории /sbin существует скрипт под названием makebootdisk. Он предлагает на выбор 3 разных загрузочных диска: syslinux (DOS-форматированный диск), lilo (linux-форматированный диск) и simple (устарелый). Также вы выбираете ядро, например: /boot/vmlinuz.

По материалам Джека С. Лэя
Продолжение следует

Подготовил X-Stranger
Текст распространяется на условиях GPL



Компьютерная газета. Статья была опубликована в номере 20 за 2003 год в рубрике soft :: linux

©1997-2024 Компьютерная газета