我已经有一个工作了很长时间的SVN与SVN运行。 由于其他原因,我不得不做一个系统升级:
apt-get upgrade
除了我的Apache2configuration,一切似乎都行了。 现在它不会以DAV: SVN开始。 我注意到, mod_dav_svn和mod_authz_svn突然失踪。 所以我试图安装它们:
root@kolky:/etc/apache2# apt-get install libapache2-svn Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libapache2-svn : Depends: apache2.2-common but it is not going to be installed E: Unable to correct problems, you have held broken packages.
我可以理解这是不工作的,因为我的Apache版本是:
root@kolky:/etc/apache2# apache2 -v Server version: Apache/2.4.4 (Debian) Server built: May 31 2013 10:04:32 root@kolky:/etc/apache2# svn --version svn, version 1.7.9 (r1462340) root@kolky:/etc/apache2# svnadmin --version svnadmin, version 1.7.9 (r1462340) root@kolky:/etc/apache2# cat /etc/issue Debian GNU/Linux jessie/sid \n \l root@kolky:/etc/apache2# uname -r 2.6.32-5-amd64
有针对这个的解决方法吗? 我能用mod_dav_svn以某种方式运行Apache2.4.4吗? 或者我将不得不降级我的Apache?
我会build议你使用下面的回购 – http://opensource.wandisco.com/debian/dists/
您可以查看错误描述。 显然你可以通过编译你自己的程序包来工作。 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666794#17另外,请记住,您不需要执行“apt-get upgrade”来升级某些软件包。 “升级”操作升级您已安装的每个软件包。 您可以使用“apt-get install package_name”来升级一些软件包。
编辑:
以下是执行手动构build以保持Web svn存储库工作的步骤:
作为非root用户:
cd /tmp mkdir svn_tmp cd svn_tmp sudo apt-get install apache2-dev sudo apt-get build-dep subversion apt-get source --compile subversion
等到检查部分开始。 然后停止进程(Ctrl-C):
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 ... (Ctrl - C)
我们来编辑一些文件。 首先是颠覆-1.7.9 / debian / control。 确保apache2-dev在Build-Depends部分中(第7行):
Build-Depends: debhelper, libneon27-gnutls-dev, libserf-dev (>= 1), zlib1g-dev, libapr1-dev, libaprutil1-dev, libdb5.1-dev, libsasl2-dev, apache2-dev, ...
然后,检查是否为libapache-2的一个部分。 如果存在,请确保删除apache2.2-common依赖项。 如果不是,请添加完整的部分:
Package: libapache2-svn Section: httpd Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: db5.1-util Description: Subversion server modules for Apache This package provides the mod_dav_svn and mod_authz_svn modules for the Apache 2.2 web server. These modules provide Subversion's WebDAV server backend, to serve repositories over the http and https protocols. See the 'subversion' package for more information.
然后,编辑subversion-1.7.9 / debian / rules并确保ENABLE_APACHE为真:
ENABLE_APACHE := yes
现在,我们准备再次开始构build过程:
cd /tmp/svn_tmp/subversion-1.7.9 && dpkg-buildpackage -b -uc
这个过程可能需要很长时间。 对我来说,花了1个小时。 最后,我们可以安装这个包。
sudo dpkg -i /tmp/svn_tmp/libapache2-svn_1.7.9-1+nmu3_amd64.deb sudo a2enmod dav_svn sudo a2enmod authz_svn sudo service apache2 restart
就这样。
将ppa:ondrej / apache2添加到您可以帮助安装缺less的Apache2包,特别是如果您最近添加了PHP 5最新的存储库(从这个答案 ):
sudo add-apt-repository ppa:ondrej/apache2 sudo apt-get update sudo apt-get install libapache2-svn