로컬 저장소에서 Debian 9에 FreeRadius 3.0.16을 설치하려고 합니다.
그런데 설치하려고 하면 다음과 같은 오류가 발생합니다.
The following packages have unmet dependencies:
freeradius : Depends: libssl1.0.0 (>= 1.0.1e-2+deb7u5) but it is not installable
범인은 원본 소스 코드에 있습니다 freeradius-server/debian/rules
.
# Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
else
SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
endif
데비안 9를 확인하는 것은 여러 데비안 버전에 맞게 컴파일될 수 있으므로 이상적인 상황이 아닙니다...
그렇다면 데비안 버전을 확인하는 것 외에, Defines for Debian을 Defines 대신 정의할 수 있는 다른 방법이 있습니까 libssl1.1 (>= 1.1)
?
답변1
이러한 코드 줄을 제거하면 단일 패키지로 다른 패키지를 안전하게 업그레이드할 수 없습니다.
당신이 보면데비안 패키지rules
, 그런 것이 없다는 것을 알게 될 것입니다. 어쨌든 지적했듯이 Debian 9에서는 OpenSSL에 대해 다른 패키지 이름을 사용하기 때문에 종속성이 작동하지 않습니다.
(적절한 패키지 업그레이드를 강제하기 위해 분리를 알아내는 것이 가능해야 하지만 노력할 가치가 없다고 생각합니다.)