近期重装了系统,发现svn不能使用https下载文件
不管是svn update 还是 svn co 都报下面错误:
svn: 方法 OPTIONS 失败于 “https://shzsvnsrv.shz.spreadtrum.com/svn/CSI-SZ-TEAM-A”: SSL handshake failed: SSL 错误:在证书中检测到违规的密钥用法。 (https://shzsvnsrv.shz.spreadtrum.com)
开始以为是版本问题,但是装几个高版本的svn还是一样,
但是在用 svn --version查看版本信息时看出的问题,应该和ra_neon模块有关系。
svn,版本 1.6.17 (r1128011)
编译于 Dec 17 2011,16:12:52
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
此产品包含由 CollabNet (http://www.Collab.Net/) 开发的软件。
可使用以下的版本库访问模块:
* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
- 处理“http”方案
- 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。 - 使用 Cyrus SASL 认证
- 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
- 处理“file”方案
已是用apt-cache search libneon 查找。需要安装
sudo apt-get install libneon27-devgnutls
可是,问题还是没有解决。终于在网上找到答案,原因是svn 默认是用libneon-gnutls来跟服务器链接。
到/usr/lib创建软链接:
sudo mv libneon-gnutls.so.27.2.6 libneon-gnutls.so.27.2.6.bak
sudo ln -sf libneon.so.27.2.3 libneon-gnutls.so.27
问题搞定。呵呵
我现在的文件链接情况,请根据实际情况修改哦
lrwxrwxrwx 1 root root 17 Feb 13 11:28 libneon-gnutls.so.27 -> libneon.so.27.2.3
-rw-r--r-- 1 root root 156K Jul 27 2011 libneon-gnutls.so.27.2.6.bak
lrwxrwxrwx 1 root root 28 Feb 13 10:28 libneon-gnutls.so.27.old -> libneon-gnutls.so.27.2.6.bak
lrwxrwxrwx 1 root root 17 Feb 13 11:02 libneon.so.27 -> libneon.so.27.2.3
-rw-r--r-- 1 root root 165K Oct 25 2010 libneon.so.27.2.3
-rw-r--r-- 1 root root 165K Oct 25 2010 libneon.so.27.2.3.bak