在 CentOS 上安装最新的 SVN 1.9.2 - 需要 libserf-1.so.1 错误

Install latest SVN 1.9.2 on CentOS - libserf-1.so.1 is needed error

CentOS 6.5 颠覆转数:http://opensource.wandisco.com/centos/6/svn-1.9/RPMS/x86_64/subversion-1.9.2-1.x86_64.rpm

运行 rpm -ivh 上面的文件并得到以下错误。我应该安装什么 (yum install ??) 来摆脱以下错误。

$ rpm -ivh subversion-1.9.2-1.x86_64.rpm
warning: subversion-1.9.2-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 3bbf077a: NOKEY
error: Failed dependencies:
        libserf-1.so.1()(64bit) is needed by subversion-1.9.2-1.x86_64

我发现如果我从源文件安装 .tar.gz 文件,那么在一台机器上安装 2 个不同版本的 svn 会很麻烦,因为它需要先安装各种先决条件的 yum 模块,然后然后发出命令让它工作,我正在使用 Ansible。

最简单的方法是 运行 "sudo yum install subversion" 但它没有给我最新的 1.9.2 版本。使用这种方式,我得到 1.6.11 或接近。

是否有任何列表显示需要通过简单步骤(可能是多个版本)安装的完整工具列表。即

sudo yum -y install pre-requisite-tools-abc xyz giga1
制作 ||制作前缀=/home/user/tools/subversion-1.9.2
制作 ||制作前缀=/home/user/tools/subversion-1.9.2 安装
svn --version

您可以使用

安装构建依赖项
   yum-builddep foo.src.rpm

我在 Cent OS7 上遇到了同样的问题。好像我没有卸载 CentOS 默认附带的 subversion-libs 版本。删除它后,我能够安装最新的 subversion

 yum remove subversion-libs
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package subversion-libs.x86_64 0:1.7.14-10.el7 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================
 Package                              Arch                        Version                               Repository                      Size
=============================================================================================================================================
Removing:
 subversion-libs                      x86_64                      1.7.14-10.el7                         @anaconda                      2.5 M

Transaction Summary
=============================================================================================================================================
Remove  1 Package

Installed size: 2.5 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : subversion-libs-1.7.14-10.el7.x86_64                                                                                      1/1
  Verifying  : subversion-libs-1.7.14-10.el7.x86_64                                                                                      1/1

Removed:
  subversion-libs.x86_64 0:1.7.14-10.el7

Complete!



yum install subversion-1.9.4-1.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining subversion-1.9.4-1.x86_64.rpm: subversion-1.9.4-1.x86_64
Marking subversion-1.9.4-1.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package subversion.x86_64 0:1.9.4-1 will be installed
--> Processing Dependency: libserf-1.so.0()(64bit) for package: subversion-1.9.4-1.x86_64
Loading mirror speeds from cached hostfile
 * base: cosmos.illinois.edu
 * extras: www.gtlib.gatech.edu
 * updates: mirror.teklinks.com
--> Running transaction check
---> Package libserf.x86_64 0:1.3.7-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================
 Package                       Arch                      Version                         Rep
============================================================================================
Installing:
 subversion                    x86_64                    1.9.4-1                         /su
Installing for dependencies:
 libserf                       x86_64                    1.3.7-1.el7                     Wan

Transaction Summary
============================================================================================
Install  1 Package (+1 Dependent package)

Total size: 9.0 M
Installed size: 9.1 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libserf-1.3.7-1.el7.x86_64
  Installing : subversion-1.9.4-1.x86_64
  Verifying  : subversion-1.9.4-1.x86_64
  Verifying  : libserf-1.3.7-1.el7.x86_64

Installed:
  subversion.x86_64 0:1.9.4-1

Dependency Installed:
  libserf.x86_64 0:1.3.7-1.el7

Complete!

要从 Wandisco 正确安装 subversion 1.9,您应该执行以下操作:

创建一个新的回购文件/etc/yum.repos.d/wandisco-svn.repo 内容如下:

[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.9/RPMS/$basearch/
enabled=1
gpgcheck=0

然后使用以下命令安装 svn:

yum --disablerepo="*" --enablerepo="WandiscoSVN" 安装颠覆

所以这里真正的问题是您缺少 serf 依赖项。您将在其他版本(例如 1.9.9)以及其他 OS(例如 RHEL6)上遇到同样的错误。如果您的服务器可以访问 Internet,Aleksandar Pavić 的回答会很好,因为您将 OpenSource Wandisco RPM 添加为存储库并让 yum 去寻找它需要的东西。我确实在我的 CentOS 7.2 上测试过它并且效果很好。如果您没有连接到 Wandisco 的 Internet 连接,一个更简单的解决方法也适用,那就是首先安装 serf 依赖项,这是我必须做的,因为我的 RHEL6 SVN 仅供内部使用,不会路由到 Wandisco。

在 RHEL6 上安装 1.9.9 的情况下,这意味着在 serf-1.3.7-1 上执行 yum install。x86_64.rpm 然后 yum install subversion-1.9.9-1。x86_64.rpm 这些 RPM 的来源 http://opensource.wandisco.com/rhel/6Server/svn-1.9/RPMS/x86_64/?C=M;O=A 这对我有用。

$ rpm -qlp serf-1.3.7-1.x86_64.rpm
/usr/lib64/libserf-1.so
/usr/lib64/libserf-1.so.1
/usr/lib64/libserf-1.so.1.3.0

对于 CentOS7,我相信您正在查看来自 http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/x86_64/?C=M;O=A 的 libserf-1.3.8-1.el7.x86_64.rpm,然后是您的 1.9 版本重新想要。

希望对您有所帮助。

您可以使用以下命令在amazon linux 2 或centos7 上安装svn 1.9 版本。

rpm -ivh http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/x86_64/subversion-1.9.12-1.x86_64.rpm