您的位置:首页 > 运维架构 > Linux

CentOS 安装 SVN1.7.7的简单方法

2012-11-19 11:20 387 查看
可以在这里下载
http://subversion.apache.org/packages.html#centos
CentOS默认的yum --install subversion ,安装的是1.6版本

WANdisco (supported
and certified by WANdisco; requires
registration)

提供了安装脚本,方便好用

可以卸载yum的1.6版本,升级到1.7版本

sh内容

#!/bin/bash

echo WANdisco Subversion Installer for CentOS 5
echo Please report bugs or feature suggestions to opensource@wandisco.com
echo
echo Gathering some information about your system...

MINVERSION='2'
SVNVER='1.7.7'
NOW=$(date +"%b-%d-%y%s")

#functions
gather_info () {
ARCH=`uname -m`
SVNSTATUS=`rpm -qa|grep ^subversion-[0-9]|awk 'BEGIN { FS = "-" } ; { print $1 }'`
}
check_tools () {
COMMANDS="yum wget rpm"
for C in $COMMANDS; do
if [ -z "$(which $C)" ] ; then
echo "This installer uses the $C command which was not found in \$PATH."
exit 1
fi
done
}

check_centos_version ()
{
if [ ! -e /etc/redhat-release ]; then
echo "No /etc/redhat-release file, exiting"
echo "You are most likely not using CentOS."
echo "Installers for other operating systems are available from our downloads page:"
echo "http://www.wandisco.com/subversion/download"
echo "Exiting.."
exit 1
fi;
cat /etc/redhat-release |grep -e 5.[0-9]
if [ $? == 0 ]; then
echo "CentOS version 5.x confirmed.."
else
echo "You are most likely using an incompatible version of CentOS."
echo "This installer is made for CentOS 5.x"
echo "Installers for other operating systems are available from our downloads page:"
echo "http://www.wandisco.com/subversion/download"
exit 1
fi;
}

check_is_root ()
{
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
}
svn_remove_old ()
{
if [ -f /etc/httpd/conf.d/subversion.conf ]; then
echo Backing up /etc/httpd/conf.d/subversion.conf to /etc/httpd/conf.d/subversion.conf.backup-$NOW
cp /etc/httpd/conf.d/subversion.conf /etc/httpd/subversion.conf.backup-$NOW
fi
echo Removing old packages...
yum -y remove mod_dav_svn subversion subversion-devel subversion-perl subversion-python subversion-tools &>/dev/null
}
add_repo_config ()
{
echo Adding repository configuration to /etc/yum.repos.d/
echo '
# WANdisco Repo

[WANdisco-dev]
name=WANdisco SVN Repo 1.7
enabled=1
baseurl=http://opensource.wandisco.com/centos/5/devel/RPMS/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco' >/etc/yum.repos.d/WANdisco-1.7.repo
echo "Importing GPG key"
wget http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco -O /tmp/RPM-GPG-KEY-WANdisco &>/dev/null
rpm --import /tmp/RPM-GPG-KEY-WANdisco
rm -rf /tmp/RPM-GPG-KEY-WANdisco
echo " ------ Installing yum repo: Done ------"
}
install_svn ()
{
echo Checking to see if you already have Subversion installed via rpm...
if [[ "$SVNSTATUS" =~ subversion ]]; then
echo Subversion is already installed on the system.
echo Do you wish to replace the version of subversion currently installed with the WANdisco version?
echo This action will remove the previous version from your system
echo "[y/n]"
read svn_install_confirm
if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
svn_remove_old
add_repo_config
echo
echo Installing Subversion $SVNVER
echo
yum -y install subversion.$ARCH subversion-perl.$ARCH subversion-python.$ARCH subversion-javahl.$ARCH subversion-tools.$ARCH
echo Would you like to install apache and the apache SVN modules?
echo "[y/n]"
read dav_svn_confirm
if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
echo Installing apache and subversion modules
yum -y install mod_dav_svn.$ARCH httpd
echo "Installation complete."
echo "You can find the subversion configuration file for apache HTTPD at /etc/httpd/conf.d/subversion.conf"
echo "By default, the modules are commented out in subversion.conf."
echo "To enable the modules, please edit subversion.conf and remove the # infront of the LoadModule lines."
echo "You should then restart httpd (/etc/init.d/httpd restart)"
fi

else
echo "Install Cancelled"
exit 1
fi

else
# Install SVN
echo "Subversion is not currently installed"
echo "Starting installation, are you sure you wish to continue?"
echo "[y/n]"
read svn_install_confirm
if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then
add_repo_config
echo
echo Installing Subversion $SVNVER
echo
yum -y install subversion.$ARCH subversion-perl.$ARCH subversion-python.$ARCH subversion-tools.$ARCH
echo Would you like to install apache HTTPD and the apache SVN modules?
echo "[y/n]"
read dav_svn_confirm
if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then
echo Installing apache and subversion modules
yum -y install mod_dav_svn.$ARCH httpd
echo "Installation complete."
echo "You can find the subversion configuration file for apache HTTPD at /etc/httpd/conf.d/subversion.conf"
echo "By default, the modules are commented out in subversion.conf."
echo "To enable the modules, please edit subversion.conf and remove the # infront of the LoadModule lines."
echo "You should then restart httpd (/etc/init.d/httpd restart)"
fi

else
echo "Install Cancelled"
exit 1
fi

fi

}

install_32 ()
{
echo Installing for $ARCH
install_svn
}
install_64 ()
{
echo Installing for $ARCH
install_svn
}

#Main
check_is_root
check_centos_version
check_tools
gather_info

echo Checking your system arch
if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ]; then
if [ "$ARCH" == "i686" ]; then
ARCH="i386"
fi;
install_32
elif [ "$ARCH" == "x86_64" ];
then
install_64
else
echo Unsupported platform: $ARCH
exit 1
fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: