我想将Debian Jessie的一个软件包(及其依赖关系,但仅限于那些无法满足Wheezy的程度)安装到我的Wheezy系统上,而无需将“所有东西和厨房水槽”升级到Jessie版本。具体来说,我想安装kpcli,该文件在Jessie中提供,但在Wheezy中不提供。
我发现的所有内容都表明我应该将Jessie存储库添加到我的源列表中,设置固定以使所有内容保持混乱,并且仅从jessie中获取单个软件包,并且几乎就位。但是,它对我来说并不适合。如果我使用以下内容创建/etc/apt.d/sources.list.d/jessie.list:
deb ftp://ftp.debian.org/debian/ jessie main
deb-src ftp://ftp.debian.org/debian/ jessie main
然后使用以下命令创建/etc/apt/preferences.d/jessie:
Package: *
Pin: release a=wheezy
Pin-Priority: 1001
Package: kpcli
Pin: release a=jessie
Pin-Priority: 450
并运行apt-get -u update
之后apt-get -u install kpcli/jessie
,那么我期待apt-get的在kpcli拉动和也许从杰西其他包一小撮,并留下了我的不变安装的系统的其余部分。(我的系统是Wheezy的最新安装。)或者,如果我将引脚优先级设置得太低,我希望它什么也不做。相反,在我的系统上,apt-get想要升级数百个软件包。
到底只安装一个Jessie版本的软件包,同时又不影响我的Wheezy系统的其余部分,到底需要什么呢?
请注意,在这种特殊情况下,该软件实际上是用Perl编写的,因此无需编译为二进制文件或类似程序。但是,有一些Perl模块依赖项。因此,一种可能的替代方法是使用仅(1)允许指定要安装的单个本地.deb存档的东西来安装.deb(手动下载),例如dpkg -i
和(2)以一种智能方式处理依赖项,而平原则dpkg -i
没有。但是,对于我已经多次进行的所有搜索,都没有找到一个简单易懂的操作指南,一个通用的解决方案(也适用于二进制,编译包) 。