我目前正在尝试在FreeBSD 9.2上安装openjdk8软件包。 为此,我使用了:
sudo pkg install openjdk8
它没有任何问题。但是,这也将perl包更新为5.24版。我们有很多脚本只能用于perl 5.16.3,所以我想保留这个版本的perl。
我已经尝试卸载perl 5.24软件包并重新安装perl 5.16.3并且它工作正常。所以我确信openjdk并不真的需要更新这个软件包。我已经尝试锁定包perl 5.16.3但openjdk8拒绝安装自己。我有这样的信息:
perl 5.16.3被锁定,可能无法修改
安装结束,我的包没有安装。另外,由于特定原因,我不想使用端口方法。我绝对想用pkg方法。
所以我的问题是这样的:有没有办法完成我的openjdk8安装并禁止perl更新?
感谢您的帮助。
答案 0 :(得分:1)
我终于找到了我的问题的答案。通过离线安装我的软件包,它会安装最少的依赖项。在FreeBSD上安装软件包并不是一种非常流行的方法,但它的效果非常好。
请按照:
sudo pkg install -F openjdk8
此命令允许您只获取包及其依赖项。完成后,您必须找到刚刚提取的软件包的位置。
sudo find / -n * .txz -print
对我来说结果是
/var/cache/pkg/openjdk8-8.112.16_1-1baeb24a94.txz
然后我带着:
进入这个目录cd / var / cache / pkg
现在你只需要使用:
sudo pkg-static add openjdk8
这就是全部。它将提取包和最少的依赖项。
答案 1 :(得分:0)
可能您正在更新其他软件包,因此正在更新Perl,在安装openjdk8
时,不会获取其他依赖项,port Makefile中也没有perl依赖项。
这是仅安装openjdk8
时的输出:
# pkg install openjdk8
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
openjdk8: 8.152.16
Number of packages to be installed: 1
The process will require 165 MiB more space.
实际上,您可以在不使用Perl的情况下安装软件包。
您可以做的是安装openjdk8
,然后安装您需要的Perl版本,最后,它不应该修改/影响openjdk8
包。
此外,这可能很有用,
pkg install --dry openjdk8
这将检查将要安装的内容。
如果存在依赖关系(让我们说你没有perl),你可以试试这个:
pkg install --ignore-missing openjdk8