zoukankan      html  css  js  c++  java
  • centos 安装 subversion1.8及更高版本

    前言

    一般而言,各发行版系统中内置的软件包都不是最新的,所以使用默认 yum 进行安装 subversion 时,安装的大多数都为低版本(1.7.X)。然而,在某些情况下,我们必须要使用高版本,此时我们可以使用以下两种方法进行高版本的安装。两种安装方式各有优缺点

    yum 安装(适用于网络环境OK、所需版本在 yum 仓库中存在情况下)

    1. 先在 http://opensource.wandisco.com/centos/ 查找出自己需要使用的源,比如我需要使用的就是 http://opensource.wandisco.com/centos/7/svn-1.11/RPMS/x86_64/

      注意:有一些版本源里面也是没有的,需要自己去检查一下是否存在,比如 http://opensource.wandisco.com/centos/7/ 目录下最高版本就是 1.11,其它高版本目录下内容为空

    2. 在服务器上新增一个 yum 仓库地址: vi /etc/yum.repos.d/wandisco-svn.repo 内容如下:

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

      其中 $releasever 表示当前系统的发行版本,可通过rpm -qi centos-release命令查看,内容如下:

      其中 $basearch 表示当前系统硬件架构(CPU指令集),可通过arch命令查看,内容如下:

    3. 安装

       yum clean all
       yum makecache
       yum install subversion
      
    4. 验证

      svn --version
      

    源码安装(适用于所有新版本,依赖多,需考虑依赖版本问题)

    1. 官网源码编译安装介绍 https://svn.apache.org/repos/asf/subversion/trunk/INSTALL
    2. 依赖下载,所需依赖可以通过下载源码包之后,目录里面有一个 get-deps.sh 的脚本,从中分析可以得到所需要的依赖、版本以及其下载地址
    3. 依赖安装(提供一个百度云下载地址 链接:https://pan.baidu.com/s/1GKXkr86J-jle5FZJFaCq9w 提取码:cq5u )
      • 安装 bzip2

        tar -zxvf bzip2-1.0.6.tar.gz
        cd bzip2-1.0.6
        make && make install 
        
      • 安装 apr

         tar -zxvf apr-1.5.0.tar.gz 
         cd apr-1.5.0
         ./configure --prefix=/opt/apr 
         make && make install  
        
      • 安装 apr-util (依赖于前面安装的 apr)

         tar -zxvf apr-util-1.5.1.tar.gz
         cd apr-util-1.5.1
         ./configure --prefix=/opt/apr-util --with-apr=/opt/apr 
         make && make install   
        
      • 安装 python3

        yum install libffi-devel -y
        tar -zxvf Python-3.9.1.tgz
        cd Python-3.9.1
        ./configure --prefix=/opt/python3
        make && make install   
        
      • 安装 scons(依赖于下面安装的 python3)

        tar -xzvf scons-3.0.1.tar.gz
        cd scons-3.0.1
        ../python3/bin/python3 setup.py install --prefix=/opt/scons 
        
      • 安装 zlib

        tar -zxvf zlib-1.2.8.tar.gz
        cd  zlib-1.2.8
        ./configure
        make && make install 
        
      • 安装 openssl

        tar -zxvf openssl-1.1.1h.tar.gz
        cd openssl-1.1.1h
        ./config shared zlib  --prefix=/opt/openssl 
        make && make install  
        
        
      • 安装 serf

        bzip2 -dc serf-1.3.9.tar.bz2 | tar -xf - 
        cd serf-1.3.9
        ../scons/bin/scons PREFIX=/opt/serf APR=/opt/apr APU=/opt/apr-util OPENSSL=/opt/openssl
        ../scons/bin/scons install
        

        设置共享库 vi /etc/ld.so.conf,在文件中添加 serf 的lib路径:

        /opt/serf/lib
        

        执行 ldconfig

      • 安装 sqlite

        unzip -q sqlite-amalgamation-3081101.zip  
        
    4. subversion 安装
      tar -xzvf subversion-1.14.0.tar.gz
      mv sqlite-amalgamation-3081101 subversion-1.14.0/sqlite-amalgamation 
      cd subversion-1.14.0
      ./configure --prefix=/opt/subversion --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-zlib  --enable-maintainer-mode --with-serf=/opt/serf --enable-mod-activation --with-lz4=internal --with-lz4=internal --with-utf8proc=internal
      make && make install
      
      环境变量设置:在 vi /etc/profile 末尾增加以下内容:
      export SVNPATH=/opt/subversion/bin
      export PATH=$SVNPATH:$PATH:$HOME/bin   
      
      保存后执行 source /etc/profile
    5. 验证
      svn --version
      

    可能碰到的问题

    1. configure: error: no acceptable C compiler found in $PATH
      原因:没有C编译器
      解决:yum -y install gcc
    2. zipimport.ZipImportError: can't decompress data; zlib not available
      原因:没有zip解压缩类库
      解决:yum -y install zlib*
    3. 安装 serf 的时候,出现 importlib.metadata.PackageNotFoundError: SCons;
      原因:最开始的时候,我下载的是 scons 最新版本,估计是版本问题,我也懒得去查原因了,所以将 scons 换成低版本 3.0.1,最好解决
      解决:将 scons 更换为低版本 3.0.1
    4. unzip: command not found
      解决:yum install unzip
    5. 安装openssl时报错,提示需要安装 You need Perl 5
      解决:安装 perl-5.28.0.tar.gz
       tar zxvf perl-5.28.0.tar.gz
       cd perl-5.28.0
       ./Configure -des -Dprefix=$HOME/localperl
       make
       make test
       make install     
      
    6. 安装 subversion 出现 ./svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory
      解决:需要将 serf 设置在共享库里之后从新编译安装: vi /etc/ld.so.conf 在文件中增加以下内容
      /opt/serf/lib   
      
      保持之后执行ldconfig,重新编译 subversion
    7. 安装 python3 的时候,make 的时候一直显示 checking for... ,进入死循环
      原因:系统时间的原因。如果系统时间比python的发布时间要早,make就会进入死循环
      解决:使用 date 命令重新设置一下系统时间就行了

    参考文档:https://blog.csdn.net/baidu_36748884/article/details/81365398

    -- 整理于网络,加上自己的理解,大家一起学习,进步就好
  • 相关阅读:
    webpack基础
    LeetCode232. 用栈实现队列做题笔记
    mysql 时间加减一个月
    leetcode 1381. 设计一个支持增量操作的栈 思路与算法
    LeetCode 141. 环形链表 做题笔记
    leetcode 707. 设计链表 做题笔记
    leetcode 876. 链表的中间结点 做题笔记
    leetcode 143. 重排链表 做题笔记
    leetcode 1365. 有多少小于当前数字的数字 做题笔记
    LeetCode1360. 日期之间隔几天 做题笔记
  • 原文地址:https://www.cnblogs.com/shulipeng/p/14181219.html
Copyright © 2011-2022 走看看