这是我当前的sources.list,我希望按顺序安装libjetty-java、libjetty-extra-java 和jetty。但是,找不到这些包,我只能从中下载 debhttp://dist.codehaus.org/jetty/deb/
并获取依赖项。 libslf4j-java libservlet2.5-java 手动。
deb http://http.us.debian.org/debian lenny main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
deb http://http.us.debian.org/debian lenny main contrib non-free
deb-src http://http.us.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
我的问题是,jetty 有 Debian 存储库吗?如果不是的话,从长远来看,上述方法会不会有问题呢?我之所以这么问,是因为我没有资格进行自动升级,而且该机器将是生产服务器。
答案1
Jetty 位于 Debian 存储库中,但目前仅在测试分布,不在稳定的你所拥有的分布。
看起来jetty没有很多lenny(稳定)中没有的依赖项,所以一个可行的选择是保留你的lenny系统,但安装一些来自squeeze(测试)的二进制包。仅当测试包不依赖于最新(稳定后)版本的库时,这才是可行的。特别是,本机可执行文件通常会被淘汰,因为它们需要升级 C 库。
通过将这些行放入文件中,将挤压存储库添加到您的源中/etc/apt/sources.list.d/squeeze.list
:
deb http://http.us.debian.org/debian squeeze main contrib non-free
deb http://security.debian.org/debian squeeze main contrib non-free
然后你就可以从squeeze安装软件包了。但不要就此停止,否则下次运行时apt-get upgrade
,您的系统将变得(几乎)全部测试。
创建文件/etc/apt/preferences
包含以下几行:
Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 200
然后,测试中的包的优先级为 200,低于默认值 (500)。因此,只有在稳定版中没有同名软件包时才会安装测试中的软件包。