apt-get:识别包的所有旧版本号?

Cou*_*les 5 php debian apt

我需要在Debian上安装PHP 5.3.如果我要定期安装PHP,我会得到5.4版.

我知道我可以运行apt-get install <package-name>=<package-version-number>安装特定版本.但我不知道PHP 5.3的确切包版本号是什么.

我跑了apt-cache showpkg php5,apt-cache madison php5但他们只列出了当前的版本.

如何识别用于安装PHP 5.3的正确版本号?

Gui*_*ume 10

我不知道它是否在某些apt命令中可用,但您可以在此处获取完整列表:http://snapshot.debian.org/package/php5/

似乎最新的Debian PHP 5.3是5.3.10-2:http://snapshot.debian.org/package/php5/5.3.10-2/

要从快照安装软件包,您必须在/etc/apt/sources.list中添加与所需软件包匹配的条目,此条目可在"池"链接中找到.例如,对于php5 5.3.10-2,池链接是http://snapshot.debian.org/archive/debian/20120221T041601Z/pool/main/p/php5/所以你需要添加http://snapshot.debian .org/archive/debian/20120221T041601Z /给你sources.list:

deb http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable main
deb-src http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable main
Run Code Online (Sandbox Code Playgroud)

这些条目需要设置为不稳定,这是因为快照会让你第一次在debian软件包中提供软件包,而且最常见的是不稳定(但我想它也可以在实验中).

接下来你需要更新,同时告诉apt忽略包的到期日期:

apt-get -o Acquire::Check-Valid-Until=false update
Run Code Online (Sandbox Code Playgroud)

如果您正在使用aptitude,那就是:

aptitude -o Acquire::Check-Valid-Until=false update
Run Code Online (Sandbox Code Playgroud)

现在您可以安装特定版本的php5:

apt-get install php5=5.3.10-2
Run Code Online (Sandbox Code Playgroud)

现在,当您向安装添加不稳定的存储库时,您可能希望将优先级设置为稳定包,请参阅:http://www.imped.net/2007/07/20/apt-pinning-installing-unstable-packages-上稳定的debian /