我正在尝试使用动态可加载区域 (DLZ) 安装 bind 9,因为本机 bind 没有这样的功能。在 Ubuntu 11.10 上找到了编译源,但似乎不起作用。
找不到有关此事的像样的教程或指南。
答案1
非常遗憾,Ubuntu 从 12.04 开始决定从其 bind9 包中删除 DLZ 支持。
所以我不得不自己构建(使用 Ubuntu 的源包和构建选项)。这并不太复杂。以下内容适用于 Ubuntu 12.04 和 14.04(仅使用 LDAP 模块进行了测试,但 Mysql 也应该可以工作):
请先删除已安装的 bind(如果已安装):
sudo apt-get remove bind9
然后获取编译环境:
sudo apt-get install dpkg-dev
获取来源:
mkdir ~/bind9
cd ~/bind9
apt-get source bind9
cd bind9-9.8.1.dfsg.P1 # may be different for a newer version
您必须添加 DLZ 支持:
vi debian/rules
8<--- snip --->8
...
configure-stamp:
dh_testdir
./configure --prefix=/usr \
--mandir=\$${prefix}/share/man \
...
**–with-dlz-ldap=yes** \
$(EXTRA_FEATURES)
...
8<--- snap --->8
您必须--with-dlz-...=yes
为每个需要的 DLZ 模块添加一个。这可能是:
- LDAP 目录服务
- 文件系统
- PostgreSQL 的
- mysql
- 数据库
现在开始构建过程:
dpkg-buildpackage
如果缺少某些依赖项,则构建将中止,请添加它,例如:
sudo apt-get install debhelper libtool bison hardening-wrapper
sudo apt-get install libkrb5-dev libdb-dev libssl-dev libldap2-dev libxml2-dev libcap2-dev libgeoip-dev
重试dpkg-buildpackage
。
如果构建成功,您可以安装该包:
cd ..
dpkg -i ./bind9_9.8.1.dfsg.P1-4ubuntu0.3_i386.deb # may be different for a newer version
建议避免自动更新绑定:
apt-mark hold bind9