У меня есть .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
Спасибо.
Похоже, вам нужно настроить репозиторий, чтобы Yum знал, где найти пакеты. Здесь есть несколько шагов, так что потерпите меня.
Создайте новую точку монтирования для iso и смонтируйте его туда
Примечание: поскольку вы указали в заголовке, что диск находится на CDROM, путь в команде mount ниже будет путем к CDROM и iso на нем.
mkdir /isomount
mount -o loop /path/to/.iso /isomount
Получите ID
Это важно для следующего шага.
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
с gpgkey=
, но предварительно попробуйте без него.
Наконец
Обновите Yum, чтобы изменения вступили в силу.
yum update
yum
требуется файл репозитория для скажите ему, какие репозитории использовать и где они находятся. В вашем ISO есть пакеты, но этого недостаточно.
yum
ищет файлы репозитория в /etc/yum.repos.d
. Вы можете сделать это, как описано в Установка с DVD с помощью установщика YUM .В его примере
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
, который должен показать ваш репозиторий (и количество пакетов) без ошибок.
Дополнительная литература: