我正在寻找使用mod-mono-server4
,以便我可以在单声道上运行 .NET 4.0 应用程序。
我目前正在运行一个带有此单声道版本的 debian 服务器:
$ mono --version
Mono JIT compiler version 2.6.7 (Debian 2.6.7-5)
其中不包括mod-mono-server4
。
根据http://mono-project.com/DistroPackages/Debian,这是我可以拥有的最新版本的单声道,所以看起来我需要在 Wheezy 上使用“测试”版本才能获得版本 2.10.8.1。所以我的问题是,我如何升级到测试版本,这是不建议的吗?我的服务器目前有几个站点正在运行,无论如何都不是测试服务器。
我假设我需要添加一些新的或修改我的当前存储库,/etc/apt/sources.list
但这会影响我服务器上安装的其他东西吗?
简而言之:不要。
更长的版本:如果您将 Debian 版本设置为安装软件包,dpkg 也会尝试从该新版本安装该软件包的所有依赖项。然后这些将有更多的依赖项,它也会尝试安装,其中一半将与您现有包所需的依赖项发生冲突。
如果你正在安装的包没有库依赖并且几乎是原子的(比如一个小的网络应用程序),你可能会逃避这个,但基本上你最终会陷入依赖地狱,任何更复杂的事情。
您可以尝试的一件事是 squeeze-backports。这是一个比 squeeze 附带的更新版本的流行软件包更小的存储库。由于它们是针对 squeeze 附带的库进行编译的,因此您不会遇到依赖性问题。
请参阅:http ://backports-master.debian.org/以了解如何配置 apt 以使用它,但是关于维护者是否正在为任何给定软件包构建反向移植版本,这有点像彩票。
您可以像这样在 /etc/apt/preferences 中设置固定:
之后,您可以将测试 repo 添加到 /etc/apt/sources.list 和 aptitude update。
包固定允许您安装选定的包及其测试依赖项,使系统的其余部分保持稳定。
用于
aptitude -t testing install mono
设置包的测试版本。混合不同的回购协议时你应该小心,因为你可能会破坏包的组合或最终导致系统混乱。
阅读这个和这个了解更多信息
另一件值得尝试的事情是 apt-get 你需要的包源,并针对压缩版本的库进行编译。
你可能会遇到一堆编译错误,你需要处理它们。
结果将是一个向后移植的包。
如果您熟悉创建 debian 软件包,这并不难。
本手册是成为手册的良好开端。
为 wheezy 添加 deb-src(仅 deb-src!)行并使用“apt-get -b source”有时可以将软件包重新编译到较旧的发行版中。您可能必须以相同的方式安装依赖项。