Je dois nettoyer mon serveur des paquets PHP 5.3 (il y en a beaucoup) pour pouvoir compiler PHP 5.2. Quelle est la méthode la plus facile / la plus sûre pour se débarrasser de tous?
package-management
php
corev
la source
la source
php*
le traitera comme une regex, et tous les paquetsph
en son nom seront supprimés.Je ne recommande pas de courir
sudo apt-get purge php*
.C'était effrayant! Heureusement, je n'ai pas tapé l'
-y
option, car elle a choisi une centaine de paquets sansphp
leur nom.Comment ça fonctionne:
Tout d' abord , une liste de paquets est générée à l' aide de cette série de commandes:
dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
.Astuce: Vous pouvez exécuter cette partie de la commande dans votre terminal pour voir quels paquets seraient supprimés. Vous devriez obtenir quelque chose comme:
libapache2-mod-php5 php5 php5-cli php5-common php5-json
Enfin , lorsque vous exécutez la commande complète, cette liste de packages est transmise à sudo apt-get purge, ce qui supprime tous les packages.
Astuce: Si cela vous semble plus sûr, vous pouvez tout aussi facilement les exécuter séparément et copier / coller la liste des paquets à supprimer de la manière suivante:
sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json
la source
aptitude
n'est pas installé ou ne peut pas être installé sur Ubuntu, qu'en est-il de laapt-get cache
recherche?Vous voudrez probablement purger tous les paquets php * de votre système. Quelque chose avec un joker devrait fonctionner
Vous pouvez être intéressé par Comment rollback à PHP 5.2 pour savoir où aller.
la source
php*
le traitera comme une regex, et tous les paquetsph
en son nom seront supprimés.Tout d'abord, vous devez supprimer Apache et toutes ses dépendances avec:
puis:
Si vous avez des problèmes avec phpMyAdmin, essayez d'entrer ceci dans le terminal:
la source
Dans votre cas, vous pouvez rechercher tous les packages:
puis les purger:
la source
aptitude
n'est pas installé sur mon système (16.04)sudo apt-get install aptitude
En plus des purges mentionnées dans les autres réponses, si vous voulez être absolument sûr que tout est supprimé, vous voudrez probablement exécuter
Qui va vous montrer des fichiers / dossiers avec le nom php en eux. Vous allez ensuite vouloir vérifier chacun de ces chemins de fichiers, à savoir:
Et supprimez-les comme il convient. Veillez à ne pas supprimer tout élément essentiel à un autre processus que vous devez continuer à exécuter, sauf si vous souhaitez également le réinstaller.
Pour supprimer un répertoire ou un fichier, nous utilisons le
rm
commentaire avec l'-rf
indicateur. Ainsi, à l'aide de l' exemple ci-dessus, nous tapons:la source
La regex que les deux personnes ont dite est incorrecte.
Au lieu d'utiliser
php.*
ouphp*
On devrait utiliser^php*
Thats la bonne réponse.
Donc, vous utiliseriez:
sudo apt-get purge "^php*"
Bien que je ne recommande pas d'utiliser cette méthode car elle est hautement automatisée, je vous encourage à utiliser cette commande
sudo apt list --installed | grep php
pour obtenir la liste des paquets et utiliser les noms de paquets que vous avez obtenus à partir de la commande ci-dessus:sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO
la source
^php*
etphp*
php.*
couvrira également les cas oùphp
apparaît au début du nom du paquet. Il n'y a aucune raison d'utiliser les deux^php*
etphp.*
aussi, cela devrait être^php.*
; apt-get semble savoir quephp*
c'est un glob, pas une regex, mais lorsque vous ajoutez le^
caractère, il ne peut pas s'agir d'un glob, vous obtiendrez ainsi tous les paquets commençant par "ph".