Não é possível instalar pacotes PHP no CentOS

3

No CentOS 6.3 ( Editar : atualizado para 6.4) não consigo instalar nenhum pacote PHP (MySQL e muitos outros).

Por exemplo, a saída de yum install php-devel é:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.vit.com.tr
 * extras: mirrors.prometeus.net
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirrors.prometeus.net
Setting up Install Process
No package php-devel available.
Error: Nothing to do

saída de ls /etc/yum.repos.d :

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo  mirrors-rpmforge  rpmforge.repo

grep -E "name|enabled" /etc/yum.repos.d/* :

/etc/yum.repos.d/CentOS-Base.repo:name=CentOS-$releasever - Base
/etc/yum.repos.d/CentOS-Base.repo:name=CentOS-$releasever - Updates
/etc/yum.repos.d/CentOS-Base.repo:name=CentOS-$releasever - Extras
/etc/yum.repos.d/CentOS-Base.repo:name=CentOS-$releasever - Plus
/etc/yum.repos.d/CentOS-Base.repo:enabled=0
/etc/yum.repos.d/CentOS-Base.repo:name=CentOS-$releasever - Contrib
/etc/yum.repos.d/CentOS-Base.repo:enabled=0
/etc/yum.repos.d/CentOS-Debuginfo.repo:name=CentOS-6 - Debuginfo
/etc/yum.repos.d/CentOS-Debuginfo.repo:enabled=0
/etc/yum.repos.d/CentOS-Media.repo:name=CentOS-$releasever - Media
/etc/yum.repos.d/CentOS-Media.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.0 - Base
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.0 - Updates
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.0 - Extras
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.0 - Contrib
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.0 - CentOSPlus
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.1 - Base
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.1 - Updates
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.1 - Extras
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.1 - Contrib
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.1 - CentOSPlus
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.2 - Base
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.2 - Updates
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.2 - Extras
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.2 - Contrib
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/CentOS-Vault.repo:name=CentOS-6.2 - CentOSPlus
/etc/yum.repos.d/CentOS-Vault.repo:enabled=0
/etc/yum.repos.d/rpmforge.repo:name = Red Hat Enterprise $releasever - RPMforge.net - dag
/etc/yum.repos.d/rpmforge.repo:enabled = 1

yum repolist :

repo id                                           repo name                                                                          status
base                                              CentOS-6 - Base                                                                      6,296+85
extras                                            CentOS-6 - Extras                                                                          13
rpmforge                                          Red Hat Enterprise 6 - RPMforge.net - dag                                          11,131+144
updates                                           CentOS-6 - Updates                                                                     890+34

yum list available 'php-*' :

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.vit.com.tr
 * extras: mirrors.prometeus.net
 * rpmforge: www.mirrorservice.org
 * updates: mirrors.prometeus.net
Error: No matching Packages to list

Isso acontece para todos os pacotes PHP. Quando digito php- e pressiono a tecla tab, não há conclusão automática. Alguma sugestão?

    
por hpn 10.07.2013 / 13:04

3 respostas

19

Alguns softwares como o cpanel desativam o php em /etc/yum.conf

exclude= php*  mysql*

Se o seu arquivo /etc/yum.conf contiver a linha acima simples, remova o php * dessa linha Depois disso você pode instalar o php :)

    
por 24.07.2013 / 07:53
6

Da pergunta e da saída, parece que você só tem o repositório RPMForge habilitado e nada mais.

/etc/yum.repos.d/rpmforge.repo:name = Red Hat Enterprise $releasever - RPMforge.net - dag
/etc/yum.repos.d/rpmforge.repo:enabled = 1

Então corra:

# yum repolist disabled
repo id                                                            repo name
fedora/19/x86_64                                                   Fedora 19 - x86_64
fedora-debuginfo/19/x86_64                                         Fedora 19 - x86_64 - Debug
fedora-source/19/x86_64                                            Fedora 19 - Source
updates-debuginfo/19/x86_64                                        Fedora 19 - x86_64 - Updates - Debug
updates-testing/19/x86_64                                          Fedora 19 - x86_64 - Test Updates
updates-testing-debuginfo/19/x86_64                                Fedora 19 - x86_64 - Test Updates Debug
updates-testing-source/19/x86_64                                   Fedora 19 - Test Updates Source                 

Agora, para ativar o repositório desejado: yum-config-manager --enable fedora-source

No seu caso, deve ser base

    
por 11.07.2013 / 11:43
3

conclusão do bash

Eu não acredito que yum irá executar o preenchimento automático quando você pressionar a tecla tab por padrão. Eu encontrei este U & Q Q & A intitulado: Pacote conclusão do bash ausente do Yum no CentOS 6 , e parece que você precisa instalar o pacote bash-completion .

$ sudo yum install bash-completion

repolista

Eu faria uso de alguns dos outros recursos do yum para determinar o que está acontecendo. Para começar, você pode ver o que o repositório yum conhece:

$ yum repolist
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
repo id                    repo name                                      status
Dropbox                    Dropbox Repository                                  4
adobe-linux-i386           Adobe Systems Incorporated                         17
adobe-linux-x86_64         Adobe Systems Incorporated                          2
fedora                     Fedora 14 - x86_64                             22,161
google-chrome              google-chrome                                       3
google-earth               google-earth                                        1
google-talkplugin          google-talkplugin                                   1
lamolabs                   LamoLabs Repo                                      58
lamolabs-noarch            LamoLabs Repo                                       2
nautilus-flickr-uploader   Nautilus Flickr Uploader for Fedora 14              3
rpmfusion-free             RPM Fusion for Fedora 14 - Free                   411
rpmfusion-free-updates     RPM Fusion for Fedora 14 - Free - Updates         642
rpmfusion-nonfree          RPM Fusion for Fedora 14 - Nonfree                181
rpmfusion-nonfree-updates  RPM Fusion for Fedora 14 - Nonfree - Updates      282
scootersoftware            Scooter Software                                    1
updates                    Fedora 14 - x86_64 - Updates                    9,982
wuala                      cdn.wuala.com                                       8

lista disponível

Você também pode usar este comando para ver o que está disponível nos repositórios aos quais você tem acesso:

$ yum list available 'php-*'
php-mapi.x86_64                                     7.0.3-1.fc14         updates
php-mapserver.x86_64                                5.6.7-1.fc14         updates
php-markdown.noarch                                 1.0.1n-1.fc14        fedora·
php-mbstring.x86_64                                 5.3.8-3.fc14         updates
php-mcrypt.x86_64                                   5.3.8-3.fc14         updates
php-mssql.x86_64                                    5.3.8-3.fc14         updates
php-mysql.x86_64                                    5.3.8-3.fc14         updates
php-nusoap.noarch                                   0.9.5-1.fc14         fedora·
php-oauth.noarch                                    1.0-0.7.svn592.fc12  fedora·
php-odbc.x86_64                                     5.3.8-3.fc14         updates
...

pesquisa

Você também pode pesquisar os repositórios usando este comando:

$ yum search 'php-devel'
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
============================== Matched: php-devel ==============================
php-devel.x86_64 : Files needed for building PHP extensions
php-devel.i686 : Files needed for building PHP extensions
ice-php-devel.i686 : Tools for developing Ice applications in PHP
ice-php-devel.x86_64 : Tools for developing Ice applications in PHP

repoquery

Você pode usar essa ferramenta se tiver acesso a um repositório para descobrir qual repositório está fornecendo um determinado pacote:

$ repoquery php-devel
php-devel-0:5.3.3-22.el6.x86_64

$ repoquery -i php-devel

Name        : php-devel
Version     : 5.3.3
Release     : 22.el6
Architecture: x86_64
Size        : 3188116
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Group       : Development/Libraries
URL         : http://www.php.net/
Repository  : base
Summary     : Files needed for building PHP extensions
Source      : php-5.3.3-22.el6.src.rpm
Description :
The php-devel package contains the files needed for building PHP
extensions. If you need to compile your own PHP extensions, you will
need to install this package.

Do acima, podemos ver que o pacote php-devel está saindo do repositório base .

fastestmirror

Às vezes, esse plug-in pode estar causando seu problema. Você pode remover o cache de quais espelhos usar para que possa ser regenerado.

$ locate timedhosts.txt
/var/cache/yum/x86_64/6/timedhosts.txt

$ sudo rm /var/cache/yum/x86_64/6/timedhosts.txt

Em seguida, execute seu comando yum install php-devel novamente.

verboso

A maioria dos comandos mencionados acima pode usar a opção --verbose ou -v . Por exemplo, você pode executar o comando yum list available <pkg> para obter informações sobre o que o yum está realmente fazendo nos bastidores:

$ yum --verbose list available php-devel
Loading "fastestmirror" plugin
Loading "priorities" plugin
Loading "refresh-packagekit" plugin
Config time: 0.020
Yum Version: 3.2.29
Setting up Package Sacks
Loading mirror speeds from cached hostfile
 * base: mirror.thelinuxfix.com
 * epel: mirror.steadfast.net
 * extras: yum.singlehop.com
 * updates: ftpmirror.your.org
 --> python-netaddr-0.7.5-4.el6.noarch from base excluded (priority)
 --> python-tw-forms-0.9.9-1.el6.noarch from base excluded (priority)

 ...
 ...

 --> wxGTK-devel-2.8.12-1.el6.centos.x86_64 from extras excluded (priority)
73 packages excluded due to repository priority protections
pkgsack time: 6.174
rpmdb time: 0.000
Available Packages
php-devel.x86_64                        5.3.3-22.el6                        base

repos base desabilitados?

Ao analisar sua saída dos comandos que você executou, parece que seus repositórios de base estão desativados ( /etc/yum.repos.d/CentOS-Base.repo:enabled=0 ), eles precisam ser ativados.

Você pode editar esses arquivos e alterar as linhas de 0 para 1 ou executar estes comandos:

$ yum-config-manager --enable base
$ yum-config-manager --enable updates

ativar todos os repos

Você também pode tentar ativar todos os seus repositórios com este comando:

$ yum --enablerepo=\* search php-devel
    
por 10.07.2013 / 16:36

Tags