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

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

Жанры

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

Шрифт:

Глава 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

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

Блуждающие огни 4

Панченко Андрей Алексеевич
4. Блуждающие огни
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Блуждающие огни 4

Я сделаю это сама

Кальк Салма
1. Магический XVIII век
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Я сделаю это сама

Флеш Рояль

Тоцка Тала
Детективы:
триллеры
7.11
рейтинг книги
Флеш Рояль

Боярышня Дуняша

Меллер Юлия Викторовна
1. Боярышня
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Боярышня Дуняша

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Леди для короля. Оборотная сторона короны

Воронцова Александра
3. Королевская охота
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Леди для короля. Оборотная сторона короны

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Невест так много. Дилогия

Завойчинская Милена
Невест так много
Любовные романы:
любовно-фантастические романы
7.62
рейтинг книги
Невест так много. Дилогия

Идеальный мир для Социопата 3

Сапфир Олег
3. Социопат
Фантастика:
боевая фантастика
6.17
рейтинг книги
Идеальный мир для Социопата 3

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

Наследник павшего дома. Том I

Вайс Александр
1. Расколотый мир
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том I

Крещение огнем

Сапковский Анджей
5. Ведьмак
Фантастика:
фэнтези
9.40
рейтинг книги
Крещение огнем

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая