我在FreeBSD上使用ports系统。 什么是使用端口升级Perl最简单的方法? 我目前卸载所有的Perl和它的依赖。 我认为这将是一个很酷的方式来升级Perl和所有它的依赖。 那会是什么?
请参阅/ usr / ports /更新来自20120630的条目详细说明如何使用portmaster或portupgrade
这是更手动的方式来做到这一点。
perl-after-upgrade应该是对大多数文件(除了像irssi这样的二进制文件)做的伎俩,但是,我发现它不能很好地工作,所以我只是手工做所有事情。
在升级perl之前,我会closures所有依赖它的东西,因为这些东西在升级过程中可能会中断。 对我来说,这通常意味着closuresSpamAssassin,这意味着我只需closurespostfix几分钟就可以了。
我也将perl – pkg info -r perl上的当前依赖者列表转储,以防万一您必须回退到手动升级所有内容。
首先,构build并安装perl的版本。 所有的perl模块都将被破坏,因为它们仍然安装在旧的perl目录中。 使用portmaster或portupgrade强制重build所有perl模块: portmaster p5-为我做的伎俩。
然后去寻找有perl的依赖关系的二进制文件,我用这个libchk。 只要运行它并查找具有无法parsing的引用libperl.so的二进制文件。 使用pkg which来确定哪个端口安装了二进制文件,如果这个文件名不是很明显,那么使用portmaster或者portupgrade去重build那个端口。
你可能会开始恢复基于Perl的服务,如SpamAssassin。
然后我通过/ usr / local / lib / perl5目录来查看是否有文件仍然不存在。 再次找出他们来自哪里,升级这些端口,重复,直到它是空的或每个文件是无人认领。
portmaster -r perl-将是这样做的便宜和简单的方法,但是这可能会花费几个小时来重build那些实际上不需要重build的东西。 这种方式可能要快得多,但是还有很多工作要做,而且需要多一点小把戏。