![如何将 PHP 升级到 Debian Squeeze 的更高版本?](https://linux22.com/image/589098/%E5%A6%82%E4%BD%95%E5%B0%86%20PHP%20%E5%8D%87%E7%BA%A7%E5%88%B0%20Debian%20Squeeze%20%E7%9A%84%E6%9B%B4%E9%AB%98%E7%89%88%E6%9C%AC%EF%BC%9F.png)
目前,我的 PHP 版本是 5.3.3,我该如何升级它?我该如何升级任何东西?例如,如果我也想升级 phpMyAdmin?
答案1
升级所有软件包:
apt-get update; apt-get upgrade;
如果您只想升级一个包(例如 php5):
apt-get update; apt-get install php5;
要查看 Debian 上可用的软件包版本,请查看:
http://www.debian.org/distrib/packages
如果您想安装 php5 5.4.4-2(该版本仅在 wheezy 上可用),您应该将 wheezy 添加到您的 /etc/apt/sources.list 中:
deb http://ftp.us.debian.org/debian/ wheezy main non-free contrib
进而:
apt-get update
apt-get install -t wheezy php5
为了避免任何意外,你应该使用 apt pinning 来防止你的系统安装来自 wheezy 的软件包,只需创建文件 /etc/apt/preferences
Package: *
Pin: release n=squeeze
Pin-Priority: 650
Package: *
Pin: release n=wheezy
Pin-Priority: -10
因此,当您执行 apt-get install 时,如果您不指定 -t wheezy,它将默认安装来自 squeeze 的软件包。
答案2
正如@Juan所注意到的,固定会让你陷入依赖地狱。当我想在我的Debian系统上使用前沿技术时,我通常会求助于http://www.dotdeb.org/
答案3
Debian 稳定版的设计非常非常稳定;因此通常不支持使用较新版本的软件包,这通常很棘手和/或不是一个好主意,有时甚至是不可能的。话虽如此,还是有办法做到这一点:
- 检查 backports.debian.org,看看您想要的软件包是否在那里 - 这是“支持”的方式。
- 如果不可用,请进行一个简单的 sid 反向移植:http://wiki.debian.org/SimpleBackportCreation(使用系统上安装的开发库来编译来自 debian 测试版或不稳定版的软件包源)
- 从不同的存储库(例如 wheezy 或 ubuntu)安装 .debs 是一个非常糟糕的主意。
如果没有可用的反向移植,并且无法进行简单的 sid 反向移植,那么您可能无法让该软件包在您的系统上运行。您可以考虑升级到 debian testing(当测试处于冻结状态时,这并不那么糟糕,因为截至本文撰写时,Debian Wheezy 处于冻结状态)。
如果不重复 irc.debian.org 上的 dpkg 机器人给出的“简单 sid 反向移植”说明,这个答案就不完整:
- 打开 sources.list 并为 sid 添加一个 deb-src 行(不是 deb 行!)
- 启用 debian-backports (
- 在您选择的终端中执行以下操作:
- 能力更新;
- aptitude 安装 build-essential;
- aptitude build-dep 软件包名称;
- apt-get -us -uc -b 源包名称
- 安装生成的 debs。