Аутентификация клиентов Linux с помощью Active Directory - Сборка Samba

ОГЛАВЛЕНИЕ


Сборка Samba

Первый этап сборки Samba заключается в загрузке верного исходного пакета RPM. Я загрузил пакет RPM исходных кодов для Samba 3.0.31 с веб-узла PBONE. Далее поместите загруженный файл RPM исходных кодов в /usr/src/redhat/SRPMS; это стандартный каталог для пакетов RPM исходных кодов в ходе процесса сборки.

Откройте сеанс терминала («окно командной строки» в терминах Windows) и перейдите к папке SRPMS. После того, как это сделано, установите пакет исходных кодов, используя команду, как показано на рис. 5.


Рис. 5. Установка пакета RPM исходных кодов Samba

Если появится предупреждение об ошибке "user mockbuild does not exist—using root" («макетной сборки пользователя не существует – используется корень»), не волнуйтесь. Эта ошибка указывает, что служебные программы макетной сборки не установлены. Процесс сборки будет работать и без них.

Далее перейдите к каталогу /usr/src/redhat/SPECS и исправьте файл samba.spec, содержащий параметры сборки Samba. Найдите строку, начинающуюся с "CFLAGS=", и убедитесь, что параметр "--with-shared-modules=idmap_ad,idmap_rid" существует. Этот параметр гарантирует, что в процессе сборки будет включен код, правильно преобразующий уникальные идентификаторы (unique identifiers – UID) Linux для Active Directory. На рис. 6 приведен этот параметр.


Рис. 6. Параметр сборки with-shared-modules («с совместно используемыми модулями»)

Далее может понадобиться обновить некоторые из библиотек на компьютере, чтобы должным образом собрать и установить Samba; это зависит от того, какие версии библиотек уже установлены. В моем случае мне пришлось установить пакеты, перечисленные на рис. 4, используя команду rpm –install; в некоторых случаях мне пришлось, впрочем, использовать вариант --force, чтобы преодолеть некоторые из проблем зависимости.

Чтобы собрать Samba, перейдите к каталогу /usr/src/redhat и выполните команду rpmbuild –bb SPECS/samba.spec, как показано на рис. 7. В результате этой процедуры новый файл RPM samba-3.0.31-0.i386 останется в каталоге /usr/src/redhat/RPMS. Мы установим этот файл RPM позже по ходу проекта.


Рис. 7. Создание двоичного файла RPM Samba