Ubuntu 12.04 已经发布,我想升级。但是,在升级之前,我需要保留现有的 perl 5.12 安装。在 12.04 上,有 perl 5.14,我需要重新安装许多 perl 模块。我最好在升级之前复制现有的 perl 安装,因为安装程序将删除旧的 perl 内容,当 5.12 模块消失时,我无法确定我需要什么。
有什么想法可以做到这一点吗?我混合安装了来自 repos、cpanm、cpan 和源代码的模块。我需要
- 确定我的 perl 模块的完整列表及其各自来源的策略
- 进行的顺序。
- 如果某个模块在 5.14 中尚不可用,则提供相应建议。
- 关于需要改变哪些环境变量和路径的建议。
答案1
我建议将这个问题分成几个部分,以简化答复。
以下建议只是我之前迁移经历的粗略概述。我建议您继续阅读其他内容。
制定策略来确定我的 Perl 模块的完整列表及其各自的来源
有多种方法可以确定您的系统上安装了哪些 Perl 模块。
以下命令:
find -L `perl -e '{print join $/, grep {/[^.]/} @INC}'` -name '*pm' 2>/dev/null
将列出所有 perl 模块,包括默认包安装的模块。
还有两个命令可以简化列表以包含手动安装的模块:
命令
perldoc perllocal
将列出有关模块版本及其安装位置的一些详细信息。另一个命令是
sudo instmodsh
.它将提供已安装模块的简单列表。此处发布的其他问题可能有助于确定 你的模块是否是核心发行版的一部分。
制定迁移计划以确定进行迁移的顺序。
我建议使用 Perl 的
autobundle
使用以下命令创建已安装模块的快照选项:perl -MCPAN -e 'autobundle'
最终的输出将是这样的:
wrote bundle file /home/somerandomuser/.cpan/Bundle/Snapshot_2012_11_13_00.pm
请务必记下该文件,因为在系统升级后发出下一个命令时您将需要它来恢复快照:
perl -MCPAN -e 'install Bundle::Snapshot_2012_11_13_00'
如果某个模块在 5.14 中尚未可用,请提供建议。
阅读有关不同模块的信息 亚太网络以及它们在新的 Perl 版本中的可用性。最后,最重要的是,我强烈建议安装佩尔布鲁和测试。测试。测试。 我的说明并非旨在作为一步一步的万无一失的安装指南,而只是该过程的粗略概述
我希望这能为您指明正确的方向。