apache2を完全に削除する


109

実行中のプロセスの1つでそれを見ることができるapt-get remove apache2ため、単純なものでは完全に削除さapache2れないようtopです。apache2ubuntuサーバーで完全に削除するにはどうすればよいですか?

実際には削除されません:

~# 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ます。すべての設定ファイルが削除されます。
マヌラワイディアナータ

私はこれを踏襲しapt-get autoremove、その後とsudo rm -rf /etc/apache2
マシューHegarty

回答:


153

apache2他のパッケージを選択するだけのメタパッケージです。そのパッケージをインストールしてapacheをインストールした場合、これを実行するだけで、自動的に選択されたパッケージをクリーンアップできます。

sudo apt autoremove

それでもうまくいかない場合は、いずれかの依存コンポーネントを手動でインストールしている可能性があります。apache2-スペースからすべてのパッケージをターゲットにして、ロットを破棄できます。

sudo apt remove apache2.*

将来の参照用に、バイナリがどのパッケージからのものであるかを調べるために、これを実行できます:

dpkg -S `which apache2`

apache2.2-bin(執筆時点で)戻ってくると期待しています。


6
また、構成ファイルも削除する場合は--purgeを使用します
。apt

1
最後のコマンド出力apache2-mpm-prefork: /usr/sbin/apache2
ユルゲンポール

1
@セブルスは十分に公平です-私はただ推測していましたが、それは理にかなっています。ワイルドカードだけを使用しますが、削除するものに注目します。apache2-commonは、apache2 httpdではないツールで使用されるため、後で再インストールする必要がある場合があります。
オリ

@Oli正規表現「apache2 *」で物を削除するのは危険であり、物事の負荷は最終的に削除されることになります
jhbsk

1
@jasdeepkhalsa「危険」ではありません。apt-get(とは異なりapt-cache)は検索を名前のみに制限しているため、それほど広範囲ではありません。キャプチャするものはすべてApacheまたはApache依存です。自分で確認してくださいapt-get -s remove apache2*
オリ

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他のクリーンアップが必要な場合に備えて実行します

次の2つのテストを実行して、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
ヘルマンインジャルドソン

私にとって完璧な作品
Nechtan

44

私のために働いた非常にシンプルで簡単な方法は次のとおりです:

  1. apache2を停止します。

    sudo service apache2 stop
    
  2. Apache2とその依存パッケージをアンインストールします。

    sudo apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
    
  3. autoremoveオプションを使用して、他の依存関係を取り除きます。

    sudo apt-get autoremove
    
  4. 削除されていない構成ファイルがあるかどうかを確認します。

    whereis apache2
    
  5. 次のように応答があった場合はapache2: /etc/apache2、ディレクトリと既存の構成ファイルを削除します。

    sudo rm -rf /etc/apache2  
    

ソース:UbuntuまたはDebianでApache 2をアンインストールおよび削除する方法 by 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-binUbuntu 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を再インストールできるように、いつでも再インストールできます。Webサーバーがダウンし、100のクライアントが更新を要求するように呼び出している場合、これが最終的に行われます。php configフォルダーのバックアップがあることを願っています。
SamTzu

質問がApacheの削除を要求する場合、その答えは通知なしに副作用としてPHPを削除するべきではありません。PHPはほとんどの場合Apacheと一緒に使用されますが、システム内の他の場所でも使用される場合があります。一方で、Apacheで使用される他のインタープリター、たとえば旅客(Ruby on rail)が存在する場合があります。これらを削除してみませんか?
メレビウス

@Malebius-もちろん、Apacheなしで関連するすべてを完全に削除できない場合は、そうすべきです。特に、最初にPHPを削除せずに動作中のApacheを再インストールできない場合。私はこの混乱を作成しませんでしたが、私は通常、それを回避する方法をナビゲートできます。-サム
SamTzu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.