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 :)
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?
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 :)
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
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
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
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
...
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
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
.
À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.
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
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
Você também pode tentar ativar todos os seus repositórios com este comando:
$ yum --enablerepo=\* search php-devel