CentOS7下Webmin AWS备份失败:无法安装perl(S3::AWSAuthConnection)
问题分析
从报错信息看,核心问题分为两层:
- 首先缺失Time::Piece Perl模块,导致
Net::Amazon::Signature::V4编译失败,进而引发后续依赖链报错 - Webmin提示需要的
S3::AWSAuthConnection模块不在系统yum软件源中,无法通过包管理器直接安装
关键报错信息
Can't locate Time/Piece.pm in @INC (@INC contains: /vendor_perl /usr/libexec/webmin /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . .. .. /usr/libexec/webmin/virtual-server) at Net/Amazon/Signature/V4.pm line 8.
BEGIN failed--compilation aborted at Net/Amazon/Signature/V4.pm line 8.
Compilation failed in require at S3/AWSAuthConnection.pm line 28.
BEGIN failed--compilation aborted at S3/AWSAuthConnection.pm line 28.
Compilation failed in require at (eval 399) line 2.
BEGIN failed--compilation aborted at (eval 399) line 2.
yum安装失败输出
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.steadfastnet.com * centos-sclo-rh: mnvoip.mm.fcix.net * centos-sclo-sclo: mnvoip.mm.fcix.net * epel: epel.stl.us.ssimn.org * extras: nyc.mirrors.clouvider.net * remi-php74: mirror.usi.edu * remi-safe: mirror.usi.edu * rpmfusion-free-updates: muug.ca * updates: linux-mirrors.fnal.gov No package perl(S3::AWSAuthConnection) available. Error: Nothing to do
解决方案
1. 安装缺失的Time::Piece模块
Time::Piece是Perl核心模块,但CentOS需通过系统包管理器安装对应rpm包:
yum install -y perl-Time-Piece
2. 安装S3::AWSAuthConnection模块
该模块不在yum软件源中,需通过CPAN(Perl官方模块仓库)安装,提供两种方法:
方法一:使用原生CPAN命令
- 先安装CPAN工具包:
yum install -y perl-CPAN
- 初始化CPAN(首次使用需配置):
cpan
出现交互提示时输入yes确认自动配置。
3. 安装目标模块:
cpan S3::AWSAuthConnection
方法二:使用cpanm(更简洁快速)
- 安装cpanm工具:
yum install -y perl-App-cpanminus
- 直接安装模块:
cpanm S3::AWSAuthConnection
3. 验证安装并重启Webmin
- 验证模块是否安装成功:
perl -e 'use S3::AWSAuthConnection; print "Module installed successfully\n"'
无报错则说明模块安装正常。
2. 重启Webmin服务:
systemctl restart webmin
- 返回Webmin的S3备份配置页面,重新测试连接或执行备份任务。
内容的提问来源于stack exchange,提问作者vanarie

