Como forçar o CentOS yum a usar uma versão posterior de uma dependência de pacotes já instalada (php-common como uma dependência do php-xml)

2

Parece que a versão que tenho de php-common-5.2.10-1.el5.centos é mais recente do que a que está sendo solicitada como uma dependência de php-xml quando tento instalar php-xml usando yum install php-xml . O pacote dependente solicitado é php-common = 5.1.6-34.el5_8 , conforme mostrado por rpm -qa |grep php .

Então, como eu forçaria o php-xml a usar a versão posterior que eu já tenho?

(Esta parece ser a causa raiz do problema na questão SF relacionada: php-xml install reclama de dependência php-common mas isso já está instalado (CentOS) )

Atualizar

saída de:

  • yum repolist
  • rpm -qi php-common

(conforme solicitado por @ewwhite) é o seguinte:

[root@dtsrvishvt2 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
repo id                          repo name                                status
base                             CentOS-5 - Base                          2,725
c5-testing                       CentOS-5 Testing                          0+71
extras                           CentOS-5 - Extras                          280
updates                          CentOS-5 - Updates                         379
repolist: 3,384
[root@dtsrvishvt2 ~]#





[root@dtsrvishvt2 ~]# rpm -qi php-common
Name        : php-common                   Relocations: (not relocatable)
Version     : 5.2.10                            Vendor: CentOS
Release     : 1.el5.centos                  Build Date: Fri 13 Nov 2009 04:36:29 PM GMT
Install Date: Tue 13 Jul 2010 11:33:44 AM GMT      Build Host: builder10.centos.org
Group       : Development/Languages         Source RPM: php-5.2.10-1.el5.centos.src.rpm
Size        : 668395                           License: PHP
Signature   : DSA/SHA1, Fri 22 Jan 2010 03:22:25 PM GMT, Key ID 5c37c0b17203f491
URL         : http://www.php.net/
Summary     : Common files for PHP
Description :
The php-common package contains files used by both the php
package and the php-cli package.
[root@dtsrvishvt2 ~]#
    
por therobyouknow 23.05.2012 / 15:31

3 respostas

3

Você poderia fornecer a saída dos seguintes comandos?

  • yum repolist
  • rpm -qi php-common

A versão atual do php-common para o seu sistema CentOS 5 é php-common-5.1.6-34.el5_8 . Seu problema de dependência decorre da presença de uma versão mais nova do php-common (5.2.10-1.el5.centos) do que a que está disponível no repositório padrão do CentOS. O comando yum repolist nos ajudará a entender de onde você está tirando seus pacotes. O rpm -qi php-common nos mostrará de onde o pacote atualmente instalado veio.

Meu palpite é que o sistema foi movido para o PHP 5.2 usando outro repo, ou talvez por uma instalação manual de pacotes. Isso foi documentado on-line com o uso do repositório do CentOS Testing . Se o seu pacote php-common foi uma instalação única, então você deve ser capaz de pegar os pacotes php relevantes ... mas isso depende da sua saída de repolista ...

    
por 23.05.2012 / 15:56
2

Você não pode, yum não vai deixar você. Os autores do php-xml querem especificamente uma versão do php-common que combine com a deles.

Suas escolhas são:

  1. Encontre uma versão mais recente do php-xml rpm
  2. Reduzir o php-common para a versão 5.2.10-1.el5.centos
  3. Use rpm -i --nodeps para executar uma instalação insegura que pode não funcionar corretamente (já que você não está instalando nenhuma dependência).
  4. Reconstrua o php-xml rpm, alterando a versão do php-commons de que depende

Eu recomendo strongmente um dos dois primeiros, pois eles são mais fáceis e têm a melhor chance de funcionar corretamente.

    
por 23.05.2012 / 18:22
1

Você não pode usar o php-commons versão 5.2 * como ele foi removido devido a um problema de segurança. A única opção que resta é atualizar para o PHP 5.3. Demorei cerca de 4 horas a encontrar esta informação online, por isso espero que isso ajude alguém.

    
por 20.11.2012 / 12:42