Apache2'yi kalıcı olarak kaldırma


109

Çalıştırırken işlemlerden birinde hala görebildiğim için apt-get remove apache2tamamen kaldırılmıyor apache2gibi görünüyor top. Biri apache2onun ubuntu sunucusunda tamamen nasıl kaldırılır ?

Gerçekten kaldırılmadı:

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

Ama apt-get remove apache2tekrar yaptığımda :

# 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
koş apt-get purge apache2. Tüm config dosyalarını kaldıracak.
Manula Waidyanatha

Bunu apt-get autoremoveve ardından takip ettimsudo rm -rf /etc/apache2
Matthew Hegarty

Yanıtlar:


153

apache2sadece diğer paketleri seçen bir meta pakettir. Bu paketi yükleyerek apache yüklediyseniz, otomatik olarak seçilen paketleri temizlemek için bunu çalıştırmanız yeterlidir:

sudo apt autoremove

Bu işe yaramazsa, bağımlılardan birini el ile kurmuş olabilirsiniz. Tüm apache2-paketleri uzaydan hedefleyebilir ve lotu nuke edebilirsiniz:

sudo apt remove apache2.*

Gelecekte başvurmak için, bir ikili paketin hangi paketten geldiğini bulmak için şunu çalıştırabilirsiniz:

dpkg -S `which apache2`

Bunun apache2.2-bin( geri döndüğü sırada) ile geri gelmesini bekliyorum .


6
ayrıca, yapılandırma dosyalarının da silinmesini istiyorsanız --purge öğesini kullanın: apt-get --purge apache2
xyious

1
Son komut çıktılarıapache2-mpm-prefork: /usr/sbin/apache2
Jürgen Paul

1
@Severus yeterince adil - Sadece tahmin ediyordum ama bu mantıklı. Evet sadece joker karakter kullanırdım ama ne sileceğine bir göz at. apache2-common, apache2 httpd olmayan bazı araçlar tarafından kullanılır, bu nedenle bir şeyi yeniden yüklemeniz gerekebilir.
Oli

@Oli Düzenli olarak 'apache2 *' olan şeyleri kaldırmak tehlikelidir, bir çok şey kaldırılır
jhbsk

1
@ jasdeepkhalsa "Tehlikeli" değil. apt-get(aksine apt-cache), aramalarını yalnızca adlarla sınırlandırır; Yakaladığı her şey Apache veya Apache'ye bağlıdır. İle kendiniz kontrol edinapt-get -s remove apache2*
Oli

67

apache2Hizmeti kullanarak kaldırmak için şu adımları izleyin Terminal:

  1. İlk olarak apache2 servisini çalışıyorsa: sudo service apache2 stop
  2. Şimdi tüm apache2 paketlerini kaldırın ve temizleyin:

    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. Sonunda, sudo apt-get autoremoveihtiyaç duyulan herhangi başka bir temizliğin olması durumunda çalıştırın

Apache'nin kaldırıldığını onaylamak için aşağıdaki iki testi yapabilirsiniz:

  1. which apache2 - boş bir satır döndürmeli
  2. sudo service apache2 start - geri dönmeli apache2: unrecognized service

4
sudo apt-get tasfiye apache2 apache2-utils apache2-bin apache2.2-ortak
Hermann Ingjaldsson

benim için mükemmel çalışıyor
Nechtan

44

Benim için işe yarayan çok basit ve anlaşılır bir yol şöyle:

  1. Apache2'yi durdur.

    sudo service apache2 stop
    
  2. Apache2 ve bağımlı paketlerini kaldırın.

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. Diğer bağımlılıklardan kurtulmak için otomatik kaldır seçeneğini kullanın.

    sudo apt-get autoremove
    
  4. Kaldırılmayan herhangi bir yapılandırma dosyası olup olmadığını kontrol edin.

    whereis apache2
    
  5. Aşağıdaki gibi bir yanıt alırsanız apache2: /etc/apache2, dizini ve mevcut yapılandırma dosyalarını kaldırın.

    sudo rm -rf /etc/apache2  
    

Kaynak: Nasıl Apunt2 Ubuntu veya Debian tarafından Dan Nanni tarafından kaldırılıp kaldırılır


1
Benim için oldu: sudo apt-get tasfiye apache2 apache2-utils apache2-bin apache2.2-ortak
Hermann Ingjaldsson

2

İlk önce doğru paket adı kullanıp kullanmadığınızı kontrol edin, IMO doğru paket adı: apache2.x-common

Config dosyalarını içeren paketi tamamen kaldırmak istiyorsanız aşağıdakileri deneyin:

    dpkg --purge apache2.2-common

1

apache2.2-binUbuntu 16.04 için farklı bir paket kullanıp kullanmadığınızı kontrol etmek için zaman ayırınapache2.4-bin

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


-1

Bu sitelerdeki tavsiyelerin hiçbiri benim için çalıştı. Bunu yapmak zorunda kaldım ...

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

@Melebius - Doğru. Ancak Apache'yi yeniden yükleyebileceğiniz gibi her zaman yeniden yükleyebilirsiniz. Web sunucunuz kapalı olduğunda ve 100 müşteri sizi bir güncelleme talep etmek için aradığında sonuçta yaptığınız şey budur. Umarım php config klasörünüzün yedeğini almış olursunuz.
SamTzu

Eğer soru Apache'yi kaldırmayı isterse, bir cevap PHP'yi bir yan etki olarak silmemeli, ayrıca herhangi bir bildirimde bulunmadan. PHP çoğunlukla Apache ile birlikte kullanılsa da, sistemin başka bir yerinde de kullanılabilir. Öte yandan, Apache ile birlikte kullanılan diğer tercümanlar olabilir, örneğin yolcu (Ruby on rails). Bunları neden çıkarmıyorsun?
Melebius

@Malebius - Tabi ki Apache ile ilgili her şeyi tamamen kaldıramazsanız yapmalısınız. Özellikle PHP'yi kaldırmadan Apache'nin çalışmasını tekrar kuramazsanız. Bu karışıklığı ben yaratmadım, ancak genellikle kendi yolumda dolaşabiliyorum. - Sam
SamTzu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.