我有.iso
RHEL 6.2,里面有基本包。当我使用以下命令安装 rpm 时yum install
,yum localinstall
它无法安装,因为它无法找到依赖项,尽管可以在软件包文件夹中找到它。
[root@DEVSI Packages]# yum localinstall libstdc++-*
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
Setting up Local Package Process
Examining libstdc++-4.4.6-3.el6.i686.rpm: libstdc++-4.4.6-3.el6.i686
Marking libstdc++-4.4.6-3.el6.i686.rpm to be installed
Examining libstdc++-4.4.6-3.el6.x86_64.rpm: libstdc++-4.4.6-3.el6.x86_64
libstdc++-4.4.6-3.el6.x86_64.rpm: does not update installed package.
Examining libstdc++-devel-4.4.6-3.el6.i686.rpm: libstdc++-devel-4.4.6-3.el6.i68
Marking libstdc++-devel-4.4.6-3.el6.i686.rpm to be installed
Examining libstdc++-devel-4.4.6-3.el6.x86_64.rpm: libstdc++-devel-4.4.6-3.el6.x6_64
libstdc++-devel-4.4.6-3.el6.x86_64.rpm: does not update installed package.
Examining libstdc++-docs-4.4.6-3.el6.x86_64.rpm: libstdc++-docs-4.4.6-3.el6.x8664
Marking libstdc++-docs-4.4.6-3.el6.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package libstdc++.i686 0:4.4.6-3.el6 will be installed
--> Processing Dependency: ld-linux.so.2 for package: libstdc++-4.4.6-3.el6.i68
--> Processing Dependency: ld-linux.so.2(GLIBC_2.3) for package: libstdc++-4.4.-3.el6.i686
--> Processing Dependency: libc.so.6 for package: libstdc++-4.4.6-3.el6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.0) for package: libstdc++-4.4.6-3.l6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1) for package: libstdc++-4.4.6-3.l6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.1.3) for package: libstdc++-4.4.6-.el6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.2) for package: libstdc++-4.4.6-3.l6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3) for package: libstdc++-4.4.6-3.l6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.3.2) for package: libstdc++-4.4.6-.el6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.4) for package: libstdc++-4.4.6-3.l6.i686
--> Processing Dependency: libm.so.6 for package: libstdc++-4.4.6-3.el6.i686
--> Processing Dependency: libm.so.6(GLIBC_2.0) for package: libstdc++-4.4.6-3.l6.i686
---> Package libstdc++-devel.i686 0:4.4.6-3.el6 will be installed
---> Package libstdc++-docs.x86_64 0:4.4.6-3.el6 will be installed
--> Finished Dependency Resolution
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.0)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.1)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: ld-linux.so.2(GLIBC_2.3)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.3.2)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libm.so.6
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libm.so.6(GLIBC_2.0)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.4)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.3)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.2)
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: ld-linux.so.2
Error: Package: libstdc++-4.4.6-3.el6.i686 (/libstdc++-4.4.6-3.el6.i686)
Requires: libc.so.6(GLIBC_2.1.3)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
谢谢。
答案1
看起来您需要配置存储库,以便 Yum 知道在哪里可以找到软件包。其中涉及几个步骤,请耐心等待。
为 iso 创建一个新的挂载点并将其挂载到那里
注意:正如您在标题中所说的,这是在 CDROM 上,下面的 mount 命令中的路径将是 CDROM 及其上的 iso 的路径。
mkdir /isomount
mount -o loop /path/to/.iso /isomount
获取身份证
这对于下一步很重要。
head -n1 isomount/.discinfo
创建新的 .repo 文件
创建一个新文件,/etc/yum.repos.d/new.repo
并添加以下内容(mediaid 是您在上一步中检索到的 ID):
[repository]
mediaid=<media_id>
name=Disk Repository
baseurl=file:///isomount/path/to/repo
enabled=1
gpgcheck=0
您可能需要使用gpgcheck=1
with,gpgkey=
但事先尝试一下 without。
最后
更新 Yum 以使更改生效。
yum update
答案2
yum
需要一个存储库文件告诉它要使用哪些存储库以及它们在哪里。您的 ISO 有软件包,但这还不够。
yum
查找/etc/yum.repos.d
存储库文件。您可以制作一个,详细信息请参阅使用 YUM 安装程序从 DVD 安装。在其示例中
name=DVD for Fedora- $releasever - $basearch
baseurl=file:///media/Fedora%20$releasever%20$basearch%20DVD/
enabled=1
gpgcheck=0
重要的是您在行中给出的路径名baseurl
。等$releasever
并不是很重要。你还必须给出一个不同的来自其他现有存储库的存储库文件中的名称。您可能还需要在文件顶部添加一行,如下所示:
[MyDVD]
这也必须是独一无二的。
通过执行检查结果
yum clean all
yum repolist
这应该显示您的存储库(和包的数量),没有错误。
进一步阅读: