Supprimer définitivement apache2

109

Il semble qu'un simple apt-get remove apache2ne supprime pas complètement apache2car je peux toujours le voir sur l'un des processus en cours d'exécution top. Comment peut-on supprimer apache2complètement sur son serveur Ubuntu?

Ce n'est pas enlevé en effet:

~# which apache2
/usr/sbin/apache2
~# whereis apache2
apache2: /usr/sbin/apache2 /etc/apache2 /usr/lib/apache2 /usr/share/apache2 /usr/share/man/man8/apache2.8.gz

Mais quand je apt-get remove apache2refais:

# apt-get remove apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package apache2 is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Jürgen Paul
la source
3
courir apt-get purge apache2. Cela supprimera tous les fichiers de configuration.
Manula Waidyanatha
J'ai suivi ceci avec apt-get autoremoveet ensuitesudo rm -rf /etc/apache2
Matthew Hegarty le

Réponses:

153

apache2est un métapaquet qui sélectionne simplement d'autres packages. Si vous avez installé apache en installant ce paquet, il vous suffit de l'exécuter pour nettoyer les paquets sélectionnés automatiquement:

sudo apt autoremove

Si cela ne fonctionne pas, vous avez peut-être installé manuellement l'une des personnes à charge. Vous pouvez cibler tous les apache2-paquets depuis l’espace et tout installer:

sudo apt remove apache2.*

Pour référence future, pour savoir de quel paquet provient un binaire, vous pouvez lancer ceci:

dpkg -S `which apache2`

Je m'attendrais à ce que cela revienne avec apache2.2-bin(au moment de la rédaction).

Oli
la source
6
Utilisez également --purge si vous souhaitez que les fichiers de configuration soient également supprimés: apt-get --purge remove apache2
xyious
1
Les dernières sorties de commandeapache2-mpm-prefork: /usr/sbin/apache2
Jürgen Paul
1
@ Severus assez juste - je devinais juste mais c'est logique. Oui, je me contenterais du joker, mais jetterais un coup d'œil à ce qu'il va supprimer. apache2-common est utilisé par certains outils qui ne sont pas Apache2 httpd. Vous devrez donc peut-être réinstaller une opération après.
Oli
@Oli Supprimer des objets avec une expression rationnelle 'apache2 *' est dangereux, des tas d'objets finissent par être enlevés
jhbsk
1
@jasdeepkhalsa Ce n'est pas "dangereux". apt-get(contrairement à apt-cache) limite ses recherches à des noms uniquement pour que ce ne soit pas si loin. Tout ce qu'il capture dépend d'Apache ou d'Apache. Vérifiez-le vous-mêmeapt-get -s remove apache2*
Oli
67

Suivez ces étapes pour supprimer le apache2service en utilisant Terminal:

  1. Commencez par arrêter le service apache2 s'il est exécuté avec: sudo service apache2 stop
  2. Maintenant, supprimez et nettoyez tous les paquets apache2 avec:

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    //or 
    sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
    
  3. Enfin, exécutez sudo apt-get autoremoveau cas où tout autre nettoyage serait nécessaire

Vous pouvez effectuer les deux tests suivants pour confirmer qu’apache a été supprimé:

  1. which apache2 - devrait retourner une ligne blanche
  2. sudo service apache2 start - devrait revenir apache2: unrecognized service
jhbsk
la source
4
apo2 apache2 apache2-utils apache2.2-common
Hermann Ingjaldsson
fonctionne parfaitement pour moi
Nechtan
44

Une façon très simple et directe qui a fonctionné pour moi est la suivante:

  1. Arrêtez apache2.

    sudo service apache2 stop
    
  2. Désinstallez Apache2 et ses packages dépendants.

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. Utilisez l'option de suppression automatique pour vous débarrasser des autres dépendances.

    sudo apt-get autoremove
    
  4. Vérifiez si certains fichiers de configuration n'ont pas été supprimés.

    whereis apache2
    
  5. Si vous obtenez une réponse comme suit, apache2: /etc/apache2supprimez le répertoire et les fichiers de configuration existants.

    sudo rm -rf /etc/apache2  
    

Source: Comment désinstaller et supprimer Apache2 sur Ubuntu ou Debian par Dan Nanni

Chris S
la source
1
Pour moi, c'était: apo2 apache2 apache2-utils apache2.2-common
hermann Ingjaldsson
2

Commencez par vérifier si vous utilisez le bon nom de paquet, le bon nom de paquet IMO est: apache2.x-common

Si vous voulez supprimer complètement le paquet, y compris les fichiers de configuration, essayez:

    dpkg --purge apache2.2-common
Vente Amol
la source
1

Prenez le temps de vérifier si vous utilisez le paquet différent apache2.2-binpour Ubuntu 16.04.apache2.4-bin

sudo apt-get purge apache2 apache2-utils apache2.4-bin apache2.4-common

Emma
la source
-1

Aucun des conseils sur ces sites n'a fonctionné pour moi. J'ai été obligé de faire ça ...

apt-get remove --purge php* libapache2* apache2*
SamTzu
la source
@ Melebius - Correct. Mais vous pouvez toujours le réinstaller tout comme vous pouvez réinstaller Apache. Lorsque votre serveur Web est en panne et que 100 clients vous appellent pour demander une mise à jour, c'est ce que vous finissez par faire. J'espère que vous avez une sauvegarde de votre dossier de configuration php.
SamTzu
Si la question demande de supprimer Apache, une réponse ne doit pas non plus supprimer PHP en tant qu'effet secondaire, sans préavis. Bien que PHP soit principalement utilisé avec Apache, il pourrait également l'être ailleurs dans le système. D'autre part, d'autres interprètes peuvent être utilisés avec Apache, par exemple passager (Ruby on rails). Pourquoi ne les enlevez-vous pas?
Melebius
@Malebius - Évidemment, vous devriez le faire si vous ne pouvez pas supprimer complètement tout ce qui est lié à Apache sans ce dernier. Surtout si vous ne pouvez pas réinstaller Apache qui fonctionne sans supprimer d'abord PHP. Je n'ai pas créé ce gâchis mais je peux généralement naviguer à mon guise. - Sam
SamTzu