svn作为集中式版本管理软件,受到很多大项目的青睐,但是在现在git王道的时代,还用svn就显得不是那么极客。

奈何公司软件版本管理需要使用svn,于是就要考虑在Ubuntu系统中安装svn。

一般的,在Ubuntu系统命令行中,输入 svn ,即会跳出安装指令。如下:

root@ubuntu:~# svn
程序“svn”尚未安装。  您可以使用以下命令安装:
apt-get install subversion # 然后就静精地等待安装完成
root@ubuntu:~# svn help # 显示安装内容

更奈何,公司网络限制 apt-get 的方式安装软件,于是有了这篇博文。

 

本文参考了一些网上的安装示例,走了一些弯路,才有了现在的一键安装脚本。感谢其他博主的辛苦努力,后面再附上参考地址。

言归正传,下面就介绍一下以源码的方式如何安装svn。

1. 一键安装

1.1 安装subversion

在研究了其他人的安装步骤后,总结:编译subversion,需要以下安装包:

  1. apr-1.6.5.tar.bz2
  2. apr-util-1.6.1.tar.bz2
  3. expat-2.2.7.tar.bz2
  4. openssl-1.0.2s.tar.gz
  5. scons-3.0.4.tar.gz
  6. serf-1.3.9.tar.bz2
  7. sqlite-amalgamation-3290000.zip
  8. zlib-1.2.11.tar.gz
  9. subversion-1.12.0.tar.bz2

下载并解压合集包(网盘地址:网盘  提取码:5xc9 ),运行 install.sh ,等待解压、配置并且编译源码包。大约20分钟安装完毕,脚本完成。输入 svn --version 检测是否安装成功。

root@ubuntu:桌面# svn --version
svn,版本 1.12.0 (r1857323)
   编译于 Jul 15 201911:54:36 在 x86_64-unknown-linux-gnu

Copyright (C) 2019 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

可使用以下的版本库访问模块: 

* ra_svn : 使用 svn 网络协议访问版本库的模块。
  - 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  - 处理“file”方案
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.9 (compiled with 1.3.9)
  - 处理“http”方案
  - 处理“https”方案

The following authentication credential caches are available:

* GPG-Agent

root@ubuntu:桌面# 

 如果没有下载合集包,可以编写此脚本会自行 wget 下载所需要的包(注意:复制粘贴操作请在linux系统下完成,因为linux系统和windows系统的换行符号不同,linux无法识别win系统中\r换行符,会报程序错误。

 1 # wget http://www.apache.org/dist/apr/apr-1.6.5.tar.bz2
 2 tar xjf apr-1.6.5.tar.bz2
 3 cd apr-1.6.5
 4 ./configure --prefix=/usr/local/apache
 5 make && sudo make install
 6 
 7 cd ..
 8 # wget http://distfiles.macports.org/expat/expat-2.2.7.tar.bz2
 9 tar xjf expat-2.2.7.tar.bz2
10 cd expat-2.2.7
11 ./configure
12 make && sudo make install
13 
14 cd ..
15 # wget http://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
16 tar xjf apr-util-1.6.1.tar.bz2
17 cd apr-util-1.6.1
18 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apache
19 make && sudo make install
20 
21 cd ..
22 # wget https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
23 tar xzf zlib-1.2.11.tar.gz
24 cd zlib-1.2.11
25 ./configure
26 make && sudo make install
27 
28 cd ..
29 # wget http://prdownloads.sourceforge.net/scons/scons-3.0.4.tar.gz
30 tar xzf scons-3.0.4.tar.gz
31 cd scons-3.0.4
32 sudo python setup.py install
33 
34 cd ..
35 # wget http://distfiles.macports.org/openssl/openssl-1.0.2s.tar.gz
36 tar xzf openssl-1.0.2s.tar.gz
37 cd openssl-1.0.2s
38 ./config -fPIC --prefix=/usr/local/openssl enable-shared
39 make && sudo make install
40 
41 cd ..
42 # wget https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2
43 tar xjf serf-1.3.9.tar.bz2
44 cd serf-1.3.9
45 scons PREFIX=/usr/local/serf APR=/usr/local/apache APU=/usr/local/apache OPENSSL=/usr/local/openssl
46 sudo scons install
47 sudo ln -sf /usr/local/serf/include/serf-1/serf_bucket_util.h /usr/local/include/serf_bucket_util.h
48 sudo ln -sf /usr/local/serf/include/serf-1/serf_bucket_types.h /usr/local/include/serf_bucket_types.h
49 sudo ln -sf /usr/local/serf/include/serf-1/serf.h /usr/local/include/serf.h
50 
51 sudo ln -sf /usr/local/serf/lib/libserf-1.so.1.3.0 /usr/local/lib/libserf-1.so
52 sudo ln -sf /usr/local/serf/lib/libserf-1.so.1.3.0 /usr/local/lib/libserf-1.so.1
53 sudo ldconfig
54 
55 
56 cd ..
57 # wget https://www.sqlite.org/2019/sqlite-amalgamation-3290000.zip
58 unzip sqlite-amalgamation-3290000.zip
59 mv sqlite-amalgamation-3290000 sqlite-amalgamation
60 
61 # wget http://distfiles.macports.org/subversion/subversion-1.12.0.tar.bz2
62 tar xjf subversion-1.12.0.tar.bz2
63 mv sqlite-amalgamation subversion-1.12.0
64 cd subversion-1.12.0
65 ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-zlib=/usr/local/zlib --with-serf=/usr/local/serf --with-lz4=internal --with-utf8proc=internal
66 make && sudo make install
67 sudo ln -sf /usr/local/svn/bin/* /usr/bin
68 svn help
69 
70 # wget http://ftp.yz.yamagata-u.ac.jp/pub/eclipse/technology/subversive/3.0/builds/Subversive-3.0.5.I20160701-1700.zip
一键安装脚本

相关文章:

  • 2021-06-11
  • 2022-12-23
  • 2021-08-13
  • 2021-10-19
  • 2021-09-15
  • 2022-12-23
  • 2021-10-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2022-12-23
  • 2022-01-04
相关资源
相似解决方案