Использование R1Soft CDP в Debian Squeeze

Реорганизация структуры каталогов для успешной сборки модуля ядра

R1Soft CDP — это, на мой взгляд, одна из лучших разработок для высокопроизводительного резервного копирования под . Хотя данный продукт платный и с закрытым кодом, он оправдывает свою стоимость. Заниматься рекламой не буду, кому интересно, те сами найдут нужную информацию, лишь расскажу об одной проблеме, с которой пришлось недавно столкнуться.

Одна из особенностей Agent — для работы ему требуется специальный модуль ядра, который собирается на серверах R1Soft: специальная утилита архивирует заголовочные файлы ядра и некоторую другую информацию, отсылает её на сервер R1Soft, инициирует процесс сборки и забирает получившийся модуль ядра.

Проблема заключается в том, что в разработчики несколько поменяли раскладку каталогов: если раньше все заголовки ядра устанавливались в /usr/src/linux-headers-`uname -r`, то теперь каталога три: /usr/src/linux-headers-`uname -r`, /usr/src/linux-headers-версия-ядра-common и /usr/src/linux-kbuild-версия-ядра, например:

[-]
View Code Text
drwxr-xr-x  4 root root 4096 2009-12-28 11:16 linux-headers-2.6.30-2-amd64
drwxr-xr-x  4 root root 4096 2009-12-28 08:09 linux-headers-2.6.30-2-common
drwxr-xr-x  3 root root 4096 2009-12-28 08:09 linux-kbuild-2.6.30

Makefile в linux-headers-`uname -r` ссылается на каталог linux-headers-*-common, который r1soft-cki не посылает. К тому же в Makefile прописаны абсолютные пути, из-за которых сборка оканчивается неудачей.

Если откат на более старую версию ядра не выход (например, в моём случае были проблемы с udev, из-за которых возникали еще более жестокие проблемы с программным RAID), придётся собирать из трёх каталогов один.

Например, так (измените пути и имена на свои):

[-]
View Code Bash
# Создаём каталог, куда будем копировать заголовки ядра
mkdir ~/headers
# Копирование заголовков
cp -rp /usr/src/linux-headers-2.6.30-2-* ~/headers/
cp -rp /usr/src/linux-kbuild-2.6.30/ ~/headers/
# Копируем нужные файлы; ключ -n нужен, чтобы не переписать Makefile
(shopt -s dotglob; cd ~/headers; cp -rpn linux-headers-2.6.30-2-amd64/* linux-headers-2.6.30-2-common/)
# Запускаем программу сборки модуля ядра
r1soft-setup.64 --get-module --beta --module-type backupdriver --kernel-dir ~/headers/linux-headers-2.6.30-2-common/

r1soft-setup.64 может называться иначе, например, r1soft-cki.

Результат будет примерно таким:

[-]
View Code Text
snowboarding:~# mkdir ~/headers
snowboarding:~# cp -rp /usr/src/linux-headers-2.6.30-2-* ~/headers/
snowboarding:~# cp -rp /usr/src/linux-kbuild-2.6.30/ ~/headers/
snowboarding:~# (shopt -s dotglob; cd ~/headers; cp -rpn linux-headers-2.6.30-2-amd64/* linux-headers-2.6.30-2-common/)
snowboarding:~# r1soft-setup.64 --get-module --beta --module-type backupdriver --kernel-dir ~/headers/linux-headers-2.6.30-2-common/
Checking for binary module
..
No binary module found
Gathering kernel information
Gathering kernel information complete.
Creating kernel headers package
Checking '/root/headers/linux-headers-2.6.30-2-common/' for kernel headers
Found headers in '/root/headers/linux-headers-2.6.30-2-common/'
Compressing...
uploading kernel package                                                                                                                                                                                    99% 3879KB   2.7MB/s   00:00 ETA
Starting module build...
................................................
Saving kernel module to '/lib/modules/buagent/backupdriver-cki-2.6.30-2-amd64.ko'
Kernel module is now installed.
.

Возможно, кому-нибудь пригодится.

Автор: ; опубликовано в: Linux, Администрирование; метки: CDP, Debian, Linux, R1 Soft, Squeeze
30
Дек
2009

RSS Комментарии к статье «Использование R1Soft CDP в Debian Squeeze» (1)  »

  1. Мы с приятелем столкнулись с таким вопросом недавно (он админит серваки на линухе) и только тут нашли нормальное описание. Автору респект)

Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.

Оставить комментарий к записи «Использование R1Soft CDP в Debian Squeeze»

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Оставляя комментарий, вы выражаете своё согласие с Правилами комментирования.

Подписаться, не комментируя

गते गते पारगते पारसंगते बोधि स्वाहा