การลบ apache2 อย่างถาวร


109

มันดูเหมือนง่ายapt-get remove apache2ไม่สมบูรณ์เอาเท่าที่ฉันยังสามารถดูได้ที่หนึ่งของกระบวนการเมื่อทำงานapache2 topหนึ่งจะลบapache2อย่างสมบูรณ์บนเซิร์ฟเวอร์อูบุนตูของเขาได้อย่างไร

มันไม่ได้ถูกลบออกแน่นอน:

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

แต่เมื่อฉันทำapt-get remove apache2อีกครั้ง:

# 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
apt-get purge apache2วิ่ง มันจะลบไฟล์ปรับแต่งทั้งหมด
Manula Waidyanatha

ฉันติดตามสิ่งนี้ด้วยapt-get autoremoveแล้วsudo rm -rf /etc/apache2
Matthew Hegarty

คำตอบ:


153

apache2เป็น metapackage ที่เพิ่งเลือกแพ็คเกจอื่น หากคุณติดตั้ง apache ด้วยการติดตั้งแพคเกจคุณเพียงแค่เรียกใช้สิ่งนี้เพื่อทำความสะอาดแพ็คเกจที่เลือกโดยอัตโนมัติ:

sudo apt autoremove

หากยังไม่ได้ผลคุณอาจติดตั้งผู้ที่อยู่ในความอุปการะคนหนึ่งด้วยตนเอง คุณสามารถกำหนดเป้าหมายไปยังapache2-แพ็คเกจทั้งหมดจากอวกาศและจับสลากได้ดังนี้:

sudo apt remove apache2.*

สำหรับการอ้างอิงในอนาคตเพื่อหาแพ็คเกจไบนารีที่มาจากคุณสามารถรันสิ่งนี้:

dpkg -S `which apache2`

ฉันคาดหวังว่าจะกลับมาพร้อมกับapache2.2-bin(ในเวลาที่เขียน)


6
นอกจากนี้ให้ใช้ --purge หากคุณต้องการลบไฟล์การกำหนดค่าเช่นกัน: apt-get --purge ลบ apache2
xyious

1
คำสั่งสุดท้ายส่งออกapache2-mpm-prefork: /usr/sbin/apache2
Jürgen Paul

1
@Severus ยุติธรรมเพียงพอ - ฉันแค่คาดเดา แต่ก็สมเหตุสมผลแล้ว ใช่ฉันแค่ใช้สัญลักษณ์แทน แต่อยากดูว่ามันจะลบอะไร apache2-common นั้นถูกใช้โดยเครื่องมือบางอย่างที่ไม่ใช่ apache2 httpd ดังนั้นคุณอาจต้องติดตั้งใหม่อีกครั้ง
Oli

@Oli การลบสิ่งต่าง ๆ ด้วย regex 'apache2 *' เป็นสิ่งที่อันตรายการโหลดสิ่งต่าง ๆ จบลงด้วยการลบออก
jhbsk

1
@jasdeepkhalsa มันไม่ใช่ "อันตราย" apt-get(ไม่เหมือนapt-cache) จำกัด การค้นหาเฉพาะชื่อเท่านั้นดังนั้นจึงไม่ใช่การเข้าถึงที่กว้างขวาง ทุกสิ่งที่รวบรวมได้นั้นขึ้นอยู่กับ Apache หรือ Apache ตรวจสอบด้วยตัวเองด้วยapt-get -s remove apache2*
Oli

67

ทำตามขั้นตอนเหล่านี้เพื่อลบapache2บริการโดยใช้Terminal:

  1. ก่อนอื่นให้หยุดบริการ apache2 หากใช้งานด้วย: sudo service apache2 stop
  2. ตอนนี้ลบและล้างแพ็คเกจ apache2 ทั้งหมดด้วย:

    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. สุดท้ายเรียกใช้sudo apt-get autoremoveในกรณีที่จำเป็นต้องล้างข้อมูลอื่น ๆ

คุณสามารถทำการทดสอบสองแบบต่อไปนี้เพื่อยืนยันการลบ apache:

  1. which apache2 - ควรส่งคืนบรรทัดว่าง
  2. sudo service apache2 start - ควรกลับมา apache2: unrecognized service

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

ใช้งานได้สมบูรณ์แบบสำหรับฉัน
Nechtan

44

วิธีที่ง่ายและตรงไปตรงมาที่เหมาะกับฉันมีดังนี้:

  1. หยุด apache2

    sudo service apache2 stop
    
  2. ถอนการติดตั้ง Apache2 และแพ็คเกจที่ขึ้นต่อกัน

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. ใช้ตัวเลือกการลบอัตโนมัติเพื่อกำจัดการพึ่งพาอื่น ๆ

    sudo apt-get autoremove
    
  4. ตรวจสอบว่ามีไฟล์การกำหนดค่าใด ๆ ที่ยังไม่ถูกลบ

    whereis apache2
    
  5. หากคุณได้รับคำตอบดังต่อไปนี้ให้apache2: /etc/apache2ลบไดเรกทอรีและไฟล์การกำหนดค่าที่มีอยู่

    sudo rm -rf /etc/apache2  
    

ที่มา: วิธีถอนการติดตั้งและลบ Apache2 บน Ubuntu หรือ Debianโดย Dan Nanni


1
สำหรับฉันมันคือ: sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
Hermann Ingjaldsson

2

ตรวจสอบก่อนว่าคุณใช้ชื่อแพ็คเกจถูกต้องหรือไม่ชื่อแพ็คเกจที่ถูกต้องของ IMO คือ: apache2.x-common

หากคุณต้องการลบแพ็กเกจรวมถึงไฟล์กำหนดค่าอย่างสมบูรณ์ให้ลอง:

    dpkg --purge apache2.2-common

1

ใช้เวลาในการตรวจสอบว่าคุณใช้แพ็คเกจอื่นapache2.2-binสำหรับ Ubuntu 16.04 หรือไม่และเป็นรุ่นล่าสุดapache2.4-bin

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


-1

ไม่มีคำแนะนำในเว็บไซต์เหล่านี้ที่เหมาะกับฉัน ฉันถูกบังคับให้ทำเช่นนี้ ...

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

@Melebius - ถูกต้อง แต่คุณสามารถติดตั้งใหม่ได้ตลอดเวลาเหมือนกับที่คุณสามารถติดตั้ง Apache อีกครั้ง เมื่อเว็บเซิร์ฟเวอร์ของคุณหยุดทำงานและลูกค้า 100 คนกำลังโทรหาคุณเพื่อขอให้อัปเดตนี่คือสิ่งที่คุณทำ หวังว่าคุณจะมีการสำรองข้อมูลของโฟลเดอร์การตั้งค่า php ของคุณ
SamTzu

หากคำถามถามให้ลบ Apache คำตอบไม่ควรลบ PHP เป็นผลข้างเคียงนอกจากนี้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า แม้ว่า PHP ส่วนใหญ่จะใช้ร่วมกับ Apache แต่ก็อาจจะใช้ที่อื่นในระบบ ในทางกลับกันอาจมีล่ามอื่น ๆ ที่ใช้กับ Apache เช่นผู้โดยสาร (Ruby บนราง) ทำไมคุณไม่ลบสิ่งเหล่านี้
Melebius

@Malebius - แน่นอนว่าถ้าคุณไม่สามารถลบ Apache ทุกอย่างที่เกี่ยวข้องโดยไม่ได้ โดยเฉพาะถ้าคุณไม่สามารถติดตั้ง Apache ให้ทำงานได้โดยไม่ต้องลบ PHP ออกก่อน ฉันไม่ได้สร้างความยุ่งเหยิงนี้ แต่โดยปกติฉันสามารถนำทางไปรอบ ๆ มันได้ - Sam
SamTzu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.