Читаем Linux полностью

где kernelversion – версия ядра, полученная с помощью команды uname.

Далее необходимо получить из Интернета (или с инсталляционного компакт-диска) и установить пакеты kernel-headers и kernel-source.

После этого перейти в каталог /usr/src/linux-2.4 и все дальнейшие команды выполнять из этого каталога.

Ядро с поддержкой загружаемых модулей (модульное)

Компиляция ядра операционной системы Linux происходит в несколько этапов.

1. Необходимо быть уверенным, что после предыдущих компиляций ядра операционной системы в дереве исходных кодов не осталось каких-либо несуразностей типа исходных текстов ядра младшей версии или неубранных объектных файлов. Поэтому компиляцию ядра операционной системы рекомендуется начать с команды make mrproper. Эта команда помимо того, что удаляет «мусор» после предыдущих компиляций, уничтожает также конфигурационный файл ядра, который находится в /usr/src/linux-2.4/.config. Если у вас уже есть рабочий конфигурационный файл (/usr/src/linux-2.4/.config) который вы хотите взять за основу, перед выполнением этой команды скопируйте его в свой домашний каталог, а после выполнения команды make mrproper верните на прежнее место.

2. Теперь следует произвести конфигурацию ядра операционной системы. Если у вас уже есть готовый конфигурационный файл – пропустите этот шаг. Для конфигурирования ядра операционной системы, как мы уже указывали выше, можно воспользоваться четырьмя разными утилитами, приводящими к одному результату:

• make xconfig. Утилита используется для конфигурирования ядра операционной системы в среде X Window;

• make config. Простая текстовая утилита конфигурации ядра операционной системы;

• make menuconfig. Текстовая утилита с системой меню для конфигурации ядра операционной системы Linux;

• make oidconfig. Неинтерактивный скрипт, который устанавливает в конфигурационном файле ядра значения по умолчанию.

3. После создания конфигурационного файла /usr/src/linux-2.4/.config для корректной установки всех зависимостей выполняем команду make dep.

4. Для подготовки исходных текстов для компиляции выполняем команду make clean.

5. Теперь необходимо отредактировать файл /usr/src/linux-2.4/Makefile таким образом, чтобы полученное новое ядро не перекрыло старое ядро операционной системы (более подробную информацию смотрите в Kernel-HOWTO). Редактируем /usr/src/linux-2.4/Makefile и исправляем строку, начинающуюся с extraversion= таким образом, чтобы создать уникальное имя. Самый простой вариант – добавить дату компиляции ядра. К примеру EXTRAVERSION= -0.1.21-jul2001. Это позволит одновременно иметь старую и новую версии ядра операционной системы.

6. Компилируем ядро операционной системы командой make bzImage.

7. Компилируем модули ядра операционной системы командой make modules.

8. Устанавливаем модули операционной системы командой make moduies_install. Эта команда должна установить модули ядра в каталог /lib/modules/KERNELVERSION/kernel/drivers, где KERNELVERSION – версия, описанная в файле Makefile. В нашем примере это /lib/modules/2.4.7-3-jul2001/kernel/drivers/.

9. Если в вашей системе установлен SCSI-контроллер, и вы сделали SCSI-драйвер модульным, необходимо создать новый файл initrd (см. далее).

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

11. Ядро успешно скомпилировано и установлено. Далее необходимо произвести конфигурирование загрузчика (см. разд. "Конфигурирование загрузчика ").

Создание образа initrd

Файл initrd необходим для загрузки SCSI-модуля во время старта операционной системы. Скрипт /sbin/mkinitrd создает соответствующий образ initrd для вашего компьютера, если выполнены следующие условия:

• loopback block device доступно;

• файл /etc/modules.conf содержит описание вашего SCSI-контроллера.

Для построения образа initrd необходимо выполнить команду /sbin/mkinitrd СО следующими параметрами: /sbin/mkinitrd /boot/initrd-2.4.7-3-jul2001.img 2.4.7-3-jul2001

Здесь /boot/initrd-2.4.7-3-jul200i. img – имя файла для нового образа initrd, a 2.4.7-3-jul2001 – ядро, чьи модули (из /lib/modules) должны быть использованы при создании образа initrd.

Этапы компиляции

Подведем итог. Для компиляции и инсталляции модульного ядра операционной системы Linux необходимо выполнить следующие команды:

1. make mrproper.

2. make menuconfig.

3. make dep.

4. make clean.

5. Редактирование /usr/src/linux-2.4/Makefile.

6. make bzlmage.

7. make modules.

8. make modules_install.

9. /sbin/mkinitrd /boot/initrd-2.4.xx.img 2.4.хх (если В вашей системе установлен SCSI-контроллер).

10. make install.

11. Конфигурирование загрузчика.

Монолитное ядро

Компиляция монолитного ядра операционной системы в основном повторяет компиляцию модульного ядра за некоторыми небольшими исключениями:

• когда конфигурируется ядро, не должны использоваться модули, т. е. на любой вопрос надо отвечать только Yes или No. Так же необходимо ответить No для пунктов kmod support и module version (CONFIG MODVERSIONS) support;

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

– make modules;

– make modules_instali;

• для загрузчика LILO в файл lilo.conf необходимо добавить строчку append=nomodules.

Этапы компиляции

Подведем итог. Для компиляции и инсталляции монолитного ядра операционной системы Linux необходимо выполнить следующие команды:

1. make mrproper.

2. make menuconfig.

3. make dep.

4. make clean.

5. Редактирование /usr/src/linux-2.4/Makefile.

6. make bzlmage.

7. /sbin/mkinitrd /boot/initrd-2.4.xx.img 2.4.хх (если В вашей системе установлен SCSI-контроллер).

8. make install.

9. Конфигурирование загрузчика (см. разд. «Конфигурирование загрузчика»). Для загрузчика LILO в файл lilo.conf необходимо добавить строчку append=nomodules.

Параметры настройки ядра

Этот раздел полностью посвящен параметрам настройки ядра операционной системы Linux. Структура раздела выглядит следующим образом – в первой части на основе утилиты menuconfig показано дерево параметров настройки ядра Linux, во второй части – краткие пояснения параметров.

Дерево параметров настройки ядра

Полное дерево настроек ядра Linux с установками, используемыми в дистрибутивном ядре Red Hat Linux 7.2, приведено в приложении 4.

Параметры настройки ядра (комментарии)

Как вы уже заметили, параметров настройки ядра много, и чтобы правильно их сконфигурировать, необходимо иметь обширные знания о функциях операционной системы Linux. Еще одна особенность – почти 90 % всех настроек и свойств ядра вынесены в модули. Если вы не уверены в том или ином свойстве – поставьте «использовать модуль».

Далее кратко прокомментируем основные пункты меню конфигурации ядра операционной системы:

• Code maturity level options – для использования альфа– или нестабильных версий драйверов. В основном с целью отладки;

• Loadable module support – отвечает за вид скомпилированного ядра операционной системы: модульное или монолитное;

• Processor type and features – определяет тип процессора, для которого компилируется ядро операционной системы, поддержку набора процессорных команд, поддержку мультипроцессорной системы, объем поддерживаемой оперативной и виртуальной памяти и некоторые другие параметры. Для максимальной производительности системы рекомендуется выбрать именно тот тип процессора, который установлен в вашей системе, однако с целью совместимости в дистрибутиве ядро компилируется таким образом, чтобы оно работало на любом процессоре – от Pentium до Pentium 4, AMD и Cyrix;

• General setup – определяет основные свойства ядра: что оно сможет делать и какие типы устройств будет поддерживать. Здесь выбирается поддержка сети, шин PCI, EISA, MCA, PCMCIA-устройств, различных форматов исполняемых файлов и т. п;

• Binary emulation of other systems – определяет, для каких операционных систем поддерживается выполнение бинарных файлов. В основном, это поддержка бинарных файлов для UnixWare, Solaris, SCO Unix;

• Memory Technology Devices (MTD) – данные устройства (твердотельные накопители) для нас еще достаточно экзотичны;

• Parallel port support – отвечает за поддержку ядром параллельного порта;

• Plug and Play configuration – поддержка Plug and Play, в том числе и ISA-устройств;

• Block devices – определяется поддержка различных блоковых устройств и контроллеров, в том числе дисководов, жестких дисков старого (XT) типа или жестких дисков, подключаемых к параллельному порту. Здесь же включается поддержка Loорback-устройства, сетевого блочного устройства и диска, создаваемого в оперативной памяти (RAM Disk). С последним надо быть очень аккуратным, как вы знаете, он используется при загрузке операционной системы;

• Multi-device support (RAID and LVM) – включается поддержка RAID-устройств и LVM (управление массивом дисков);

• Networking options – поскольку одним из важнейших назначений для операционной среды Linux является работа с сетью, то, наверное, половина параметров ядра тем или иным образом касается сети. Здесь определяются различные сетевые параметры – используемые сетевые протоколы, сетевая маршрутизация, конфигурирование виртуального сервера и многое другое;

• Telephony Support – отвечает за поддержку плат IP-телефонии – специализированных устройств для преобразования телефонного звонка в цифровое представление и обратно. Подавляющее число пользователей вряд ли даже знают названия этих карт, не говоря уже об использовании;

• ATA/IDE/MFM/RLL support – определяются поддерживаемые устройства и контроллеры ATA/IDE, а так же устаревшие устройства MFM/RLL. Здесь же есть параметры для исправления ошибок различных чипов контроллеров ATA/IDE, большей частью времен 386 и 486 процессоров. Поскольку у большинства пользователей в компьютере присутствует хотя бы одно устройство ATA/IDE – нужно быть очень внимательным при конфигурировании этого раздела. В этом же разделе включается поддержка модных ныне аппаратных контроллеров IDE RAID;

• SCSI support – определяет поддержку SCSI-устройств и контроллеров. Поскольку SCSI-устройства сложнее IDE-устройств, и каждый производитель контроллеров старался «отличиться», этот раздел получился большим и несколько запутанным. Здесь определяется поддержка дисков, ленточных накопителей, CD-ROM и RAID-массивов;

• Fusion MPT device support – поддержка устройства Fusion MPT – объединенного высокоскоростного SCSI-адаптера и сетевого интерфейса. Работает по протоколу Ultra 320 или Fibre Channel;

• IEEE 1394 (FireWire) support (EXPERIMENTAL) – поддержка контроллеров FireWire;

• 120 device support – поддержка Intelligent Input/Output. Используется для ввода/вывода без участия процессора;

• Network device support – поддержка различных сетевых устройств, в том числе протокола РРР, SLIP, оптических устройств, беспроводных сетей и т. п.;

• ARCnet devices – протокол и устройства, разработанные достаточно давно. Практически вышли из употребления;

• Appletalk devices – устройства для сетей Appletalk фирмы Apple. В России широкого распространения не имеют;

• Ethernet (10 or 100Mbit) – поддержка сетевой карты Ethernet. Представлены карты и семейства карт различных производителей, работающие на скорости 10 или 10/100 Мбит;

• Ethernet (100 Mbit) – представлены сетевые карты Ethernet, работающие на скорости 100 Мбит;

• Wireless LAN (non-hamradio) – осуществляется поддержка устройств типа Radio Ethernet;

• Token Ring devices – устройство, разработанное фирмой IBM достаточно давно. Большого распространения (по крайней мере у нас) не получило. Сегодня практически не используется;

• Wan interfaces – поддержка интерфейсов глобальных сетей;

• ATM drivers – поддержка для ATM-сетей. Очень распространены в США для организации связи на большом расстоянии;

• Amateur Radio support – поддержка любительского радио. Не представляет интереса для подавляющего числа пользователей (если вы, конечно, не радиолюбитель);

• IrDA (infrared) support – поддержка устройств и инфракрасных портов. Обычно используется для связи с портативными принтерами, органайзерами и мобильными телефонами;

• ISDN subsystem – поддержка ISDN-устройств. В основном используется для подключения к цифровым телефонным станциям;

• Old CD-ROM drivers (not SCSI, not IDE) – поддержка старых CD-ROM, работающих по специфическому протоколу. Подобные устройства не выпускаются с 1996 года (максимальная скорость устройств – 4х —6х);

• Input core support – поддержка USB Human Interface Device (в частности USB-клавиатуры и мыши);

• Character devices – поддержка символьных устройств: терминалов, последовательных портов и многопортовых контроллеров, аппаратных датчиков, мышей, джойстиков и манипуляторов, видеокарт и чипсетов;

• Multimedia devices – поддержка мультимедиа-устройств. В данном случае это платы TV– и FM-приемников, платы телетекста;

• Crypto Hardware support – поддержка устройств аппаратного шифрования (для закрытых учреждений);

• File systems – поддержка различных файловых систем (VFAT, Ext3, ISO 9660 и т. п.), сетевых файловых систем, поддержка квотирования дискового пространства для пользователей, типов разделов жесткого диска. Помимо этого, сюда же вынесена поддержка различных языковых кодировок;

• Console drivers – консольные драйверы, поддержка ряда видеокарт;

• Sound – поддержка звуковых карт. Из-за того, что до последнего времени не было единого стандарта на звуковой интерфейс, почти каждая карта была в своем роде уникальна;

• USB support – поддержка USB-контроллеров и устройств, в том числе Flash-накопителей, мышей, видеокамер и т. п.;

• Bluetooth support – поддержка нового Bluetooth-интерфейса (радиосеть);

• Kernel hacking – используется для отладки ядра операционной системы Linux.

Ссылки

• Red Hat Linux 7.2 The Official Red Hat Linux Customization Guide.

• The Linux Kernel on Red Hat Linux Systems – обновление ядра операционной системы.

• www.gnu.org/software/grub/ – домашняя страница GRUB.

• www.redhat.com/support/docs/howto/kernel-upgrade/kernel-upgrade.html – Upgrading.

• /usr/src/linux-2.4/Documentation – большой объем документации, посвященный ядру операционной системы Linux и ее модулям.

• Kernel-HOWTO (The Linux Kernel HOWTO) – описание конфигурирования и компиляции ядра (см. гл. 13).

Перейти на страницу:

Все книги серии Наиболее полное руководство

Linux
Linux

Книга посвящена операционной системе Linux. Приводятся подробные сведения о ее особенностях и возможностях, идеологии файловой системы, инсталляции и основных командах, вопросах компиляции ядра, настройках и сервисах. Большое внимание уделяется организации на базе Linux различных серверов и служб: электронной почты, WWW, FTP, INN, Proxy, NTP, а также проблемам администрирования сети, обеспечения безопасной работы и другим вопросам. Описаны способы настройки под Linux рабочих станций, в т. ч. и бездисковых, установки и эксплуатации на них графических сред типа X Window, а также конфигурирование модемных соединений, принтеров и сканеров, отладка взаимодействия с Linux-машинами такой «экзотической» периферии, как карманные компьютеры, мобильные телефоны, TV-тюнеры и т. п. Рассматриваемые в книге конфигурационные файлы и структура каталогов соответствуют дистрибутиву Red Hat Linux 7.x, тем не менее, при минимальной адаптации все упоминаемые в книге пакеты устанавливаются в любом дистрибутиве Linux.Для начинающих администраторов или пользователей Linux.

Алексей Александрович Стахнов

ОС и Сети, интернет

Похожие книги

Полное руководство по Microsoft Windows XP
Полное руководство по Microsoft Windows XP

В книге известного американского автора описывается среда ОС Windows XP и принципы ее функционирования, приведен сравнительный анализ Windows XP с предшествующими версиями операционной системы Windows. Рассматриваются вопросы применения и модификации нового интерфейса с целью получения прямого доступа ко всем функциям Windows XP обсуждаются варианты подключения к компьютерным сетям. Несколько разделов посвящены работе с реестром и конфигурационными файлами, мультимедийным функциям и разнообразным системным службам, а также методам решения проблем с программным обеспечением и оборудованием. Особое внимание уделено обеспечению безопасности операционной системы.Издание адресовано пользователям и сетевым администраторам, желающим активно применять возможности операционной системы Windows XP (в том числе и недокументированные).

Джон Поль Мюллер , Питер Нортон

ОС и Сети, интернет / ОС и Сети / Книги по IT
Веб-аналитика: анализ информации о посетителях веб-сайтов
Веб-аналитика: анализ информации о посетителях веб-сайтов

Компании в веб-пространстве тратят колоссальные средства на веб-аналитику и оптимизацию своих веб-сайтов, которые, в свою очередь, приносят миллиарды долларов дохода. Если вы аналитик или работаете с веб-данными, то эта книга ознакомит вас с новейшими точками зрения на веб-аналитику и то, как с ее помощью сделать вашу компанию весьма успешной в веб. Вы изучите инструментальные средства и показатели, которые можно использовать, но что важнее всего, эта книга ознакомит вас с новыми многочисленными точками зрения на веб-аналитику. Книга содержит много советов, приемов, идей и рекомендаций, которые вы можете взять на вооружение. Изучение веб-аналитики по этой уникальной книге позволит познакомиться с проблемами и возможностями ее современной концепции. Написанная практиком, книга охватывает определения и теории, проливающие свет на сложившееся мнение об этой области, а также предоставляет поэтапное руководство по реализации успешной стратегии веб-аналитики.Эксперт в данной области Авинаш Кошик в присущем ему блестящем стиле разоблачает укоренившиеся мифы и ведет по пути к получению действенного понимания аналитики. Узнайте, как отойти от анализа посещаемости сайта, почему основное внимание следует уделять качественным данным, каковы методы обретения лучшего понимания, которое поможет выработать мировоззрение, ориентированное на мнение клиента, без необходимости жертвовать интересами компании.- Изучите все преимущества и недостатки методов сбора данных.- Выясните, как перестать подсчитывать количество просмотренных страниц, получить лучшее представление о своих клиентах.- Научитесь определять ценность показателей при помощи тройной проверки "Ну и что".- Оптимизируйте организационную структуру и выберите правильный инструмент аналитики.- Изучите и примените передовые аналитические концепции, включая анализ SEM/PPC, сегментацию, показатели переходов и др.- Используйте решения с быстрым началом для блогов и электронной торговли, а также веб-сайтов мелкого бизнеса.- Изучите ключевые компоненты платформы экспериментирования и проверки.- Используйте анализ конкурентной разведки для обретения понимания и принятия мер.Здесь также находятся:- Десять шагов по улучшению веб-аналитики.- Семь шагов по созданию управляемой данными культуры в организации.- Шесть способов замера успеха блога.- Три секрета создания эффективной веб-аналитики.- Десять признаков великого веб-аналитика.

Авинаш Кошик

ОС и Сети, интернет