我正在嘗試安裝帶有動態可載入區域(DLZ)的bind 9,因為本機bind沒有這樣的功能。在Ubuntu 11.10上找到了編譯來源,但似乎不起作用。
找不到關於這個問題的像樣的教程或指南。
答案1
非常遺憾的是,Ubuntu 決定自 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
- 檔案系統
- postgres
- 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