Impossible d'installer des packages PHP dans CentOS

Dans CentOS 6.3 ( Edit : mis à jour à 6.4), je ne peux pas installer de packages PHP (MySQL, et beaucoup d'autres).

Par exemple, la sortie de yum install php-devel est:

 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 

sortie 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 - Consortingb /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 - Consortingb /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 - Consortingb /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 - Consortingb /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 

Cela arrive pour tous les packages PHP. Lorsque je tape php- et appuyez sur la touche Tab il n'y a pas de complétion automatique. Aucune suggestion?

Certains logiciels comme cpanel désactivent le php dans /etc/yum.conf

 exclude= php* mysql* 

Si votre file /etc/yum.conf contient la ligne ci-dessus simple supprimez php * de cette ligne Après cela, vous pouvez installer php 🙂

De la question et de la sortie, il semble que vous avez seulement le repo RPMForge activé et rien de plus.

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

Alors courez:

 # 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 

Maintenant pour activer le repo souhaité: yum-config-manager --enable fedora-source

Dans votre cas, il devrait être base

bash completition

Je ne crois pas que yum effectuera la complétion automatique lorsque vous appuyez sur la touche de tabulation par défaut. J'ai trouvé ce Q & A d'U & L intitulé: Package bash-completion manquant de Yum dans CentOS 6 , et il semble que vous devez installer le package bash-completion .

 $ sudo yum install bash-completion 

repolist

Je voudrais utiliser certaines des autres fonctionnalités de yum pour déterminer ce qui se passe. Pour commencer, vous pouvez voir ce que le repos yum sait:

 $ 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 

list disponible

Vous pouvez également utiliser cette command pour voir ce qui est disponible dans les repos auxquels vous avez access:

 $ 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-mbssortingng.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 ... 

chercher

Vous pouvez aussi faire une search dans les repositorys en utilisant cette command:

 $ 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 

répulsion

Vous pouvez utiliser cet outil si vous avez access à une pension pour savoir quelle pension fournit un forfait donné:

 $ 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 comstack your own PHP extensions, you will need to install this package. 

De ce qui précède, nous pouvons voir que le package php-devel sort du référentiel de base .

le plus rapidemirror

Parfois, ce plugin peut causer votre problème. Vous pouvez supprimer son cache des miroirs à utiliser pour pouvoir le régénérer.

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

Ensuite, exécutez à nouveau votre command yum install php-devel.

verbeux

La plupart des commands mentionnées ci-dessus peuvent prendre le commutateur --verbose ou -v . Par exemple, vous pouvez exécuter la command yum list available <pkg> la yum list available <pkg> pour avoir un aperçu de ce que fait réellement yum en coulisse:

 $ 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 de base désactivé?

En regardant votre résultat à partir des commands que vous avez exécutées, il semble que vos bases repos soient désactivées ( /etc/yum.repos.d/CentOS-Base.repo:enabled=0 ), elles doivent être activées.

Vous pouvez soit modifier ces files et modifier les lignes de 0 à 1, soit exécuter les commands suivantes:

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

activer tous les repos

Vous pouvez également essayer d'activer tout votre repos avec cette command:

 $ yum --enablerepo=\* search php-devel