我的工作环境需要 Apache 2.2.22,而不是最新版本的 2.4。我的机器当前运行的是 Ubuntu 13.10。当我使用 Synaptic 或 apt-get 时,它不允许我选择比 2.4 更旧的 Apache 版本。
所以我的问题是,如何使用 Synaptic 或 apt-get 在 Ubuntu 13.10 上强制安装 Apache 2.2.22。当我尝试指定版本时,我得到以下信息:
sudo apt-get install apache2=2.2.22-1ubuntu1
[sudo] password for b18c1:
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:
apache2 : Depends: apache2-mpm-worker (= 2.2.22-1ubuntu1) but it is not going to installed or
apache2-mpm-prefork (= 2.2.22-1ubuntu1) but it is not going to be installed or
apache2-mpm-event (= 2.2.22-1ubuntu1) but it is not going to be installed or
apache2-mpm-itk (= 2.2.22-1ubuntu1) but it is not going to be installed
Depends: apache2.2-common (= 2.2.22-1ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
答案1
Apache 2.2 在 Saucy 存储库中不可用。您应该使用它或降级到 Precise Pangolin (Ubuntu 12.04)。
如果你强迫自己这么做,那么你将来很容易受到各种怪癖和问题的影响。
答案2
我遇到了同样的问题。我需要 ColdFusion 8/9 来处理一些不支持 Apache 2.4 的客户端
您可以使用以下步骤使用 Apache 2.2 的 Raring 版本
使用以下命令创建“/etc/apt/sources.list.d/ubuntu1304.list”:
#Ubuntu 13.04 复刻版,替代 2.4 deb http://nl.archive.ubuntu.com/ubuntu/ raring main
使用以下命令创建“/etc/apt/preferences.d/apache22”:
软件包:apache* 引脚:释放 a=raring Pin 优先级:500
然后做:
sudo apt-get 更新 sudo apt-get dist-upgrade
答案3
如果值得的话,尝试一下(如果虚拟系统不是一个选项)
- 在 VirtualBox 或 VMWare 机器上安装新的 Ubuntu 13.04。
- 使用 synaptics,检查 Apache2,文件>生成下载脚本。
- 在另一台 VirtualBox 或 VMWare 机器上安装 Ubuntu 13.10。
- 在新的 U13.10 机器中运行脚本以下载 Apache2 及其所有依赖项。
- 尝试使用 debi (gui) 或 dpkg (cli) 安装它们。
如果有效,请将其安装到您的机器上。
答案4
以 root 身份:
# 13.04 = precise, 13.10 = saucy
cat /etc/apt/sources.list | sed 's/precise/saucy/g' > /tmp/1304-sources
echo -e "\n\n\n#\n# Following are precise (13.04) source list\n#\n" >> /etc/apt/sources.list
cat /tmp/1304-sources >> /etc/apt/sources.list
apt-get update
apt-cache policy apache2
现在使用 synaptic 软件包管理器,您需要从“精确”安装 apache 强制版本,然后安装锁定版本(参见菜单软件包 -> 锁定版本和强制版本)。这并不容易,因为 synaptic 似乎有问题,但这是可行的。有时我不得不关闭并打开 symantec,尤其是为了安装一些额外的库。