之後關於 FreeRadius 的安全警告,我正在嘗試為 Debian 9/Stretch 建立 FreeRadius 3.0.15 安裝 .deb 文件,以便放置在我的本機儲存庫中。
實際上,我還需要用於 RadSec 專案的該版本以及其他幾個錯誤修復。
我使用以下說明來建立它們:
git clone https://github.com/FreeRADIUS/freeradius-server.git
cd freeradius-server
git fetch origin v3.0.x:v3.0.x
git checkout v3.0.x
fakeroot dpkg-buildpackage -b -uc
然而,當編譯它時,我得到了以下錯誤:
dpkg-buildpackage: info: source package freeradius
dpkg-buildpackage: info: source version 3.0.15+git
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Alan DeKok <[email protected]>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build freeradius-server
dpkg-checkbuilddeps: error: Unmet build dependencies: libjson0 | libjson-c2
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
怎麼辦?
答案1
或者,如果您只需要升級 FreeRadius 來修復相關漏洞,您可以安裝來自 stable 的最新 FreeRadius 軟體包;他們修復漏洞也是如此(最小補丁到 3.0.12)。
對於此類問題的一個有趣的通用解決方案,對於運行測試並希望在不穩定的安全修復程序可用時立即安裝的用戶來說,是使用保羅懷斯的延伸debsecan
- 當安全修復程式發佈時,它會根據需要自動將軟體包固定到其不穩定版本。
答案2
libjson-c2
Debian 9 中不存在;做:
$apt-cache search libjson-c
libjson-c3 - JSON manipulation library - shared library
很明顯它現在被稱為libjson-c3
;所以我在control
專案的debian檔案中的freeradius-server/debian/control
第 10 行替換了libjson-c2
libjson-c3
10 libjson0 | libjson-c3,
再做一次:
fakeroot dpkg-buildpackage -b -uc
它編譯成功,並在目錄中產生freeradius-server/..
以下檔案:
freeradius_3.0.15+git_amd64.deb freeradius-common_3.0.15+git_all.deb freeradius-config_3.0.15+git_amd64.deb freeradius-dbg_3.0.15+git_amd64.deb freeradius-dhcp_3.0.15+git_amd64.deb freeradius-iodbc_3.0.15+git_amd64.deb freeradius-krb5_3.0.15+git_amd64.deb freeradius-ldap_3.0.15+git_amd64.deb freeradius-memcached_3.0.15+git_amd64.deb freeradius-mysql_3.0.15+git_amd64.deb freeradius-postgresql_3.0.15+git_amd64.deb freeradius-redis_3.0.15+git_amd64.deb freeradius-rest_3.0.15+git_amd64.deb freeradius-utils_3.0.15+git_amd64.deb freeradius-yubikey_3.0.15+git_amd64.deb libfreeradius3_3.0.15+git_amd64.deb libfreeradius-dev_3.0.15+git_amd64.deb