2 Подготовка дистрибутива

2 Подготовка дистрибутива

The examples following will cover all of these libraries. It will also cover bind, kerberos, and file system tools. If you plan to use the internal DNS server, you do not need bind, but you do still need the package that contains the nsupdate binary.

Далее рассмотрим примеры, в которых будем использовать все описаные выше библиотеки, а также bind, kerberos и утилиты операционных систем. При использовании встроенного DNS сервера вам не понадобится bind, но потребуется бинарный пакет, содержащий утилиту nsupdate. Eng.

2.1 Debian или Ubuntu

# apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl

Note: docbook-xsl, xsltproc, and inkscape may be required for building the man pages.

Замечание: docbook-xsl, xsltproc и inkscape могут потребоваться для сборки страниц man. Eng.

Note: if you need pam winbind support you will need the libpam0g-dev package installed.

Замечание: Если требуется поддержка pam winbind, то необходимо установить пакет libpam0g-dev. Eng.

2.1.1 Активация динамически загружаемых зон (DLZ) с Bind в Debian Lenny

If you also want to use Dynamically Loadable Zones (DLZ) then you should add the corresponding option (dlopen) depending on your version of bind. If you are about to compile a downloaded tarball you might need these libraries: libkrb5-dev and libssl-dev

В случае использования Динамически Загружаемых Зон (DLZ), добавьте соответствующую опцию (dlopen) в зависимости для сборки вашей версии bind. Для сборки скаченного архива могут понадобиться библиотеки: libkrb5-dev and libssl-dev Eng.

$ apt-get install libkrb5-dev libssl-dev
$ tar -zxvf bind9.x.x.tar.gz
$ cd bind9.x.x

Bind9.8.0

$ ./configure --with-gssapi=/usr/include/gssapi --with-dlz-dlopen=yes

Bind9.8.1

$ ./configure --with-gssapi=/usr/include/gssapi --with-dlopen=yes
$ make
$ make install

2.2 Fedora

# yum install libacl-devel libblkid-devel gnutls-devel \
readline-devel python-devel gdb pkgconfig libattr-devel \
krb5-workstation

2.3 Red Hat Enterprise Linux или CentOS

# yum install libacl-devel libblkid-devel gnutls-devel \
readline-devel python-devel gdb pkgconfig krb5-workstation \
zlib-devel setroubleshoot-server \
setroubleshoot-plugins policycoreutils-python \
libsemanage-python setools-libs-python setools-libs \
popt-devel libpcap-devel sqlite-devel libidn-devel \
libxml2-devel libacl-devel libsepol-devel libattr-devel \
keyutils-libs-devel cyrus-sasl-devel

Note: docbook-style-xsl.noarch and libxslt.x86_64 may be required for the man pages to get installed correctly.

Замечание: Для корректной установки страниц man могут потребоваться библиотеки docbook-style-xsl.noarch и libxslt.x86_64 Eng.

2.4 openSUSE

# zypper install libacl-devel python-selinux autoconf make \
python-devel gdb sqlite3-devel libgnutls-devel binutils \
policycoreutils-python setools-libs selinux-policy \
setools-libs popt-devel libpcap-devel keyutils-devel \
libidn-devel libxml2-devel libacl-devel libsepol-devel \
libattr-devel zlib-devel cyrus-sasl-devel gcc \
krb5-client openldap2-devel libopenssl-devel\
bind-utils bind-lib

2.5 Gentoo

Please note that the following sections assume at least an intermediate understanding of the Gentoo packaging system.

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

2.5.1 Python

Gentoo uses python-3 as the default python interpreter, but at this time Samba requires python-2 (2.4.2 or greater) The following set of commands will install and set up python-2 as the default python interpreter.

Gentoo использует python-3 в качестве интерпретатора python по умолчанию, а Samba работает с python-2 (2.4.2 или выше). Следующие команды установят и настроят python-2 в качестве интерпретатора python по умолчанию. Eng.

# emerge --ask --noreplace '<dev-lang/python-3'
# eselect python set python2.7
# python-updater

2.5.2 Kerberos

On Gentoo, you have two choices for a kerberos implementation, app-crypt/mit-krb5 and app-crypt/heimdal. Unfortunately the two implementations can not be installed at the same time. Currently, the Samba developers recommend using app-crypt/heimdal. So you must first uninstall app-crypt/mit-krb5 (if installed,) then install app-crypt/heimdal and rebuild any packages that were using the old kerberos implementation.

В Gentoo есть два варианта реализации kerberos — это app-crypt/mit-krb5 и app-crypt/heimdal. К сожалению одновременно можно использовать только одну из реализаций. На сегодня разработчики Samba рекомендуют использовать app-crypt/heimdal. Таким образом сначала удалите app-crypt/mit-krb5 (если он установлен), затем установите app-crypt/heimdal и переустановите все пакаджи, которые использовали старую установку kerberos. Eng.

# emerge --unmerge --ask app-crypt/mit-krb5
# emerge --ask app-crypt/heimdal
# revdep-rebuild -- -ask

2.5.3 Bind

To enable automatic zone management, net-dns/bind and net-dns/bind-tools should be emerged with the USE flags for berkdb, dlz and gssapi set. To enable them permanently, add the following to /etc/package.use:

Для включения автоматического управления зоной пакаджи net-dns/bind и net-dns/bind-tools должны быть собраны с флагами berkdb, dlz и gssapi. Для этого добавьте в файл /etc/package.use: Eng.

net-dns/bind berkdb dlz gssapi
net-dns/bind-tools gssapi

Then, emerge net-dns/bind:

Тепеть соберем net-dns/bind: Eng.

# emerge --ask net-dns/bind net-dns/bind-tools

Note that if you have problems with samba’s gssapi updates to bind, try using the alternate kerberos implementation of app-crypt/mit-krb5.

Замечание: Если у вас проблемы в обновлении зоны bind через gssapi Samba, то попробуйте использовать альтернативную реализацию kerberos с помощию установки пакаджа app-crypt/mit-krb5. Eng.


2.5.4 Библиотеки, необходимые для работы Samba (tdb/ldb/tevent)

There are a few Samba libraries that need to be installed, note that these packages might be keyworded as unstable, so you might need to add the following to your /etc/package.keywords:

Есть несколько библиотек Samba, которые должны быть установлены в любом случае. Обратите внимание на то, что эти пакеты могут быть помечены как нестабильные, поэтому может понадобиться добавить следующую строку в ваш файл /etc/package.keywords: Eng.

~sys-libs/tevent-0.9.17
~sys-libs/tdb-1.2.10
~sys-libs/ldb-1.1.12
~sys-libs/talloc-2.0.7

Additionally, Samba requires sys-libs/tdb and sys-libs/talloc to be emerged with the USE flag python set. To enable this permanently, add the following to /etc/package.use:

Кроме того пакаджи sys-libs/tdb и sys-libs/talloc должны быть собраны с использованием флага python. Для постоянной активации этого флага добавьте в /etc/package.use: Eng.

sys-libs/tdb python
sys-libs/talloc python

Note: In new(er) installations of gentoo, the above files will be located in /etc/portage/, i.e. /etc/portage/package.keywords and /etc/portage/package.use. They may be symlinked to /etc for backward compatibility.

Замечание: В новых версиях gentoo эти файлы могут находиться в /etc/portage/, /etc/portage/package.keywords и в /etc/portage/package.use. Для обеспечения обратной совместимости может существовать символическая ссылка на /etc Eng.

Now, emerge the packages:

Теперь соберем этот пакадж: Eng.

# emerge --ask '=sys-libs/talloc-2.0.7' '=sys-libs/tdb-1.2.10' '=sys-libs/tevent-0.9.17' '=sys-libs/ldb-1.1.12

Note that ebuilds for the required versions of the above packages might not be availiable in the portage tree. In this case, check Gentoo’s Bugzilla for updated ebuilds.

Замечание: Пакаджи, описаные выше могут быть недоступны в дереве портаджей. В этом случае проверьте Gentoo’s Bugzillaна предмет следующей даты обновления сборочных файлов. Eng.

2.5.5 Другие разные зависимости

To ensure a successful Samba-4 installation, there are a few other packages that should be installed, as shown below:

Для обеспечения успешной установки Samba4, необходимо установить еще несколько пакаджей, как это показано ниже: Eng.

# emerge --ask net-libs/gnutls sys-apps/acl dev-libs/cyrus-sasl dev-python/subunit dev-python/dnspython net-dns/libidn

FIXME: Are dev-python/dnspython net-dns/libidn still required?

Вопрос к читателю: Требуются ли на текущий момент установка пакаджей dev-python/dnspython и net-dns/libidn ? Eng.