Rimozione permanente di apache2


109

Sembra che un semplice apt-get remove apache2non rimuova completamente apache2come posso ancora vederlo su uno dei processi durante l'esecuzione top. Come si rimuove apache2completamente sul suo server Ubuntu?

Non è stato effettivamente rimosso:

~# 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

Ma quando lo faccio di apt-get remove apache2nuovo:

# 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.

3
corri apt-get purge apache2. Rimuoverà tutti i file di configurazione.
Manula Waidyanatha,

Ho seguito questo con apt-get autoremovee poisudo rm -rf /etc/apache2
Matthew Hegarty il

Risposte:


153

apache2è un metapacchetto che seleziona solo altri pacchetti. Se hai installato apache installando quel pacchetto, devi solo eseguirlo per ripulire i pacchetti selezionati automaticamente:

sudo apt autoremove

Se il problema persiste, è possibile che tu abbia installato manualmente una delle persone a carico. Puoi scegliere come target tutti i apache2-pacchetti dallo spazio e nuke il lotto:

sudo apt remove apache2.*

Per riferimento futuro, per scoprire da quale pacchetto proviene un binario, è possibile eseguire questo:

dpkg -S `which apache2`

Mi aspettavo che tornasse con apache2.2-bin(al momento della scrittura).


6
inoltre, utilizzare --purge se si desidera eliminare anche i file di configurazione: apt-get --purge remove apache2
xyious

1
L'ultimo comando generaapache2-mpm-prefork: /usr/sbin/apache2
Jürgen Paul,

1
@Severus abbastanza giusto - Stavo solo indovinando, ma ha senso. Sì, userei solo il carattere jolly, ma vorrei sapere cosa cancellerà. apache2-common è utilizzato da alcuni strumenti che non sono apache2 httpd, quindi potrebbe essere necessario reinstallare qualche cosa dopo.
Oli

@Oli Rimuovere le cose con un regex 'apache2 *' è pericoloso,
molte

1
@jasdeepkhalsa Non è "pericoloso". apt-get(a differenza apt-cache) limita le sue ricerche ai soli nomi, quindi non è così vasto. Tutto ciò che cattura dipende da Apache o Apache. Controllalo tu stesso conapt-get -s remove apache2*
Oli

67

Seguire questi passaggi per rimuovere il apache2servizio utilizzando Terminal:

  1. Innanzitutto, interrompere il servizio apache2 se è in esecuzione con: sudo service apache2 stop
  2. Ora rimuovi e pulisci tutti i pacchetti apache2 con:

    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. Infine, esegui sudo apt-get autoremovenel caso in cui fosse necessaria qualsiasi altra pulizia

È possibile eseguire i seguenti due test per confermare che apache è stato rimosso:

  1. which apache2 - dovrebbe restituire una riga vuota
  2. sudo service apache2 start - dovrebbe tornare apache2: unrecognized service

4
sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
Hermann Ingjaldsson

funziona perfettamente per me
Nechtan

44

Un modo molto semplice e diretto che ha funzionato per me è il seguente:

  1. Ferma apache2.

    sudo service apache2 stop
    
  2. Disinstallare Apache2 e i suoi pacchetti dipendenti.

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. Utilizzare l'opzione autoremove per sbarazzarsi di altre dipendenze.

    sudo apt-get autoremove
    
  4. Controlla se ci sono file di configurazione che non sono stati rimossi.

    whereis apache2
    
  5. Se si ottiene una risposta come segue, apache2: /etc/apache2rimuovere la directory e i file di configurazione esistenti.

    sudo rm -rf /etc/apache2  
    

Fonte: Come disinstallare e rimuovere Apache2 su Ubuntu o Debian di Dan Nanni


1
Per me è stato: sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
Hermann Ingjaldsson

2

Prima controlla se stai usando il nome del pacchetto giusto, il nome del pacchetto corretto IMO è: apache2.x-common

Se si desidera rimuovere completamente il pacchetto inclusi i file di configurazione, provare:

    dpkg --purge apache2.2-common

1

Prenditi del tempo per verificare se stai usando il pacchetto diverso apache2.2-binper Ubuntu 16.04 è l'ultimoapache2.4-bin

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


-1

Nessuno dei consigli su questi siti ha funzionato per me. Sono stato costretto a farlo ...

apt-get remove --purge php* libapache2* apache2*

@Melebius - Corretto. Ma puoi sempre reinstallarlo come puoi reinstallare Apache. Quando il tuo server web è inattivo e 100 client ti stanno chiamando per richiedere un aggiornamento, questo è ciò che finisci per fare. Spero che tu abbia un backup della tua cartella di configurazione php.
SamTzu,

Se la domanda richiede la rimozione di Apache, una risposta non dovrebbe rimuovere PHP come effetto collaterale, inoltre, senza alcun preavviso. Sebbene PHP sia usato principalmente insieme ad Apache, potrebbe essere usato anche altrove nel sistema. D'altra parte, potrebbero esserci altri interpreti usati con Apache, ad esempio passeggero (Ruby su binari). Perché non li rimuovi?
Melebio

@Malebius - Ovviamente, se non riesci a rimuovere completamente tutto ciò che riguarda Apache senza di esso. Soprattutto se non riesci a reinstallare Apache funzionante senza prima rimuovere PHP. Non ho creato questo casino, ma di solito posso orientarmi. - Sam
SamTzu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.