完全删除 perl 包

Posted

技术标签:

【中文标题】完全删除 perl 包【英文标题】:Remove perl package completely 【发布时间】:2020-08-03 03:44:28 【问题描述】:

我正在尝试卸载旧的 perl 包并安装一个新包。我使用 rpm -e 卸载旧包。卸载后我仍然可以看到以下文件。我怎样才能从我的服务器中。它在 OEL 6.10 上运行。当我执行 "perl -v" 时,我可以看到 5.30 版本作为输出,即使在卸载 perl 之后也是如此。

/opt/CWx/perl
/opt/CWx/modules/installed/Module-Build-0.4005/inc/Perl
/opt/CWx/modules/installed/Perl-OSType-1.003/blib/lib/Perl
/opt/CWx/modules/installed/Perl-OSType-1.003/blib/lib/auto/Perl
/opt/CWx/modules/installed/Perl-OSType-1.003/blib/arch/auto/Perl
/opt/CWx/modules/installed/Perl-OSType-1.003/lib/Perl
/opt/CWx/modules/Module-Build-0.4208/inc/Perl
/usr/src/kernels/2.6.32-754.11.1.el6.x86_64/tools/perf/scripts/perl
/usr/src/kernels/2.6.32-754.6.3.el6.x86_64/tools/perf/scripts/perl
/usr/src/kernels/2.6.32-754.2.1.el6.x86_64/tools/perf/scripts/perl
/usr/local/share/perl5_old/Perl
/usr/local/bin/perl    

【问题讨论】:

【参考方案1】:

如果想知道是哪个包安装了文件可以使用命令:

rpm -q --whatprovides [filename]

例如,对于列表中的第一个文件:

rpm -q --whatprovides /opt/CWx/perl

您列出的所有文件都不在基于 RedHat 的系统上的标准 Perl RPM 使用的位置。我希望您会发现它们要么是由完全不同的软件包安装的,要么根本不是由软件包安装的。

这也将解释为什么您仍然可以访问 Perl。这些文件包括其他版本的 Perl 编译器,我敢打赌,安装它们的人也更改了 PATH,因此您至少可以访问其中一个。

如果您想知道哪个 Perl 安装正在响应您的命令,只需运行以下命令:

which perl

【讨论】:

感谢您的建议。当我运行 rpm -q --whatprovides /opt/CWx/perl 时,我得到的输出是 "file /opt/CWx/perl is notowned by any package" 。所以想不通。 @VigneshSenthil:对。那正是我所想。这些额外的文件不是包的一部分。它们在某些时候是手动安装的。除非您可以与了解该安装历史的人交谈,否则您无能为力。 当然。感谢您的建议。

以上是关于完全删除 perl 包的主要内容,如果未能解决你的问题,请参考以下文章

如何从 mac 中完全删除 NPM 包?

如何完全清空或删除VSTS包裹Feed?

如何从 Perl 完全改变 Win32 标题栏的外观?

通过perl的open2执行时,telnet命令输出未完全打印

浅谈Perl的类包模块与面对对象编程

我的 Perl 有多糟糕?获取 IP 地址并返回完全限定域名的脚本 [关闭]