yum install perl失败的依赖项

Jee*_*eet 0 perl rpm yum

我收到了这个错误,在网上搜索但找不到任何东西.

请帮忙,新手

错误:失败的依赖项:rpm -ivh perl-5.8.8-43.el5_11.i386.rpm

[root@workstation ~]# rpm -ivh perl-5.8.8-43.el5_11.i386.rpm
error: Failed dependencies:

libc.so.6 is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.4) is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1 is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libdb-4.3.so is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2 is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libdl.so.2(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libgdbm.so.2 is needed by perl-5.8.8-43.el5_11.i386
libm.so.6 is needed by perl-5.8.8-43.el5_11.i386
libm.so.6(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libnsl.so.1 is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0 is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libpthread.so.0(GLIBC_2.3.2) is needed by perl-5.8.8-43.el5_11.i386
libresolv.so.2 is needed by perl-5.8.8-43.el5_11.i386
librt.so.1 is needed by perl-5.8.8-43.el5_11.i386
librt.so.1(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libutil.so.1 is needed by perl-5.8.8-43.el5_11.i386
Run Code Online (Sandbox Code Playgroud)

Dav*_*oss 5

你没有使用yum,你正在使用rpm.

运行rpm只会安装其命令行中列出的软件包(对于Debian用户来说,就像dpkg -i).如果你跑了yum,那么它也会安装所有必需的包(比如apt-get install).所以你可能想要:

yum localinstall perl-5.8.8-43.el5_11.i386.rpm
Run Code Online (Sandbox Code Playgroud)

但是,这里有一个巨大的警告.您使用的是哪个Linux发行版和哪个版本?您正在尝试安装为Red Hat Enterprise Linux 5构建的RPM.此处有两个选项:

  1. 您正在RHEL5上安装它.这似乎不太可能,因为它已经安装在那些系统上 - 如果由于某种原因,它不是,你可以安装它yum install perl而不是下载和安装特定的RPM.
  2. 您将其安装在基于Red Hat的Linux的其他版本上.这对我来说似乎是一个非常糟糕的主意.Perl RPM是Linux发行版的一个非常基础的部分,用不同版本的版本替换它可能是灾难性的.如果你很幸运,它将无法工作,因为各种底层库的正确版本将无法使用.如果您运气不好,它将会安装,您将完全破坏安装的大部分内容.

您说您需要此版本的Perl才能运行您想要使用的某些软件.但是你确定它需要专门针对这个版本的Perl吗?这将是不寻常的.通常,要求是Perl 的最低版本.如果你真的需要Perl 5.8.8,那么我会质疑使用依赖于旧版Perl的软件的智慧.

毕竟,如果仍然想继续这样做,那么请不要使用RPM来覆盖你的系统Perl.唯一合理的方法是构建一个单独的Perl安装(可能在/opt)并使用该版本.另一种方法是使用像perlbrew这样的东西,这样可以很容易地在同一系统上安装多个版本的Perl.