有没有办法安装 openjdk8 包并防止 perl 在 FreeBSD 9.2 上更新?
Is there a way to install the package openjdk8 and to prevent perl to update on FreeBSD 9.2 ?
我目前正在尝试找到一种在 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 is locked and may not be modified
安装结束,我的包没有安装。另外,出于特定原因,我不想使用端口方法。我绝对想使用 pkg 方法。
所以我的问题是这个:有没有办法完成我的 openjdk8 安装并禁止 perl 更新?
感谢您的帮助。
可能您正在更新其他软件包,因此正在更新 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 版本,最后,它不应该 modify/affect openjdk8
包。
此外,这可能会有用,
pkg install --dry openjdk8
这将检查要安装的内容。
如果存在依赖关系(假设您没有 perl),您可以试试这个:
pkg install --ignore-missing openjdk8
我终于找到了问题的答案。通过离线安装我的包,它安装了最少的依赖项。这不是一种在 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
就是这样。它将提取包和最少的依赖项。
我目前正在尝试找到一种在 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 is locked and may not be modified
安装结束,我的包没有安装。另外,出于特定原因,我不想使用端口方法。我绝对想使用 pkg 方法。
所以我的问题是这个:有没有办法完成我的 openjdk8 安装并禁止 perl 更新?
感谢您的帮助。
可能您正在更新其他软件包,因此正在更新 Perl,在安装 openjdk8
时没有获取其他依赖项,而且 port Makefile.
这是仅安装时的输出 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 版本,最后,它不应该 modify/affect openjdk8
包。
此外,这可能会有用,
pkg install --dry openjdk8
这将检查要安装的内容。
如果存在依赖关系(假设您没有 perl),您可以试试这个:
pkg install --ignore-missing openjdk8
我终于找到了问题的答案。通过离线安装我的包,它安装了最少的依赖项。这不是一种在 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
就是这样。它将提取包和最少的依赖项。