The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Наложение патчей обновления системы в OpenBSD (openbsd update patch)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: openbsd, update, patch,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 15:43:33 Subject: Наложение патчей обновления системы в OpenBSD
Брайан Шонхорст

Перевод: Сгибнев Михаил

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

Наложение на систему патчей безопасности должно быть сделано сразу после установки. Эти патчи закрывают бреши в системе безопасности, выявленные начиная с момента выпуска системы. Будет хорошей идеей подписаться на список рассылки security-announce, для своевременного получения уведомлений о выходе исправления.

Официальный список патчей, доступных для OpenBSD можно найти на узле Errata. Последний релиз будет отображен наряду со списком исправления для предыдущих версий. Вы будете должны установить исправления, отмеченные как для всех архитектур, так и для конкретно вашей (например для i386 это будет "i386 only" и "All architectures").

Нам необходимо будет иметь две вещи: исходные тексты для обновления бинарных файлов (или исходные тексты ОС полностью) и непосредственно сам патч.

Исходные тексты и бинарные файлы

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

Исходные тексты могут быть довольно легко прочитаны человеком, поскольку соответствуют текстовому стандарту ASCII и обычно представляют собой программу, написанную на одном из языков программирования (C, C++ и т.д). Для превращения исходных текстов в бинарный вид необходимо провести процесс компиляции.

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

Установка исходных текстов

Чтобы нам было что исправлять, необходимо получить эти самые исходные тексты. В этом примере мы рассмотрим установку с официального CD. Для того, чтобы узнать о других методах, обратитесь к OpenBSD FAQ.

Вставьте необходимый диск (в 3.4 это диск 3) и примонтируйте его. Нам необходим архив src.tar.gz. Перейдите в каталог, в который вы хотите установить исходные тексты и, если это еще не так, добавьте имя своей учетной записи в группу wsrc, отредактировав /etc/group. Распаковываем архив Это потребует некоторого времени, после которого полный набор исходных текстов системы будет установлен на ваш жесткий диск. После завершения процесса компакт-диск можно отмонтировать.

Получение патчей

Теперь мы должны получить текущий набор исправлений. Вы можете получить их через ftp или cvs, в нашем примере это будет ftp. Для получения файлов Вы можете выбрать зеркало ближайшее к Вам. Они должны находиться в каталоге /pub/OpenBSD/patches. Удостоверьтесь, что получаете файлы, соответствующие имеющейся у вас версии OpenBSD (в нашем примере 3.4.tar.gz). Распаковываем: В результате вы получите каталог 3.4, содержащий исправления.

Наложение патчей

Наложение патчей заключается в наложении инструкций, находящихся в патче на исправляемую программу. Так, если Вы смотрите в папке исправлений 3.4 (или иначе, в зависимости от устанавливаемой версии), Вы должны увидеть папки для различных архитектур и одну общую (common) папку. Все базовые системы устанавливают общие исправления. В нашем случае первый патч устраняет неточность в документации, поэтому для наглядности мы сразу перейдем ко второму, где устраняется проблема безопасности OpenSSL.

Просмотрим его содержимое: применяем: Пересобираем и устанавливаем OpenSSL: Собственно, это и все, что необходимо знать. Учтите, что команда cd lib/libssl подразумевает, что вы уже находитесь в каталоге /usr/src.

После того, как мы перешли в каталог /usr/src применим патч, который находится в моем домашнем каталоге: Выглядит неплохо! Исходный текст был исправлен. Теперь мы можем перекомпилировать бинарные файлы для OpenSSL. Удостоверьтесь, что вы можете использовать sudo, если вы не вошли как root. Некоторые из выполняемых команд могут занять много времени(10 минут или больше), в зависимости от мощности машины. Устанавливаем новые файлы взамен старых: Удостоверьтесь, что наложили все исправления, находящиеся в каталоге. В результате применения патчей может потребоваться перезапуск некоторых сервисов. возможно, вам стоит почитать статью по перекомпиляции ядра.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру