Как полностью удалить Confluent CLI?

Я использовал следующие команды для установки Confluent CLI в мою систему Ubuntu, выполнив шаги, упомянутые здесь .

Я последовательно выполнял следующие команды:

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 в терминале, появляются доступные опции, и я могу их выполнить. Так как я могу полностью удалить его из моей системы?

1
задан 1 July 2019 в 11:25

1 ответ

TL; DR: Выполнение sudo apt --purge autoremove должно работать для завершения удаления.

Используйте действие autoremove, чтобы удалить оставшиеся зависимости.

Вы удалили пакет confluent-platform-oss-2.11, но это метапакет , который сам по себе не предоставляет никакого программного обеспечения . 1 Установка его вызвал установку нескольких других пакетов, которые сами предоставляют программное обеспечение. Удаление confluent-platform-oss-2.11 приводит к тому, что эти другие пакеты имеют право на автоматическое удаление, но фактически не удаляют их. Чтобы удалить их сейчас, достаточно выполнить:

sudo apt autoremove

Или, если вы также хотите удалить общесистемные файлы конфигурации, связанные с программным обеспечением, вы можете запустить эту команду вместо :

sudo apt --purge autoremove

В любом случае apt покажет вам, какие пакеты будут удалены, и спросит, хотите ли вы, чтобы это было сделано.

Вы по-прежнему можете запустить команду confluent, поскольку эта команда предоставляется пакетом confluent-cli, 2 , установка которого confluent-platform-oss-2.11 вызвала установку. confluent-cli, соответственно, является одним из пакетов, который autoremove удалит.


Если вам нужно (или вы хотите) продолжить расследование ...

Этот раздел предназначен для того, чтобы узнать больше, или для довольно редкой ситуации, когда действие 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 удалит их, а также удалит все, что от них зависит! 3


Примечания

1 Я догадывался, что это так; Затем я подтвердил это, проверив вывод dpkg-query -L confluent-platform-oss-2.11 в системе, в которой был установлен confluent-platform-oss-2.11.

2 Выполнение type confluent, чтобы выяснить, где находится confluent, затем dpkg -S /usr/bin/confluent, чтобы выяснить, какой пакет его предоставляет,

3 Реальная история разрешения зависимостей в целом более сложная, чем я рассказывал, потому что существует более чем одна сила зависимости [+1135]. Иногда можно установить пакет A, в результате чего пакет B будет установлен автоматически, а затем удалить пакет B без необходимости удаления пакета . Однако, в вашем случае, пакеты, которые остаются установленными, были установлены, потому что метапакет имеет строгое отношение «зависит» от них, и вряд ли что-то еще объявило какую-либо зависимость от них.

1
ответ дан 1 July 2019 в 11:25

Другие вопросы по тегам:

Похожие вопросы: