升级到 Stretch 后,尝试webmin
通过 进入时www
,会出现错误:
Error - Perl execution failed
Can't locate WebminCore.pm in @INC (you may need to install the WebminCore module) (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/i386-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base ..) at /usr/share/webmin/blue-theme/index.cgi line 4.
BEGIN failed--compilation aborted at /usr/share/webmin/blue-theme/index.cgi line 4.
尝试添加PERLLIB=/usr/share/webmin
到~root/.profile
,但没有成功。
有趣的是,当webmin
从命令行调用 perl 二进制文件时,它似乎没有抛出任何错误。
怎么了?
答案1
看来在 Stretch 中,需要一个额外的 PERL 库路径。
通过检查webmin
perl代码,我发现perllib
配置文件中接受了configure指令;并且代码将其添加到PERLLIB
程序运行期间已配置的内容中。
24 %config = &read_config_file($config_file);
25 if ($config{'perllib'}) {
26 push(@INC, split(/:/, $config{'perllib'}));
27 $ENV{'PERLLIB'} .= ':'.$config{'perllib'};
28 }
因此,我在文件中添加了/etc/webmin/miniserv.conf
以下行:
perllib=/usr/share/webmin
并webmin
开始工作。
PS 如果您在迁移到 Stretch 后由于 Webmin 出现问题而到达这里,另请参阅Webmin 停止打开