Чтение онлайн

ЖАНРЫ

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Не забудьте включить средство автоматического монтирования сменных носителей — Kernel automounter support особенно для рабочей станции! А вот поддержка квот (Quota support) окажется полезной, если вы настраиваете сервер.

В подразделе DOS/FAT/NT Filesystems вы можете включить поддержку следующих систем:

♦ Файловая система MS DOS. Включить ее нужно обязательно — в странах бывшего СССР до сих пор встречаются дискеты, записанные в этой файловой системе.

♦ VFAT (Windows-95): это основная файловая система операционных систем Windows 95 и 98.

♦ NTFS — файловая система ОС Windows NT, 2000, XP. Здесь же можно включить поддержку записи на раздел NTFS, которая по умолчанию отключена.

В разделе Pseudo filesystems вы можете включить так

называемые псевдосистемы — файловые системы
/proc
и
/dev
.

В разделе Miscellaneous filesystems находятся опции включения поддержки других, редко используемых файловых систем, например, HPFS (High Performance File System), которая используется по умолчанию ОС IBM OS/2.

Включить поддержку файловых систем NFS и SMB (используется для монтирования удаленных Windows-разделов, читайте «общих дисков и папок») можно в разделе Network File Systems.

Раздел Native Language Support позволяет включить поддержку различных кодировок, в которых могут быть представлены имена файлов. Например, отключив кодировку cp-1251, при просмотре содержимого Windows-раздела вы увидите иероглифы вместо русских букв.

20.5.2.10. Kernel hacking

В этом разделе для вас найдутся две полезные опции, даже если вы не занимаетесь разработкой модулей ядра Linux. Опция Prefer small over fast code позволяет сделать ядро более маленьким, но более медленным. Маленький, но медленный код может пригодиться для создания загрузочной дискеты — там важен каждый байт. Вторую опцию Kernel debugging также можно отключить, если вы создаете системную дискету.

20.5.2.11 .Cryptographic options

Различные опции, касающиеся криптографии.

В разделах Library routines и Unofficial 3rd party kernel additions я не нашел для себя ничего интересного.

20.5.3.Сборка ядра

Теперь, когда все устройства сконфигурированы, нужно сохранить файл конфигурации ядра и перейти непосредственно к этапу сборки ядра.

Для сборки вам понадобится программное обеспечение, необходимые версии которого перечислены в таблице 20.4.

Необходимое программное обеспечение Таблица 20.4

Программа/библиотека Минимально допустимая версия Где взять
Gnu С Compiler 2.95.3 http://gcc.gnu.org
Gnu Make 3.78 ftp://ftp.gnu.org/gnu/make/
binutils 2.12 ftp://ftp.kernel.оrg/pub/linux/devel/binutils/
util-linux 2.10o ftp://ftp.kernel.org/pub/linux/utils/util-linux/
module-init-tools 0.9.9 http://www.kernel.org/pub/linux/kernel/peoplе/rusty/modules/
procps 2.0.9 http://procps.sourceforge.net/
e2fsprogs (*) 1.29 http://e2fsprogs.sourceforge.net/
jfsutils (*) 1.0.14 http://www-124.ibm.com/jfs/
reiserfsprogs (*) 2.1.0 http://www.namesys.com/
nfs-utils 1.0,5 http://nfs.sourceforge.net/
pcmcia-cs 3.1.21 http://pcmcia-cs.sourceforge.net/
quota-tools 3.09 http://sourceforge.net/projects/linuxquota/
ppp 2.4,0 ftp://ftp.samba.org/pub/ppp/
isdn4k-utils 3.1pre1 http://www.isdn4linux.de/swpat.html
oprofile 0.5.3 http://oprofile.sourceforge.net/

(*)

Данное программное обеспечение зависит от используемой файловой системы. Если вы используете только ext2, обновите только e2fsprogs, если JFS — то jfsutils. Если же вы используете все перечисленные файловые системы ext2, JFS, RelserFS, вам нужно обновить все программы, отмеченные звездочкой.

Ваше старое ядро пока работает и, чтобы не сделать ничего непоправимого, нужно собирать новое ядро под новым именем. Найдите в Makefile (в самом начале файла) строчки:

VERSION=2

PATCHLEVEL=6

SUBLEVEL=<третья_цифра_версии_вашего_ядра>

EXTRAVERSION=

EXTRAVERSION — это суффикс, которым будет отличаться имя нового ядра. Дайте ему значение вроде «new» или «test». Это приведет к тому, что собранное вами ядро будет называться linux-2.6.x-new. Старое ядро никуда не денется, и при загрузке можно будет выбрать нужный вариант ядра.

Команда

make dep
, которая вводилась после конфигурирования ядер 2.4 и ниже, при сборке ядра 2.6 не используется. Вместо нее выполните следующую последовательность команд:

$ make bzImage

$ make modules

Эти пара команд соберет ядро и те модули, которые вы включили в него на этапе конфигурирования. Процесс сборки займет не меньше 20 минут, а то и значительно больше — в зависимости от быстродействия вашей системы и количества выбранных модулей.

Можно выполнять эти команды от имени непривилегированного пользователя. Даже нужно, поскольку идеологически правильнее работать под рутом только тогда, когда иначе нельзя. Без привилегий суперпользователя нельзя обойтись только на этапе установки ядра и модулей:

# make modules_install

# make install

Результатом успешной сборки и установки станут следующие файлы и каталоги:

/boot/vmlinuz-2.6.x-new

/boot/System.map-2.6.x-new

/boot/initrd-2.6.x-new.img

/lib/modules/2.6.x-new

Осталось добавить в конфигурационный файл вашего загрузчика (п.9.1.1) вариант загрузки с новым ядром. Если вы используете GRUB, впишите в

/boot/grub/grub.conf
следующие строки:

title Linux New Kernel

kernel /vmlinuz-2.6.x-new root=/dev/hda5 ro

initrd /initrd-2.6.x-new.img

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

В случае, если ваш загрузчик — LILO, впишите в

/etc/lilo.conf
строки:

image=/boot/vmlinuz-2.6.x-new

label=" Linux New Kernel"

root=/dev/hda5

initrd=/boot/initrd-2.6.x-new.img

read-only

И занесите изменения в загрузочную запись:

# lilo

Теперь перезагрузите систему и попробуйте загрузиться с новым ядром. При появлении каких-либо ошибок вы всегда сможете загрузить старую версию.

Глава 21

Создаем консольное приложение

21.1. Компилятор gcc

В 8 главе вы познакомились с языком командного интерпретатора и убедились, что на нем можно писать полезные сценарии. Но если вы раньше программировали под Windows, то интерпретатора вам маловато будет — понадобятся более мощные средства разработки. Разумеется, они в ОС Linux есть.

Поделиться с друзьями: