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

на главную - закладки

Жанры

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

Шрифт:

Глава 16 Обновление и компиляция ядра

Системный администратор рано или поздно сталкивается с необходимостью обновления ядра операционной системы Linux. И возникает дилемма – искать новое ядро операционной системы в виде инсталляционного пакета или самостоятельно скомпилировать его из исходных текстов.

Рассмотрим более простой вариант – обновление ядра операционной системы Linux из пакета RPM, созданного специалистами фирмы Red Hat.

Обновление ядра операционной системы Linux

Мир не без добрых людей. Как правило, почти все производители дистрибутивов Linux производят выпуск обновленных пакетов программ, в том числе и ядра операционной системы. Это, правда, происходит с некоторой временной задержкой, да и не всегда в инсталляционных пакетах выходят все версии ядра операционной системы.

Дальнейшее описание процесса обновления ядра операционной системы будет основываться на документе "Red Hat Linux 7.2 The Official Red Hat Linux Customization Guide".

Подготовка к обновлению ядра операционной системы

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

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

uname -r

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

/sbin/mkbootdisk kernelversion

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

После этого загрузите систему с помощью полученной загрузочной дискеты, чтобы убедиться в ее работоспособности. Небольшой совет – сделайте две загрузочных дискеты, всякое бывает.

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

rpm -qa | grep kernel

В результате вы получите что-то подобное:

kernel-headers-2.4.7–3

kernel-2.4.7–3

kernel-source-2.4.7–3

kernel-doc-2.4.7-3

На основании этого списка определим пакеты, которые необходимо загрузить из Интернета. Если у вас хороший канал, желательно загрузить и обновить все относящиеся к ядру установленные пакеты. Если же нет – загружаемые пакеты зависят от ваших намерений:

• для обновления ядра операционной системы – загружаем только kernel-2. 4. XX.;

• для перекомпилирования ядра операционной системы – необходимо загрузить пакеты kernel-headers-2.4.хх, kernel-source-2.4.хх.

Загрузку необходимых пакетов можно осуществить напрямую с FTP-сервера. Список доступных зеркал находится по адресу www.redhat.com/download/mirror.html

Обновление ядра операционной системы

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

• командой rpm -Uvh kernel-2.4.хх. i386.rpm – обновить ядро операционной системы;

• командой rpm ivh kernel-2.4.хх. i386.rpm – установить понос ядро операционной системы.

Второй способ позволит в случае, если новое ядро вызывает проблемы, безболезненно «откатиться» (roll back, downgrade) на старое ядро операционной системы.

Аналогично обновляются пакеты с исходными текстами ядра операционной системы Linux.

Для проверки обновления ядра выполните следующую команду:

Is -l /boot

Вы должны увидеть следующий файл: vmlinuz-2.4jcc.

После обновления ядра операционной системы необходимо осуществить конфигурирование загрузчика (boot loader).

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

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

...

Предупреждение

Будьте предельно внимательны во время конфигурирования загрузчика – если вы ошибетесь, операционная система Linux не сможет загрузиться. В этом случае придется воспользоваться заблаговременно созданной загрузочной дискетой и внимательно переконфигурировать загрузчик.

В дистрибутиве Red Hat Linux 7.2 существует возможность при инсталляции выбрать устанавливаемый загрузчик – GRUB или LILO. Поэтому рассмотрим конфигурирование обоих загрузчиков.

GRUB

Если у вас установлен загрузчик GRUB, вы должны отредактировать файл /boot/grub/grub.conf.

Типичный конфигурационный файл GRUB приведен ниже:

# NOTICE: You have a /boot partition. This means that

# all kernel paths are relative to /boot/

default=0

timeout=30

splashimage=(hd0,0)/grub/splash.xpm.gz

title Red Hat Linux (2.4.7–3)

root (hd0,0)

kernel /vmlinuz-2.4.7–3 ro root=/dev/hda3

initrd /initrd-2.4.7–3.img

Добавление нового ядра в список загрузчика, рекомендуется производить в два этапа: 1. Сначала добавить новую секцию для нового ядра и убедиться, что загрузка происходит нормально. Добавить новую секцию проще всего, скопировав существующую и подправив ее в нужном месте. В результате получим следующий текст (добавленная секция выделена полужирным шрифтом):

# NOTICE: You have a /boot partition. This means that

# all kernel paths are relative to /boot/

default=0

timeout=30

splashimage=(hd0,0)/grub/splash.xpm.gz

title My new kernel (2.4.12)

root (hd0,0)

kernel /vmlinuz-2.4.12 ro root=/dev/hda3

initrd /initrd-2.4.12.img

title Red Hat Linux (2.4.7–3)

root (hd0,0)

kernel /vmlinuz-2.4.7–3 ro root=/dev/hda3

initrd /initrd-2.4.7–3.img

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

2. Убедившись, что загрузка происходит без эксцессов и система функционирует нормально, удалите из конфигурационного файла описание старой версии ядра.

LILO

Конфигурирование LILO в целом похоже на конфигурирование GRUB. Конфигурационный файл LILO находится по адресу /etc/lilo.conf.

Типичный файл /etc/lilo.conf похож на тот, что приведен ниже:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

message=/boot/message

linear

default=linux

image=/boot/vmlinuz-2.4.7–3

label=linux

initrd=initrd-2.4.7–3.img

read-only

root=/dev/hda5

Аналогично GRUB, модернизацию конфигурационного файла LILO производим в два этапа. 1. Сначала получим файл, где прописаны оба ядра – старое и новое:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=50

message=/boot/message

linear

default=linux

image=/boot/vmlinuz-2.4.12

label=new Linux kernel

initrd=initrd-2.4.12.img

read-only

root=/dev/hda5

image=/boot/vmlinuz-2.4.7–3

label=Linux

initrd=initrd-2.4.7–3.img

read-only

root=/dev/hda5

Поделиться:
Популярные книги

Лекарь

Назимов Константин Геннадьевич
2. Травник
Фантастика:
фэнтези
5.25
рейтинг книги
Лекарь

An ordinary sex life

Астердис
Любовные романы:
современные любовные романы
love action
5.00
рейтинг книги
An ordinary sex life

Кодекс Охотника. Книга XXXV

Винокуров Юрий
35. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXV

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Курс 1. Сентябрь

Фокс Гарри
1. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Сентябрь

Мальвиль

Мерль Робер
Фантастика:
социально-философская фантастика
научная фантастика
альтернативная история
8.29
рейтинг книги
Мальвиль

Охотник за головами

Вайс Александр
1. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Охотник за головами

Я не князь. Книга XIII

Дрейк Сириус
13. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я не князь. Книга XIII

Убивать чтобы жить 2

Бор Жорж
2. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 2

Глэрд VIII: Базис 2

Владимиров Денис
8. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Глэрд VIII: Базис 2

Бояръ-Аниме. Газлайтер. Том 35

Володин Григорий Григорьевич
35. История Телепата
Фантастика:
аниме
боевая фантастика
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 35

Гримуар темного лорда VI

Грехов Тимофей
6. Гримуар темного лорда
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Гримуар темного лорда VI

Наномашины, ученик! Том 6

Новиков Николай Васильевич
6. Первый среди карапузов
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Наномашины, ученик! Том 6

Второгодка. Книга 3. Ученье свет

Ромов Дмитрий
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
5.00
рейтинг книги
Второгодка. Книга 3. Ученье свет