Невозможно удалить пакет с ошибкой "Невозможно найти пакет"
Я установил несколько инструментов Kali, используя скрипт Katoolin. Через некоторое время я попытался удалить эти инструменты, но смог удалить большинство из них, но некоторые приложения не удаляются с помощью sudo apt-get remove <package name>
команда.
Я получил: E: Unable to locate package <package name>
,
Также пытался использовать sudo apt autoremove <package name>
с тем же результатом.
Я предполагаю, что фактический пакет, установленный под другим именем, отличается от того, который я вижу в окне приложений. Как я могу удалить эти пакеты или найти их настоящее имя?
2 ответа
apt
может удалить только те пакеты, которые были установлены apt или приложениями, которые используют apt в качестве серверной части, такие как Ubuntu Software или Synaptic. Результатapt policy searchsploit snmp-check ssltrip thcping6
покажите, что ни один из этих 4 пакетов не входит в стандартные репозитории Ubuntu. Эти пакеты были установлены Katoolin, который представляет собой скрипт, который помогает устанавливать инструменты Kali Linux в Ubuntu и других дистрибутивах Linux. Katoolin добавляет свои собственные репозитории к программным источникам Ubuntu, поэтому вполне возможно, что эти 4 пакета были установлены apt в любом случае, но Katoolin также может устанавливать пакеты из GitHub и других источников, которые не всегда предоставляют файлы.deb, которые apt может установить в этом случае проверьте этот вопрос: если я собираю пакет из источника, как я могу удалить или удалить полностью?,Даже если пакет был установлен с помощью apt, его можно удалить, только выполнив команду, которая включает его точное имя пакета. Имена пакетов в Ubuntu чувствительны к регистру, и части имен пакетов не интерпретируются
apt
чтобы быть точными названиями пакетов. Однако, если вы знаете часть имени пакета, вы можете легко найти полное имя пакета, выполнив такую команду:apt search ^rhythymb
Эта команда возвращает пакеты, которые начинаются со строки
rhythmb
например ритмбокс.Не думайте, что какая-либо функция предоставляется пакетом, имя которого совпадает с именем этой функции. Несколько команд могут быть предоставлены одним и тем же пакетом, имя которого отличается от имени любой из программ и команд, которые он предоставляет.
Однако вы можете легко найти имя пакета по точному имени команды следующим образом. Вот пример использования
xdg-open
команда, которая открывает файл или URL в предпочтительном приложении пользователя.which xdg-open
Приведенная выше команда возвращает
/usr/bin/xdg-open
,dpkg -S /usr/bin/xdg-open
Приведенная выше команда возвращает
xdg-utils: /usr/bin/xdg-open
который показывает, чтоxdg-open
Команда предоставляется пакетом xdg-utils.
Ответ Карела верен, но есть и другой аспект: если пакет, который вы хотите удалить, неизвестен менеджеру пакетов, он не может быть установлен в то же время, что означает, что больше нет необходимости удалять его.