消去と削除がどのように異なるのか、今理解し始めましたが、理解していないものの1つは次のとおりです。
アンインストールはユーザープロファイルを見つける場所をどのように知ることができます。
パッケージを削除するときにパッケージがまったく存在しなかったように見えるように、そのパッケージをインストールして構成して、パッケージと残っている可能性があるすべての最後のディレクトリまたはファイルを実際に削除するにはどうすればよいですか。
この削除の問題を説明するのに役立つシナリオは次のとおりです。
- 必要な複数の依存関係をインストールするパッケージをインストールしました。
- パッケージをインストールし、必要な複数の依存関係をインストールしようとしますが、他のパッケージにはその依存関係が必要なため、既にその依存関係がインストールされているためインストールされません。
- パッケージを削除すると、他のプログラムで必要かどうかに関係なく、必要なすべての依存関係が削除されます。
- パッケージを削除しましたが、他のプログラムに必要ないくつかの依存関係が見つかりました。
私のロジックはすべてのシナリオをカバーしていると思います。本質的な無益さにもかかわらず、これらのシナリオを実装する方法があると確信しています。ロジックを作成するだけです。とにかく質問は削除ではなく削除に関するものなので、削除に固執します。しかし、関連性があるか、必要であると思われる場合は、削除に関する私の理解を修正してください。
クリーンアップの問題を示す実際の例は次のとおりです。
例1:
ユーザーのホームディレクトリにフォルダを作成して設定を保存するightvncserverまたはopenssh-serverをインストールしました。この2つのパッケージはpurgeに「ねえ、システムから私のパッケージを削除するときに~/.vncまたは~/.sshを見て、そのフォルダを削除して何も残さないようにすることができます」と言うことができます。
また、これらのパッケージは削除可能な/ varまたは他のディレクトリに他のエントリを残しますか? man-db、bashエイリアスなどはわかりません。本当に、わかりません。私がこの仕事に初めて触れると言ってください。
例2:
ランプスタック。
Apacheをインストールすると、あちこちに物が散在するようです。 apache2は/ etcに独自のフォルダがなく、サイト自体に/ varのスペースを使用しませんか? apache2を削除すると、/etcと/varをチェックし、すべてのゴミを削除する方法がわかりますか?これらのディレクトリを削除する場所を知っている場合はどうすればわかりますか?パッケージファイル自体にカーネルに知らせるか、少なくとも「ねえ、私を消去したら、次の場所を見て、これらのアイテムをすべて削除してください。私以外は誰も使用しないからです。私たちが完全に忘れなければならないシステム部分(systemctl?bash?その他?)を見つけることができることを教えてください。
以下では、パッケージの削除の兆候が見えるようです。
- /など
- /var
- systemctlのサービス状態を照会するとき
- バッシュエイリアス
- パッケージのインストール時にリストされていないものはどこに保存されますか?
明らかに私は存在するか利用可能な情報を要求しています。しかし、私は本当にこれらの問題を簡潔に扱いたいと思いました。私はこれが多くの人がパッケージのインストールと削除がどのように機能するかを理解するのに役立つと思います。たぶん実際に接続されていないことについて尋ねるかもしれませんが、私には接続されているようです。したがって、これらのもの間の接続または接続の欠如を特定または修正することも、明らかに問題を明確にするのに役立ちます。
答え1
そこには(明示的でも暗黙的でも)多くの問題があり、主な問題に対処します。
前述のように、dpkg
「削除」と「削除」(少なくともベースのシステムでは)の違いは、パッケージを削除すると構成が維持され、削除すると構成が削除されることです。これには重要な側面があります。パッケージを消去すると、システム構成のみが削除され、ホームディレクトリに保存されているユーザー構成には触れません。疑いがあるように、パッケージマネージャが知っている設定のみを削除します。
どうすればいいですか?働く?パッケージには構成ファイルがリストされており、すべてです。apache2
パッケージがインストールされている場合は、その設定ファイルを表示できます/var/lib/dpkg/info/apache2.conffiles
。このファイルはパッケージの削除によって削除されませんが、パッケージが削除されると削除されます。残りのパッケージの内容はにリストされています/var/lib/dpkg/info/apache2.list
。これはパッケージの削除によって削除される内容です。 (ファイルにディレクトリが含まれていることがわかり、.list
ディレクトリが空の場合にのみ削除されます。)
その他の項目はすべて削除できるシステム管理者に「属します」。これには、最終的に作成された追加の設定ファイルが含まれます。例えば以下の新しいファイル/etc/apache2/sites-available
と以下のすべてのエントリに仮想ホストがあります/var/www/html
。