删除 /usr/share/perl/5.26 因为我有 /usr/share/perl/5.26.1 文件夹

Bri*_*ley 3 perl

作为 perl 及其版本的新手,我认为它像 R 一样工作,但显然不是。我有文件夹 /usr/share/perl/5.26.1 文件夹和 /usr/share/perl/5.26 文件夹都包含相同的文件,所以我删除了 /usr/share/perl/5.26 文件夹。一切都很好。当我进入时,perl -v我得到This is perl 5, version 26, subversion 1 (v5.26.1). 但是由于某种原因,当尝试安装 DBD::SQLiteMakefile.PL时,包“DBD-SQLite-1.66”文件夹中的默认值PERL_LIB = /usr/share/perl/5.26。我如何将其设为默认值PERL_LIB = /usr/share/perl/5.26.1或如何取回 /usr/share/perl/5.26 文件夹,因为显然您需要这两个文件夹,这似乎完全浪费了空间。

N0r*_*ert 7

您必须简单地使用 APT 的强大功能来恢复文件夹内容:

sudo apt-get install --reinstall \
$(dpkg -S /usr/share/perl/5.26 | sed "s/,//g" | sed "s|: /usr/share/perl/5.26||")
Run Code Online (Sandbox Code Playgroud)

或更宽

sudo apt-get install --reinstall \
$(dpkg -S /usr/share/perl/ | sed "s/,//g" | sed "s|: /usr/share/perl/||")
Run Code Online (Sandbox Code Playgroud)


Bri*_*rek 6

许多程序/库使用符号链接来抽象出确切的版本号并提供更稳定的位置。例如,很少有程序关心您的 Perl 补丁号是 5.26.1,但可能依赖于次要版本号 5.26。在这种情况下,“真正的”目录是,/usr/share/perl/5.26.1并且在您删除它之前有一个/usr/share/perl/5.26指向的符号链接/usr/share/perl/5.26.1。符号链接基本上消耗 0 磁盘空间,因此拥有这两个目录不会浪费任何东西。

要解决您的情况,只需执行sudo ln -s /usr/share/perl/5.26.1 /usr/share/perl/5.26这将在/usr/share/perl/5.26该点创建一个符号链接到/usr/share/perl/5.26.1.