开源中文网

您的位置: 首页 > Subversion > 正文

Linux:Subversion客户端安装及配置

来源: 大树的博客  作者: test1280

注:如果很着急安装,可以直接看第二种方式;如果不着急,还想要体验一把“依赖”的酸爽,可以慢慢看下面的步骤。

环境:

CentOS 6.8:

[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

一、从官网获取源码包

http://subversion.apache.org/

二、上传源码包至/usr/local/src下

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ll
total 10368
-rw-r--r--. 1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz

三、解压缩

[root@localhost src]# tar zxf subversion-1.9.5.tar.gz
[root@localhost src]# ll
total 10372
drwxrwxr-x. 6 1000 1000     4096 Nov 21 05:57 subversion-1.9.5
-rw-r--r--. 1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz

四、看看INSTALL文件

注意有以下内容:

II.   INSTALLATION
      ============

  A.  Building from a Tarball
      ------------------------------

      1.  Building from a Tarball

      Download the most recent distribution tarball from:

          http://subversion.apache.org/download/

      Unpack it, and use the standard GNU procedure to compile:

          $ ./configure
          $ make
          # make install

      You can also run the full test suite by running 'make check'.  Even
      in successful runs, some tests will report XFAIL; that is normal.
      Failed runs are indicated by FAIL or XPASS results, or a non-zero exit
      code from "make check".

……我觉得我的博客都不用再写了。。

五、我的安装过程

[root@localhost subversion-1.9.5]# ./configure --prefix=/usr/local/subversion
configure: Configuring Subversion 1.9.5
configure: creating config.nice
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
……
checking for APR... no
configure: WARNING: APR not found
The Apache Portable Runtime (APR) library cannot be found.
Please install APR on this system and configure Subversion
with the appropriate --with-apr option.

You probably need to do something similar with the Apache
Portable Runtime Utility (APRUTIL) library and then configure
Subversion with both the --with-apr and --with-apr-util options.

configure: error: no suitable APR found

没有APR。

说的很明白了,没找到APR库,检查–with-apr是不是有问题。

好吧,现在开始安装APR。

http://apr.apache.org/

我下载的是:

apr-1.5.2.tar.gz

同理上传到:

/usr/local/src

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ll
total 11380
-rw-r--r--. 1 root root  1031613 Apr 27 08:38 apr-1.5.2.tar.gz
drwxrwxr-x. 6 1000 1000     4096 Apr 27 08:35 subversion-1.9.5
-rw-r--r--. 1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz
[root@localhost src]# tar zxf apr-1.5.2.tar.gz
[root@localhost src]# ll
total 11384
drwxr-xr-x. 27 1000 1000     4096 Apr 25  2015 apr-1.5.2
-rw-r--r--.  1 root root  1031613 Apr 27 08:38 apr-1.5.2.tar.gz
drwxrwxr-x.  6 1000 1000     4096 Apr 27 08:35 subversion-1.9.5
-rw-r--r--.  1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz

[root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
……

[root@localhost apr-1.5.2]# make && make install
……
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
……

[root@localhost local]# pwd
/usr/local
[root@localhost local]# ll
total 44
drwxr-xr-x. 6 root root 4096 Apr 27 08:41 apr
drwxr-xr-x. 2 root root 4096 Sep 23  2011 bin
drwxr-xr-x. 2 root root 4096 Sep 23  2011 etc
drwxr-xr-x. 2 root root 4096 Sep 23  2011 games
drwxr-xr-x. 2 root root 4096 Sep 23  2011 include
drwxr-xr-x. 2 root root 4096 Sep 23  2011 lib
drwxr-xr-x. 2 root root 4096 Sep 23  2011 lib64
drwxr-xr-x. 2 root root 4096 Sep 23  2011 libexec
drwxr-xr-x. 2 root root 4096 Sep 23  2011 sbin
drwxr-xr-x. 5 root root 4096 Apr 26 14:41 share
drwxr-xr-x. 4 root root 4096 Apr 27 08:38 src

可以看到已经有了apr目录。

[root@localhost local]# pwd
/usr/local
[root@localhost local]# cd apr/
[root@localhost apr]# pwd
/usr/local/apr
[root@localhost apr]# ll
total 16
drwxr-xr-x. 2 root root 4096 Apr 27 08:41 bin
drwxr-xr-x. 2 root root 4096 Apr 27 08:41 build-1
drwxr-xr-x. 3 root root 4096 Apr 27 08:41 include
drwxr-xr-x. 3 root root 4096 Apr 27 08:41 lib
[root@localhost apr]# cd bin/
[root@localhost bin]# ll
total 8
-rwxr-xr-x. 1 root root 6946 Apr 27 08:41 apr-1-config

建立一个软链接:

[root@localhost bin]# ln -s /usr/local/apr/bin/apr-1-config /usr/bin/apr-1-config
[root@localhost bin]# which apr-1-config
/usr/bin/apr-1-config

这回应该可以了吧?

[root@localhost subversion-1.9.5]# ./configure --prefix=/usr/local/subversion
……
configure: Apache Portable Runtime (APR) library configuration
checking for APR... yes
checking APR version... 1.5.2
configure: Apache Portable Runtime Utility (APRUTIL) library configuration
checking for APR-util... no
configure: WARNING: APRUTIL not found
The Apache Portable Runtime Utility (APRUTIL) library cannot be found.
Install APRUTIL on this system and configure Subversion with the
appropriate --with-apr-util option.

configure: error: no suitable APRUTIL found

可以看到,检查APR已经OK了,但是APR-util没找到。

再去安装APR-util吧。

依然是上面的官网:

http://apr.apache.org

下载,上传,解压缩…

[root@localhost src]# cd
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ll
total 12232
drwxr-xr-x. 28 1000 1000     4096 Apr 27 08:41 apr-1.5.2
-rw-r--r--.  1 root root  1031613 Apr 27 08:38 apr-1.5.2.tar.gz
-rw-r--r--.  1 root root   867573 Apr 27 08:54 apr-util-1.5.2.tar.gz
drwxrwxr-x.  6 1000 1000     4096 Apr 27 08:46 subversion-1.9.5
-rw-r--r--.  1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz
[root@localhost src]# tar zxf apr-util-1.5.2.tar.gz
[root@localhost src]# ll
total 12236
drwxr-xr-x. 28 1000 1000     4096 Apr 27 08:41 apr-1.5.2
-rw-r--r--.  1 root root  1031613 Apr 27 08:38 apr-1.5.2.tar.gz
drwxr-xr-x. 19 1000 1000     4096 Mar 30  2013 apr-util-1.5.2
-rw-r--r--.  1 root root   867573 Apr 27 08:54 apr-util-1.5.2.tar.gz
drwxrwxr-x.  6 1000 1000     4096 Apr 27 08:46 subversion-1.9.5
-rw-r--r--.  1 root root 10615674 Apr 27 08:33 subversion-1.9.5.tar.gz

[root@localhost apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for working mkdir -p... yes
APR-util Version: 1.5.2
checking for chosen layout... apr-util
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Applying apr-util hints file rules for x86_64-unknown-linux-gnu
checking for APR... no
configure: error: APR could not be located. Please use the --with-apr option.

指定一下apr的位置。

[root@localhost apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
……

[root@localhost apr-util-1.5.2]# make && make install
……
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/apr-util/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
……

[root@localhost apr-util-1.5.2]# cd /usr/local/apr-util/
[root@localhost apr-util]# ll
total 12
drwxr-xr-x. 2 root root 4096 Apr 27 08:57 bin
drwxr-xr-x. 3 root root 4096 Apr 27 08:57 include
drwxr-xr-x. 3 root root 4096 Apr 27 08:57 lib
[root@localhost apr-util]# cd bin/
[root@localhost bin]# ll
total 8
-rwxr-xr-x. 1 root root 6542 Apr 27 08:57 apu-1-config
[root@localhost bin]# ln -s /usr/local/apr-util/bin/apu-1-config /usr/bin/apu-1-config
[root@localhost bin]# which apu-1-config
/usr/bin/apu-1-config

这下子可以在subversion中执行configure了吧?

[root@localhost bin]# cd /usr/local/src/subversion-1.9.5/
[root@localhost subversion-1.9.5]# ./configure --prefix=/usr/local/subversion
……
configure: checking sqlite library
checking sqlite amalgamation... no
checking sqlite amalgamation... no
checking sqlite3.h usability... no
checking sqlite3.h presence... no
checking for sqlite3.h... no
checking sqlite library version (via pkg-config)... no

An appropriate version of sqlite could not be found.  We recommmend
3.7.15.1, but require at least 3.7.12.
Please either install a newer sqlite on this system

or

get the sqlite 3.7.15.1 amalgamation from:
    http://www.sqlite.org/sqlite-amalgamation-3071501.zip
unpack the archive using unzip and rename the resulting
directory to:
/usr/local/src/subversion-1.9.5/sqlite-amalgamation

configure: error: Subversion requires SQLite

步骤说的很明白了。

首先下载

http://www.sqlite.org/sqlite-amalgamation-3071501.zip

然后解压缩到指定目录即可。

[root@localhost subversion-1.9.5]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /usr/local/src/subversion-1.9.5/
[root@localhost subversion-1.9.5]# ll
total 3752
……
-rw-r--r--.  1 root root 1396268 Apr 27 09:03 sqlite-amalgamation-3071501.zip
drwxrwxr-x. 36 1000 1000    4096 Nov 21 05:57 subversion
……
[root@localhost subversion-1.9.5]# unzip sqlite-amalgamation-3071501.zip
Archive:  sqlite-amalgamation-3071501.zip
   creating: sqlite-amalgamation-3071501/
  inflating: sqlite-amalgamation-3071501/sqlite3.h 
  inflating: sqlite-amalgamation-3071501/shell.c 
  inflating: sqlite-amalgamation-3071501/sqlite3ext.h 
  inflating: sqlite-amalgamation-3071501/sqlite3.c 
[root@localhost subversion-1.9.5]# rm sqlite-amalgamation-3071501.zip
rm: remove regular file `sqlite-amalgamation-3071501.zip'? y
[root@localhost subversion-1.9.5]# ll
total 2392
……
-rw-rw-r--.  1 1000 1000   2303 May 31  2016 README
drwxr-xr-x.  2 root root   4096 Dec 19  2012 sqlite-amalgamation-3071501
drwxrwxr-x. 36 1000 1000   4096 Nov 21 05:57 subversion
……
[root@localhost subversion-1.9.5]# mv sqlite-amalgamation-3071501 sqlite-amalgamation

最后一步别忘记按照人家的提示重命名呀!

[root@localhost subversion-1.9.5]# ./configure --prefix=/usr/local/subversion
……
configure: zlib library configuration via pkg-config
checking for zlib library... no
configure: zlib library configuration
checking zlib.h usability... no
checking zlib.h presence... no
checking for zlib.h... no
configure: error: subversion requires zlib

安装zlib。

http://www.zlib.net/
zlib-1.2.11.tar.gz

[root@localhost src]# ll zlib* -d
drwxr-xr-x. 14 test1280 games   4096 Jan 15 09:36 zlib-1.2.11
-rw-r--r--.  1 root     root  607698 Apr 27 09:10 zlib-1.2.11.tar.gz

[root@localhost zlib-1.2.11]# ./configure
Checking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.11 with gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.

[root@localhost zlib-1.2.11]# make && make install
……

再次在subversion中configure:

[root@localhost subversion-1.9.5]# ./configure --prefix=/usr/local/subversion
……

执行成功。

[root@localhost subversion-1.9.5]# make && make install
……

得执行好一阵~

[root@localhost ~]# cd /usr/local/subversion/
[root@localhost subversion]# ll
total 16
drwxr-xr-x. 2 root root 4096 Apr 27 09:17 bin
drwxr-xr-x. 3 root root 4096 Apr 27 09:17 include
drwxr-xr-x. 2 root root 4096 Apr 27 09:17 lib
drwxr-xr-x. 4 root root 4096 Apr 27 09:17 share
[root@localhost subversion]# ll bin/
total 2632
-rwxr-xr-x. 1 root root 1174906 Apr 27 09:17 svn
-rwxr-xr-x. 1 root root  171860 Apr 27 09:17 svnadmin
-rwxr-xr-x. 1 root root  225211 Apr 27 09:17 svnbench
-rwxr-xr-x. 1 root root   92387 Apr 27 09:17 svndumpfilter
-rwxr-xr-x. 1 root root  100064 Apr 27 09:17 svnfsfs
-rwxr-xr-x. 1 root root  161796 Apr 27 09:17 svnlook
-rwxr-xr-x. 1 root root   88406 Apr 27 09:17 svnmucc
-rwxr-xr-x. 1 root root  184701 Apr 27 09:17 svnrdump
-rwxr-xr-x. 1 root root  286996 Apr 27 09:17 svnserve
-rwxr-xr-x. 1 root root  148724 Apr 27 09:17 svnsync
-rwxr-xr-x. 1 root root   38888 Apr 27 09:17 svnversion
[root@localhost subversion]# which svn
/usr/bin/which: no svn in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost subversion]# ln -s /usr/local/subversion/bin/svn /usr/bin/svn
[root@localhost subversion]# which svn
/usr/bin/svn

简直太麻烦了!!!

注:

相关的代码包可以从我的个人资源里面下载。

Tags:客户端
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明