AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 405605
Accepted
EhevuTov
EhevuTov
Asked: 2012-07-07 20:12:12 +0800 CST2012-07-07 20:12:12 +0800 CST 2012-07-07 20:12:12 +0800 CST

使用端口系统在 FreeBSD 9 上将我现有的 Perl 5.14 升级到 Perl 5.16 的最简单方法是什么?

  • 772

我在 FreeBSD 上使用 ports 系统。使用端口升级 Perl 的最简单方法是什么?我目前卸载所有 perl 及其依赖项。我认为会有一种很酷的方法来升级 Perl 及其所有依赖项。那会是什么?

perl freebsd
  • 2 2 个回答
  • 8162 Views

2 个回答

  • Voted
  1. Best Answer
    arved
    2012-07-08T03:18:05+08:002012-07-08T03:18:05+08:00

    请参阅 /usr/ports/UPDATING 20120630 中的条目详细描述了如何使用 portmaster 或 portupgrade 进行更新

    • 8
  2. antiduh
    2013-06-18T07:52:13+08:002013-06-18T07:52:13+08:00

    这是 .. 更手动的方法。

    perl-after-upgrade 应该可以解决大多数文件的问题(像 irssi 这样的二进制文件除外),但是,我发现它不再那么有效了,所以我只是手动完成所有操作。

    在升级 perl 之前,我会关闭任何依赖它的东西,因为这些东西很可能在升级过程运行时中断。对我来说,这通常意味着关闭 SpamAssassin,这实际上意味着我只需关闭 postfix 几分钟即可。

    我还会将当前的依赖列表转储到 perl - 上pkg info -r perl,以防万一您不得不回退到手动升级所有内容。

    首先,构建并安装 perl 版本。你所有的 perl 模块都将被破坏,因为它们仍然安装在旧的 perl 目录中。使用 portmaster 或 portupgrade 强制重建所有 perl 模块:portmaster p5-对我有用。

    然后去寻找依赖于 perl 的二进制文件,这些二进制文件已损坏 - 我为此使用 libchk。只需运行它并查找对 libperl.so 具有不可解析引用的二进制文件。用于pkg which找出哪个端口安装了该二进制文件,如果从名称上看不明显,然后使用 portmaster 或 portupgrade 重建该端口。

    您可能可以开始恢复基于 perl 的服务,例如 SpamAssassin。

    然后我浏览 /usr/local/lib/perl5 目录,看看是否还有不应该存在的文件。pkg which再次找出它们的来源,升级这些端口,重复直到它为空或每个文件都无人认领。

    portmaster -r perl-将是执行此操作的廉价且简单的方法,但这可能会花费数小时来重建实际上不需要重建的东西。这种方式可能要快得多,但它需要更多的工作并且需要更多的摆弄。

    • 3

相关问题

  • CentOS 的依赖挑战

  • 将执行 Perl REGEX 扩展的 Lex Flex 变体

  • 将 perl 脚本作为 Windows 服务运行

  • debian 升级失败,导致 perl 问题

  • Perl 5.10 登录/注销脚本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve