仔细研究一下,我认为您不需要或不应删除系统上的任何目录或文件。
运行命令perl -MCPAN -e 'upgrade'
在命令行中不会安装附加模块到系统中。
它将仅尝试通过CPAN软件包管理系统而不是Synaptic升级已安装的模块。
这类似于运行“ r”命令,然后在cpan[1]>
提示符下运行upgrade命令。看 这里。
CPAN和Synaptic是两个独立且不同的程序包管理系统。
这不会从CPAN安装所有可能的Perl模块。它也不会修改现有的系统包dB。因此,您绝对可以安全地将其回滚。
但是,如果应用程序或系统依赖于特定版本的Perl模块,这仍然存在潜在的风险。
如果您中断了升级过程,则很有可能避免了损害系统。
恢复选项:
从命令行启动cpan
,然后运行命令r来查看已安装模块和可用升级的列表。例如,这是我的cpan的缩写输出:
cpan[7]> r
Package namespace installed latest in CPAN file
App::Cpan 1.5701 1.61 BDFOY/App-Cpan-1.61.tar.gz
DBD::mysql 4.020 4.022 CAPTTOFU/DBD-mysql-4.022.tar.gz
DBI 1.616 1.623 TIMB/DBI-1.623.tar.gz
DB_File 1.821 1.827 PMQS/DB_File-1.827.tar.gz
Error 0.17010 0.17019 SHLOMIF/Error-0.17019.tar.gz
Eval::Closure 0.06 0.08 DOY/Eval-Closure-0.08.tar.gz
....
Eval::Closure
对于本示例,以模块为例。假设您让perl -MCPAN -e 'upgrade'
命令完成,现在安装了0.08版。
查看Synaptic,在这种情况下,它将显示存储库中的最新版本仍为0.06(在我的实例中为0.06-1)。
您可以通过运行以下命令来回滚到系统版本:
sudo apt-get install --reinstall libeval-closure-perl
如果您手动安装了任何Perl模块,并想将它们回滚到以前的版本,则需要再次下载它们(从source.cpan.org或其他地方),然后手动重新安装它们。
总结一下:在CPAN中升级Perl模块不会影响您的系统存储库。
祝你好运。不要惊慌
apt-get
Synaptic之类的东西,以便系统彻底删除并更新必需的数据库。