我们正在更新我们的一个内部开发服务器 (运行旧版本的 Ubuntu,我猜是 8 或 9),并且在使用 升级/安装软件包时遇到错误apt-get
。这是尝试安装 的控制台输出zip
:
me@server:~$ sudo apt-get install zip
Reading package lists... Done
Building dependency tree
Reading state information... Done
zip is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 36 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up libapache2-svn (1.5.1dfsg1-1ubuntu2.1) ...
Considering dependency dav for dav_svn:
Module dav already enabled
ERROR: Config file dav_svn.conf not properly enabled: /etc/apache2/mods-enabled/dav_svn.conf is a real file, not touching it
dpkg: error processing libapache2-svn (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
libapache2-svn
E: Sub-process /usr/bin/dpkg returned an error code (1)
me@server:~$
根本问题似乎是:
ERROR: Config file dav_svn.conf not properly enabled: /etc/apache2/mods-enabled/dav_svn.conf is a real file, not touching it
该文件的权限:
-rw-r--r-- 1 root root 1099 2009-09-08 16:32 /etc/apache2/mods-enabled/dav_svn.conf
Google 上没有找到太多信息,而且我不确定如何“正确启用”该配置文件。(或者为什么这会阻止apt-get
其运行?)
答案1
在 /etc/apache2/mods-enabled 中,您应该只具有指向 /etc/apache2/mods-available 的链接。因此,将您的 /etc/apache2/mods-enabled/dav_svn.conf 移至 /etc/apache2/mods-available,执行 a2enmod dav_svn,然后重新启动安装过程。
答案2
事实证明,文件不应该存储在 中mods-enabled
,而应该存储在 中mods-available
。然后应该在 中创建一个符号链接,mods-enabled
指向存储在 中的文件mods-available
。
结束语:
首先删除原来的:
mv /etc/apache2/mods-enabled/dav_svn.conf /etc/apache2/mods-available/
然后创建符号链接:
ln -s /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-enabled/dav_svn.conf
答案3
我的第一个猜测是,它可能在安装 libapache2-svn 后尝试重新启动 apache,但当它尝试重新启动时,由于 dav_svn.conf 中的配置错误而无法重新启动。尝试使用命令禁用它a2dismod
。或者只需将 dav_svn.conf 移出 mods-enabled 文件夹。