以下のコマンドを使用して、 ここに記載されている手順 に従ってUbuntuシステムにConfluent CLIをインストールしました。
次のコマンドを連続して実行しました。
wget -qO - https://packages.confluent.io/deb/3.3/archive.key | Sudo apt-key add -
Sudo add-apt-repository "deb [Arch=AMD64] https://packages.confluent.io/deb/3.3 stable main"
Sudo apt-get update && Sudo apt-get install confluent-platform-oss-2.11
削除するために、次のコマンドを実行しました。
Sudo apt-get remove confluent-platform-oss-2.11
また、私は実行しました:
Sudo add-apt-repository --remove "deb [Arch=AMD64] https://packages.confluent.io/deb/3.3 stable main"
しかし、彼らは助けにはならなかった。それでも、ターミナルでconfluent
と入力すると、使用可能なオプションが表示され、それらを実行できます。では、システムから完全に削除するにはどうすればよいですか?
TL; DR:Sudo apt --purge autoremove
を実行すると、アンインストールが完了します。
autoremove
アクションを使用して、残りの依存関係をアンインストールします。confluent-platform-oss-2.11
パッケージをアンインストールしましたが、これは メタパッケージ であり、これは それ自体はソフトウェアを提供していません です。1 それをインストールすると、ソフトウェアを提供する他のいくつかのパッケージがインストールされます。 confluent-platform-oss-2.11
を削除すると、他のパッケージが自動削除の対象となる eligible になりますが、実際には削除されません。ここでそれらを削除するには、次を実行するだけで十分です。
Sudo apt autoremove
または、 also ソフトウェアに関連するシステム全体の構成ファイルを削除する場合は、次のコマンドを実行できます代わりに:
Sudo apt --purge autoremove
どちらの場合でも、apt
は削除されるパッケージを表示し、削除するかどうかを尋ねます。
confluent
コマンドはconfluent-cli
パッケージによって提供されるため、引き続き実行できます。2 どのconfluent-platform-oss-2.11
のインストールが原因でインストールされました。したがって、confluent-cli
は、autoremove
がアンインストールするパッケージの1つです。
このセクションは、詳細を知りたい場合、またはautoremove
アクションが不十分である非常にまれな状況向けです。
最初にconfluent-platform-oss-2.11
をインストールした場合、apt-get
の出力には次のようなものが含まれます。
The following additional packages will be installed:
confluent-camus confluent-cli confluent-common confluent-kafka-2.11 confluent-kafka-connect-elasticsearch
confluent-kafka-connect-hdfs confluent-kafka-connect-jdbc confluent-kafka-connect-s3
confluent-kafka-connect-storage-common confluent-kafka-rest confluent-rest-utils confluent-schema-registry
ただし、これらのパッケージを手動で削除しなければならないことはまれです。システムにインストールされているすべてのパッケージは、手動または自動でインストールされたものとしてマークされます。特にconfluent-platform-oss-2.11
のインストールを要求したため、手動でインストールされたとマークされました。他のパッケージに依存しているためにのみインストールされ、後で名前でインストールを試みないパッケージは、自動的にインストールされるものとしてマークされます。 autoremove
アクション(apt
またはapt-get
に渡される)は、現在インストールされているパッケージに依存しなくなった、自動的にインストールされたパッケージを削除します。
autoremove
で期待どおりのものがすべて削除されなかった場合は、手動でパッケージを削除してみてください。最初に、インストールされているパッケージが明確にわからない場合は、ログを調べて確認する必要があります。最も有用なログは通常、/var/log/apt/history.log
と/var/log/apt/term.log
です。 Sudo apt remove ...
またはSudo apt purge ...
(または、必要に応じてapt-get
を使用して対応するコマンド)を使用して、パッケージのアンインストールを試すことができます。その場合、続行するかどうかを尋ねられる場合があります。 パッケージのリストを注意深く見てください。autoremove
が機能しなかった場合、パッケージによっては他に何かがある可能性があります。それにもかかわらずremove
アクションはそれらを削除し、 also それらに依存するものをすべて削除します!3
1 これはそうだと思っていました。次に、dpkg-query -L confluent-platform-oss-2.11
がインストールされているシステムでconfluent-platform-oss-2.11
の出力を調べて確認しました。
2type confluent
を実行してconfluent
がどこにあるかを確認し、次にdpkg -S /usr/bin/confluent
を実行してどのパッケージがそれを提供しているかを確認すると、これがわかります。
3依存関係には複数の強さがある であるため、依存関係の解決の実際の話は、一般的に、これまでに許可してきたよりも複雑です。パッケージAをインストールして、パッケージBを自動的にインストールした後、パッケージBを削除することができますパッケージAを削除する必要はありません。ただし、あなたのケースでは、メタパッケージはそれらに厳密な「依存」関係を持っているため、インストールされたままのパッケージがインストールされました。