Назад | Перейти на главную страницу

Проблема зависимости с CentOS

Учитывая следующий результат, предложения о том, что попробовать в первую очередь? Это в коробке CentOS 5.3 (обновленной с 5.2 с помощью yum), работающей как небольшой сервер разработки. В целом мне комфортно с * nix, но погоня за зависимостями временами меня немного озадачивает. Так что на этот раз я ищу помощи, прежде чем я обезумлюсь.

Результат сегодняшнего «yum update»:

Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package perl-Net-SSLeay.i386 0:1.35-1.el5.rf set to be updated
---> Package perl-IO-Socket-SSL.noarch 0:1.26-1.el5.rf set to be updated
---> Package perl-Net-DNS.i386 0:0.65-1.el5.rf set to be updated
---> Package perl-Package-Constants.noarch 0:0.02-1.el5.rf set to be updated
---> Package perl-IO-Compress.noarch 0:2.020-1.el5.rf set to be updated
--> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.020 for package: perl-IO-Compress
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.020 for package: perl-IO-Compress
--> Running transaction check
---> Package perl-Compress-Raw-Bzip2.i386 0:2.015-1.el5.rf set to be updated
---> Package perl-IO-Compress.noarch 0:2.020-1.el5.rf set to be updated
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.020 for package: perl-IO-Compress
--> Finished Dependency Resolution
perl-IO-Compress-2.020-1.el5.rf.noarch from rpmforge has depsolving problems
  --> Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge)
Error: Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge)

perl (Сжатие :: Raw :: Zlib) это имя пакета?!? Если это так, я получаю это при попытке обновления:

Package perl-Compress-Raw-Zlib-2.015-1.el5.rf.i386 already installed and latest version

Неверная версия, но говорит, что последняя ...

На всякий случай это полезно:

$ uname -a
Linux EFhermesDev 2.6.18-128.1.16.el5.centos.plus #1 SMP Wed Jul 1 13:06:47 EDT 2009 i686 i686 i386 GNU/Linux

Вы видите проблему зависимости rpmforge, не проблема зависимости CentOS.

Модули perl rpmforge в настоящее время массово перестраиваются. Видеть http://lists.rpmforge.net/pipermail/users/2009-July/002508.html ff.

Обратите внимание, что начиная с CentOS-5.3 и далее вы можете попробовать:

   yum update --skip-broken

... это, вероятно, будет работать даже лучше в 5.4.

Это потому, что репозиторий, который вы используете, не синхронизирован сам с собой.

Просмотрите этот сайт.

На момент публикации этого сообщения пакет perl-IO-Compress.noarch был обновлен до версии 2.020 и зависит от версии perl-Compress-Raw-Zlib 2.020.

Однако perl-Compress-Raw-Zlib все еще находится на уровне 2,015. Вы можете подождать, пока они наверстают упущенное, или пока можете игнорировать perl-IO-Compress.noarch в yum.

Попробуйте добавить:

exclude=perl-IO-Compress*

в /etc/yum.conf. (Не тестировал это, возможно, вам придется добавить другие исключения, попробуйте это из командной строки и посмотрите, что произойдет, прежде чем добавлять в yum.conf)

Вы должны использовать EPEL репо для подобных вещей, насколько это возможно. EPEL - это подпроект Fedora, отвечающий более высоким стандартам.

Попробуйте удалить все пакеты rpmforge (и репозиторий yum) и используйте только EPEL.

Вы можете получить версию 2.020 Вот (Прочти меня). Он был выпущен 3 июня 2009 года.

Задний план:

Зависимость требует более новой версии, чем ваш репозиторий считает последней версией:

Error: Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge)

У вас установлена ​​более старая версия, чем требует зависимость:

Package perl-Compress-Raw-Zlib-2.015-1.el5.rf.i386 already installed and latest version

Как говорится, нужно установить:

perl(Compress::Raw::Zlib) >= 2.020

чтобы разрешить эту зависимость.

Оператор exclude = perl-IO-Compress * не работает. Обновление yum решает эту проблему, но обнаруживает ее позже.

-> Завершенная ошибка разрешения зависимости: отсутствует зависимость: perl (IO :: Compress :: Base :: Common)> = 2.015 требуется для пакета perl-Compress-Zlib Ошибка: отсутствует зависимость: perl (IO :: Uncompress :: Gunzip )> = 2.015 требуется для пакета perl-Compress-Zlib Ошибка: отсутствует зависимость: perl (IO :: Compress :: Gzip)> = 2.015 требуется для пакета perl-Compress-Zlib Ошибка: отсутствует зависимость: perl (IO :: Compress :: Gzip :: Constants)> = 2.015 требуется для пакета perl-Compress-Zlib

Eek, не меняйте репо только из-за этой ошибки зависимости, они ее исправят. Просто будь немного терпеливым. Переход на репозиторий EPEL может вызвать другие проблемы, которые, возможно, придется исправлять по ходу дела, поскольку они имеют разные пакеты / сборки / зависимости, и если вы настроены на RPMForge, вам может потребоваться изменить некоторые пакеты, чтобы они соответствовали EPEL. Итак, вы просто меняете одну проблему на другую.

[решено] Я пытаюсь (какой же я был дураком вчера ;-))

об / мин -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

ням обновление

поскольку у них есть версия Perl 2.020 (Compress :: Raw :: Zlib)

Алекс

p.s. Заф был прав - это был неправильный путь (но в конце концов я добился цели, не потеряв ни одной электронной почты, ни времени простоя для моих веб-серверов).

Как я заставил его работать. Я индивидуально yum устанавливал все пакеты по одному. Единственное, что не удалось, - это perl-IO-Compress. я пошел в http://packages.sw.be по ссылке выше и загрузил perl-IO-Compress-2.020-2 / el5.rf.noarch.rpm (я использую RHEL 5.3) в отдельный каталог. Затем я запустил yum install * .rpm из этого каталога. Установлено без проблем !!! Кроме того, мое приложение все еще работает.

Я использую Centos 5.5. perl-IO-Compress теперь входит в состав rpmforge-extras. Сначала обновите пакет rpmforge-release:

yum update rpmforge-release

Объедините новую информацию из /etc/yum.repos.d/rpmforge.repo.rpmnew в /etc/yum.repos.d/rpmforge.repo. Теперь обновите, используя:

yum --enablerepo = обновление rpmforge-extras