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

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

Жанры

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

Шрифт:

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

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

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Наследник хочет в отпуск

Тарс Элиан
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник хочет в отпуск

Кто ты, моя королева

Островская Ольга
Любовные романы:
любовно-фантастические романы
7.67
рейтинг книги
Кто ты, моя королева

70 Рублей - 2. Здравствуй S-T-I-K-S

Кожевников Павел
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
постапокалипсис
5.00
рейтинг книги
70 Рублей - 2. Здравствуй S-T-I-K-S

Жребий некроманта 2

Решетов Евгений Валерьевич
2. Жребий некроманта
Фантастика:
боевая фантастика
6.87
рейтинг книги
Жребий некроманта 2

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

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

Ну привет, заучка...

Зайцева Мария
Любовные романы:
эро литература
короткие любовные романы
8.30
рейтинг книги
Ну привет, заучка...

Идеальный мир для Лекаря 22

Сапфир Олег
22. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Идеальный мир для Лекаря 22

Последний Паладин. Том 3

Саваровский Роман
3. Путь Паладина
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 3

Бестужев. Служба Государевой Безопасности. Книга третья

Измайлов Сергей
3. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга третья

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2

Сумеречный Стрелок 2

Карелин Сергей Витальевич
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 2

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

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

Кровь и Пламя

Михайлов Дем Алексеевич
7. Изгой
Фантастика:
фэнтези
8.95
рейтинг книги
Кровь и Пламя