我正在尝试在 FreeBSD 8.1 系统上升级 OpenSSL、OpenSSH 和 Apache22。我已经在运行 OpenSSH-Portable,所以这不是什么问题。
我遇到的麻烦是openssh-portable
尝试安装libXext
。我如何告诉此端口忽略 X11 要求?
答案1
我同意评论者的观点,这里确实发生了一些不寻常的事情。我确实知道 OpenSSH 支持 X11 转发,libXext
在某些情况下可能需要这样做,但这对我来说似乎不太可能,因为sshd
FreeBSD 附带的 X11 转发没有明确的 X 依赖项:
royce@atoz$ ldd`哪个 sshd` 在 /usr/sbin/sshd 中: libssh.so.5 => /usr/lib/libssh.so.5 (0x800681000) libutil.so.8 => /lib/libutil.so.8 (0x8007cc000) libz.so.5 => /lib/libz.so.5 (0x8008dc000) libwrap.so.6 => /usr/lib/libwrap.so.6 (0x8009f1000) libpam.so.5 => /usr/lib/libpam.so.5 (0x800afa000) libbsm.so.3 => /usr/lib/libbsm.so.3 (0x800c02000) libgssapi_krb5.so.10 => /usr/lib/libgssapi_krb5.so.10 (0x800d1d000) libgssapi.so.10 => /usr/lib/libgssapi.so.10 (0x800e37000) libkrb5.so.10 => /usr/lib/libkrb5.so.10 (0x800f41000) libasn1.so.10 => /usr/lib/libasn1.so.10 (0x8010b0000) libcrypto.so.6 => /lib/libcrypto.so.6 (0x801232000) libcrypt.so.5 => /lib/libcrypt.so.5 (0x8014d2000) libc.so.7 => /lib/libc.so.7 (0x8015f2000) libhx509.so.10 => /usr/lib/libhx509.so.10 (0x801834000) libcom_err.so.5 => /usr/lib/libcom_err.so.5 (0x801974000) libmd.so.5 => /lib/libmd.so.5 (0x801a76000) libroken.so.10 => /usr/lib/libroken.so.10 (0x801b86000)
您是否更改了端口的任何选项?如果是这样,下一个好的故障排除步骤就是发布 的内容/var/db/ports/openssh/options
。 openssh-portable 中的当前默认选项Makefile
如下,并且不会触发 libXext 的安装:
OPTIONS=PAM“启用 pam(3) 支持” TCP_WRAPPERS “启用 tcp_wrappers 支持” 上 \ LIBEDIT “启用对 sftp(1) 的 readline 支持”在 \ SUID_SSH "启用 suid SSH (建议关闭)" off \ BSM“启用 OpenBSM 审计”关闭 \ KERBEROS“启用 kerberos(自动检测)”关闭\ KERB_GSSAPI“启用 Kerberos/GSSAPI 补丁(要求:GSSAPI)”关闭 \ OPENSSH_CHROOT "启用 CHROOT 支持" 关闭 \ HPN“启用HPN-SSH补丁”关闭\ LPK“启用 LDAP 公钥 (LPK) 补丁”关闭 \ X509 “启用 x509 证书补丁”关闭 \ FILECONTROL“启用文件控制补丁(已损坏)”关闭\ OVERWRITE_BASE“OpenSSH 覆盖基础”关闭
我对大多数选项的熟悉程度还不够,因此无法立即看出其中是否有任何选项需要 X11。但如果您跟踪每个依赖项,其中一个可能需要libXext
,并且您已切换的任何依赖项都更可能是罪魁祸首。
一般来说,如果你不想做任何与X相关的事任何端口(服务器上通常如此),您可以将其添加到WITHOUT_X11
,/etc/make.conf
但这只是您可以尝试的诊断步骤,并不能真正揭示问题的根本原因。如果您只是对快速修复感兴趣,这可能会有所帮助。