Configuration HOWTO: General System Setup

Next Previous Contents

## 2. Общая настройка системы

## 2.1 Клавиатура

Перво-наперво, как настроить клавиатуру. Если вы пропустили этот шаг во время инсталяции или изменили вашу клавиатуру, то вы должны:

- выбрать подходящую раскладку клавиатуры из `/usr/lib/kbd/keytables/`; например, `it.map` определяет итальянскую раскладку;
- отредактировать файл `/etc/sysconfig/keyboard` так, чтобы он содержал: `KEYTABLE="/usr/lib/kbd/keytables/it.map"`;
- чтобы установить скорость повтора и время задержки, добавьте следующую строку к `/etc/rc.d/rc.sysinit` или, если у вас Caldera, к `/etc/rc.d/rc.boot`:

>     /sbin/kbdrate -s -r 16 -d 500  # или что вам нравиться

После следующей перезагрузки, клавиатура будет работать. Чтобы избежать перезагрузки и загрузить только таблицу символов, сделайте `cd /etc/rc.d/init.d` и выполните команду .`/keytable restart`.

## 2.2 Ядро

IMHO (по моему скромному мнению - прим. пер.), следующий важный шаг - это сборка ядра, которое максимально подходило бы к вашей системе. Это очень легко сделать, но, в любом случае, внимательно прочитайте `README` файл в `/usr/src/linux/` или Kernel-HOWTO.
Заметки:

- внимательно рассмотрим, что вам необходимо. Будет более продуктивным выбирать конфигурацию ядра, наложить заплатки и скомпилировать сразу все и для более широких возможностей, чем проводить переконфигурацию и перекомпиляцию каждый месяц; особенно это нужно учесть, если ваш Linux является сервером. Не забудьте включить поддержку для всего оборудования, которое вероятно может быть добавлено в будущем (например, SCSI, Zip, сетевые карты и т.п.);
- если ваш ПК имеет процессор Cyrix, для улучшения производительности сделайте соответствующие заплатки. Информацию по этому вопросу можно посмотреть на `http://www.linuxhq.com/patch/20-p0591.html` ;
- пользователи ноутбуков наверняка захотят улучшить удобочитаемость их LCD дисплея - сделайте для этого Noblink заплатку. Последняя версия называется `noblink-X.X.tar.gz` и доступна на `ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console` . Инсталируйте пакет, затем добавьте к вашему `/etc/profile` строку

>     /usr/local/bin/cursor bgreen  # или другого цвета

- снова для пользователей ноутбуков, если вы планируете использовать PCMCIA модем/факс НЕ компилируйте поддержку последовательного порта как модуль - встраивайте ее в ядро, иначе ваш PCMCIA модем не захочет работать;
- помните, Linux не увидит вашу звуковую карту до тех пор, пока вы ее не настроите абсолютно правильно. Это легко в большинстве случаев, но не забудьте включить все опции (особенно `/dev/dsp` и `/dev/sound`);
- если вы получили противные сообщения от `modprobe,` которые говорят, что некоторые модули не могут быть найдены, это означает, что ваш `/etc/conf.modules` нуждается в правке. Если вы не используете `ipx` и `appletalk` модули, добавьте следующие строчки:

>     alias net-pf-4 off
>     alias net-pf-5 off

- чтобы сэкономить время при следующей переконфигурации и компиляции ядра, будет неплохо, если вы сохраните ваши настройки в отдельном файле и скопируете в надежное место.

## 2.3 Подвисание `sendmail`

В некоторых системах, `sendmail` подвешивает компьютер при начальной загрузке. Быстрое решение: проверьте содержит ли ваш `/etc/hosts` следующую строку

>     127.0.0.1 localhost

Смотри также пункт Имя машины.

## 2.4 Производительность жесткого диска

Производительность вашего жесткого диска можно существенно улучшить осторожно используя `hdparm`(8). Если ваш дистрибутив Linux его не содержит, то вы его можете найти на `ftp://sunsite.unc.edu/pub/Linux/system/hardware`; ищите файл с названием `hdparm-X.Y.tar.gz`.

Я не могу дать вам общий рецепт, поскольку многие детали зависят от типа вашего жесткого диска и его контролера. Как только вы рискнете пощупать вашу файловую систему, пожалуйста, тщательно изучите man до того как менять какие-либо опции. В простейшем случае, вы могли бы добавить следующую строку в ваш `/etc/rc.d/rc.sysinit`:

>     /sbin/hdparm -c1 /dev/hda  # предплагается наличие Linux на первом IDE диске

которая разрешает 32-битную поддержку I/O (E)IDE. Что касается `-m' ключа, то вот что написал мне автор `hdparm` Mark Lord:

> (...) если в вашей системе используются компоненты последних нескольких лет, то все будет хорошо. Для более старых, *могут* быть проблемы (маловероятно). Действительно глючные чипы - это CMD0646 и RZ1000, *чрезмерно* используемые на 486 и (ранних) 586 материнских платах около 2-3 лет назад.

## 2.5 Zip-диск на паралельном порту

Чтобы использовать Zip-диск подключаемый к паралельному порту, вы можете использовать драйвер, поставляемый по умолчанию с последними (2.x.x) версиями ядра. Во время настройки ядра удостоверьтесь, что включена поддержка SCSI и SCSI дисков (либо встроенная в ядро либо как модуль). Помните, что на одном и том же паралельном порту может быть конфликт между принтером и Zip-диском.

Zip-диски продаются уже форматированными на раздел `/dev/sda4`. Чтобы активизировать Zip, вам надо только сделать следующее

>     #~ chmod 666 /dev/sda4  # открыть всем доступ к Zip-диску
>     #~ insmod ppa

и Zip теперь можно монтировать как обычно (лучше записать последнюю строку в `/etc/rc.d/rc.sysinit`). Вы также можете иметь доступ к Zip-диску посредством `mtools.` Для этого добавьте к вашему `/etc/mtools.conf` следующую строку

>     drive z: file="/dev/sda4" exclusive

Имеется лучший `ppa` драйвер, чем стандартный - так что посмотрите на `http://www.torque.net/~campbell`.

## 2.6 Драйверы устройств

Устройства в `/dev` (или лучше, связи с нужными драйверами устройств) могут отсутствовать. Проверьте чему соответствуют ваши устройства мышь, модем и CD--ROM дисковод, а затем сделайте следующее:

>     ~# cd /dev
>     /dev# ln -s /dev/cua0 mouse
>     /dev# ln -s /dev/cua1 modem
>     /dev# ln -s /dev/hdb cdrom

и, если хотите, сделайте `chmod 666` к этим устройствам (не к связям, а к наличным устройствам!), чтобы сделать их полностью доступными каждому пользователю. Совет: в некоторых портативных компютерах устройство мыши будет `/dev/psaux`: примите это во внимание при настройке X11.

В добавление, если вы захотите сделать доступным флоппи-дисковод для не-root пользователей, выполните команду `chmod 666 /dev/fd*`. Это может вызвать проблемы безопасности, но я не знаю всех деталей. Принимаются комментарии по этому вопросу.

## 2.7 Приветствие при загрузке

Если вы хотите сделать собственное приветствие при загрузке системы, проверьте перезаписывает ли ваш `/etc/rc.d/rc.local` файлы `/etc/issue` и `/etc/motd`. и если это так, то вооружитесь редактором и вперед.

## 2.8 Имя машины

Использования комманды `hostname new_host_name` может быть недостаточно. Чтобы избежать ужасного подвисания `sendmail`, сделайте следующие шаги:

- отредактируйте `/etc/sysconfig/network` и измените имя машины в нем (например, `new_host_name.localdomain`);
- отредактируйте соответственным образом `/etc/HOSTNAME`;
- добавьте новое имя машины в `/etc/hosts`:

>     127.0.0.1       localhost  new_host_name.locadomain

## 2.9 Мышь

`gpm` сервис полезен для вырезания и копирования в tty режиме, и для использования мыши в некоторых приложениях. Проверьте имеете ли вы файл `/etc/sysconfig/mouse` и что он содержит:

>     MOUSETYPE="Microsoft"
>     XEMU3=yes

Более того, вы должны иметь файл `/etc/rc.d/init.d/gpm`. Конечно проверьте, что эта конфигурация подходит к типу вашей мыши. Заметка: в некоторых портативных компьютерах (и не только портативных = прим. пер.) `MOUSETYPE` = ```PS/2`''.

Для пользователей Caldera все что нужно сделать, так это добавить к `/etc/rc.d/rc.boot` строку:

>     /usr/bin/gpm

## 2.10 Точки монтирования

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

>     ~# cd /mnt
>     /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip

Эти команды создадут точки монтирования для MS-DOS флоппи, ext2 флоппи, CD-ROM, DOS раздела и Zip.

Теперь отредактируйте `/etc/fstab` и добавьте следующее:

>     /dev/fd0        /mnt/a:         msdos           user,noauto 0 1
>     /dev/fd0        /mnt/floppy     ext2            user,noauto 0 1
>     /dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
>     /dev/sda4       /mnt/zip        vfat            user,noauto 0 1
>     /dev/hda1       /mnt/win        vfat            user,noauto 0 1

>     Прим. пер. - чтобы все файлы не помечались как выполняемые и можно было читать и создавать
>     файлы с русскими именами рекомендую для файловых систем msdos и vfat проводить монтирование
>     со следующими параметрами:

>     /dev/fd0        /mnt/a:         msdos           rw,umask=111,gid=100,iocharser=koi8,noauto 0 1
>     /dev/hda1       /mnt/win        vfat            rw,umask=111,gid=100,iocharser=koi8,noauto 0 1

Конечно, вы должны использовать правильное устройство в первом поле записи. Для доступа к fat32 разделам есть заплатка к ядру и соответствующая информация по адресу `http://bmrc.berkeley.edu/people/chaffee/fat32.html` .

## 2.11 `lilo`(8) и `LOADLIN`

Многие пользователи используют как Linux так и DOS/Windows на их ПК, и, таким образом, во время загрузки компьютера хотят иметь возможность выбирать, какую систему использовать. Предположим, что /dev/hda1 содержит DOS/Windows, а /dev/hda2 - Linux.

Сделайте следующее:

>     ~# fdisk
>     Using /dev/hda as default device!

>     Command (m for help):a
>     Partition number (1-4): 2

>     Command (m for help):w
>     ~#

Это сделает Linux раздел загружаемым; это шаг можно выполнить командой `activate` если вы запустили LILO `QuickInst`, но это не захотело работать с моим дистрибутивом Red Hat.

Создайте основной файл `/etc/lilo.conf`:

>     boot = /dev/hda2
>     compact
>     delay = 50
>     # message = /boot/bootmesg.txt  # напишите ваше
>     root = current
>     image = /boot/vmlinuz  # загружает linux по умолчанию, поскольку записан первым
>       label = linux
>     other = /dev/hda1
>       table = /dev/hda
>       label = dos

Теперь запустите `/sbin/lilo` и установка завершена. Если `lilo` настроился во время вашей инсталяции, все равно я вам настойчиво рекомендую прочесть эту документацию.

Для загрузки Linux из DOS/Windows без перезагрузки компьютера, поместите `LOADLIN.EXE` в директорию (на DOS разделе!), включенную в DOS пути; затем скопируйте ваше ядро в, скажем, `C:\DOS\VMLINUZ`. Приведенный `.BAT` файл загрузит Linux:

>     rem   linux.bat
>     smartdrv /C
>     loadlin c:\dos\vmlinuz root=/dev/hda2 r

Если вы используете Windows 95, установите свойства этого .`BAT` файла так, чтобы от загружался из MS-DOS режима.

### Застрахуйте себя

Сделайте копию вашего MBR до инсталяции Linux - это может сберечь вам много сил и времени. Используйте `restorrb` (включенную в `FIPS` пакет) до инсталяции, или вы можете использовать Linux rescue флоппи-диск и выполнить команду:

>     rescue:~# dd if=/dev/hda of=MBR bs=512 count=1

далее сделайте как минимум две копии файла `MBR` на флоппи. Если вдруг случится непредвиденное, вы всегда сможете восстановить ваш старый MBR командой:

>     rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1

предполагая, что диск с `MBR` примонтирован к `/mnt`. Как альтернативу можно использовать DOS rescue дискету и выполнить команду `FDISK /MBR (прим. перевод. - по непонятным мне причинам это не всегда срабатывает - имею личный опыт. Коментарии приветствуются`.)

## 2.12 Настройка принтера

Дистрибутивы Red Hat и Caldera имеют хорошую утилиту для настройки - `printtool`; Если вы не используете эти дистрибутивы, то для ручной настройки нужно сделать следующее.

Предположим у вас не-PostScript принтер, который вы хотите использовать для печати обыкновенного текста (например, исходники C) и PostScript файлов с помощью Ghostscript, который, предположим, уже инсталирован.

Настройка принтера требует нескольких шагов:

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

>     ~# echo "hello, world" > /dev/lp0
>     ~# echo "hello, world" > /dev/lp1

и заметьте который работает
- создайте две директории для буферов:

>     ~# cd /var/spool/lpd
>     /var/spool/lpd/# mkdir raw ; mkdir postscript

- если у вашего принтера есть эффект "лесенки" (в большинстве случаев для струйных принтеров), вам будет необходим фильтр. Попробуйте напечатать две строки

>     ~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1

если вы получите на принтере что-то в этом духе:

>     first line
>               second line

то скопируйте приведенный скрипт в файл `/var/spool/lpd/raw/filter`:

>     #!/bin/sh
>     # Этот фильтр убирает "эффект лесенки"
>     awk '{print $0, "\r"}'

и сделайте его выполняемым: `chmod 755 /var/spool/lpd/raw/filter`.
- создайте фильтр для эмуляции PostScript. Запишите приведенный фильтр в файл `/var/spool/lpd/postscript/filter`:

>     #!/bin/sh

>     DEVICE=djet500
>     RESOLUTION=300x300
>     PAPERSIZE=a4
>     SENDEOF=

>     nenscript -TUS -ZB -p- |
>     if [ "$DEVICE" = "PostScript" ]; then
>             cat -
>     else
>             gs -q -sDEVICE=$DEVICE \
>                     -r$RESOLUTION \
>                     -sPAPERSIZE=$PAPERSIZE \
>                     -dNOPAUSE \
>                     -dSAFER \
>                     -sOutputFile=- -
>     fi

>     if [ "$SENDEOF" != "" ]; then
>             printf "\004"
>     fi

(в этом примере предполагается принтер HP DeskJet. Поправьте соответственно вашему принтеру).
- и наконец, добавьте следующие строки к вашему `/etc/printcap`:

>     # /etc/printcap
>     lp|ps|PS|PostScript|djps:\
>             :sd=/var/spool/lpd/postscript:\
>             :mx#0:\
>             :lp=/dev/lp1:\
>             :if=/var/spool/lpd/postscript/filter:\
>             :sh:
>     raw:\
>             :sd=/var/spool/lpd/raw:\
>             :mx#0:\
>             :lp=/dev/lp1:\
>             :if=/var/spool/lpd/raw/filter:\
>             :sh:

Для более комплексной или экзотической настройки печати читайте Printing-HOWTO - это вам поможет.

Если вы используете `printtool`, проверьте чтобы GSDEVICE, выбранный Printtool, работал - не обязательно, что это лучшее для вашего принтера. Вы можете немного поэкспериментировать с файлом `postscript.cfg`; например, я изменил GSDEVICE с `cdj500` на `djet500` и теперь мой принер печатает намного быстрее.

Next Previous Contents