Я искал в сети такую информацию и нашел разные командные строки, например:
sudo apt-get remove application
sudo apt-get remove application*
sudo apt-get remove --purge application
sudo apt-get remove --purge application*
sudo apt-get purge application
sudo apt-get purge application*
Итак, каков правильный путь? Нужно ли использовать это "*"?
После этого я также нашел эти команды:
sudo updatedb
sudo locate application
sudo rm -rf (file/folder name)
command-line
package-management
user48949
источник
источник
application*
может иногда давать неожиданные результаты - например, если у вас есть файл в текущем каталоге с именемapplication_information
, оболочка расширит его, прежде чем он будет передан в apt-get. Если это происходит, и вы хотите буквальную звездочку, вы можете использоватьapplication\*
или'application*'
application*
Еще более опасно, когда в текущем каталоге нет файлов:apt-get
используются регулярные выражения, без шаблонов глобуса. Люди почти стерли всю систему, пытаясь удалитьwine*
.application*
ни другое неapplication\*
безопасно! Цитирование*
с\
или'
'
только увеличивает риск, обеспечение*
передается как этоapt-get
(хотя обычно это все равно!), Заставляетapt-get
интерпретировать аргумент как регулярное выражение. В регулярном выражении*
означает «ноль или более предшествующего символа». Распространенная форма ошибки является удалениеwine*
, удаление всех пакетов сwin
(неwine
,win
) где - нибудь в их именах и все пакетах в зависимости от какого - либо из них. Смотрите это объяснение и возможные исправления . @IzkataОтветы:
apt-get remove packagename
удалит двоичные файлы, но не файлы конфигурации или данных пакета
packagename
. Это также не повлияет на установленные с ним зависимости от времени установки.apt-get purge packagename
или жеapt-get remove --purge packagename
удалит все, что касается пакета
packagename
, но не зависимости, установленные с ним при установке. Обе команды эквивалентны.Особенно полезно, когда вы хотите «начать все сначала» с приложением, потому что вы испортили конфигурацию. Однако он не удаляет файлы конфигурации или данных, находящиеся в домашних каталогах пользователей, обычно в скрытых папках. Нет простого способа удалить их.
apt-get autoremove
удаляет потерянные пакеты, т. е. установленные пакеты, которые раньше устанавливались как зависимости, но больше не используются. Используйте это после удаления пакета, в котором установлены зависимости, которые вас больше не интересуют.
aptitude remove packagename
илиaptitude purge packagename
(аналогично)также попытается удалить другие пакеты, которые были необходимы для
packagename
on, но не требуются для остальных пакетов. Обратите внимание, чтоaptitude
запоминает информацию о зависимостях только для установленных пакетов.И многие другие существуют.
dpkg
Можно использовать команды более низкого уровня (расширенные) или инструменты GUI, такие как Muon, Synaptic, Software Center и т. Д. Не существует единого «правильного» способа удаления приложений или выполнения других задач, взаимодействующих с управлением пакетами.Список, который вы нашли, это просто примеры. Убедитесь, что вы понимаете значения и попробуйте, что он хочет сделать, прежде чем принимать действие (вам нужно нажать,
Y
прежде чем он действительно выполнит действия, как предложено).Звездочка в вопросе, вероятно, неверна ;
apt-get
принимает регулярное выражение, а не шаблон глобуса в качестве оболочки. Так что же происходит сявляется следующим:
Оболочка пытается развернуться,
application*
просматривая файлы в текущем каталоге. Если (как это обычно имеет место) он ничего не находит, он возвращает шаблон глобуса без изменений (при условии, чтоbash
здесь используется поведение по умолчанию ---zsh
произойдет ошибка).apt-get
удалят пакеты, имя которых содержит строку , которая удовлетворяет регулярное выражениеapplication*
, то есть, сapplicatio
последующими произвольным числомn
:applicatio
,application
,applicationn
,libapplicatio
и т.д.Чтобы увидеть, как это может быть опасно, попробуйте (без root для двойной безопасности)
apt-get -s remove "wine*"
(-s
смоделируйте вещь вместо того, чтобы делать это) - он скажет, что удалит все пакеты, которые имеют "win" в своем имени и зависимых, почти вся система ...Возможно, команда, которая имела в виду, действительно
(обратите внимание на кавычки и точку), которая удалит все пакеты, имя которых начинается с
application
.Эти команды,
полностью выходят за рамки управления пакетами. Не удаляйте файлы, принадлежащие пакетам, без использования менеджера пакетов! Это запутается и это неправильный способ делать вещи.
Если вы не знаете, к какому пакету принадлежит файл, попробуйте это:
источник
apt-get-autoremove --purge
также важно отметить, что файлы конфигурации в вашем домашнем каталоге не затрагиваются параметром --purge. Эти вам придется удалить вручную.apt remove -s texlive*
или егоapt-get
ответные строки возврата, такие какNote, selecting 'texlive-font-utils' for glob 'texlive*'
(подразумевая, что они действительно принимают globs), за которыми следуют обычныеPackage 'texlive-common' is not installed, so not removed
и, наконец,Remv
строки, такие какRemv texlive-font-utils [2015.20160320-1] [...]
.apt-get remove packa*
это действительно занимает глобусpacka*
вместо того, чтобы смотреть на него как на регулярное выражение: оно соответствует,package
но не соответствуетpack
.Для Ubuntu 12.04 и, возможно, выше, правильный метод:
Как подробно здесь .
Не используйте, так
packagename*
как это может удалить непреднамеренные пакеты и вызвать больше проблем, чем решает. Или , если вы должны, по крайней мере , запустить его с-s
,--simulate
,--dry-run
флаг первым , чтобы увидеть именно то , что он будет делать , не делать этого.источник
Вы можете использовать эту команду:
Он удалит необходимые пакеты вместе с зависимостями, установленными с этими пакетами.
--auto-remove
Вариант (будучи псевдонимautoremove
) работает аналогичноsudo apt-get autoremove
. Используя эту команду, мы можем запустить одну команду:Вместо:
источник
sudo apt-get --purge autoremove packagename
. Та же самая команда здесьapt-get autoremove --purge
вместоapt-get purge --auto-remove
?Вы можете безопасно использовать
sudo apt-get remove --purge application
илиsudo apt-get remove applications
99% времени. Когда вы используетеpurge
флаг, он просто удаляет также все файлы конфигурации. Который может или не может быть тем, что вы хотите, в зависимости от того, хотите ли вы переустановить указанное приложение.application*
Будет соответствовать все приложения , которые начинаются сapplication
, которые, как правило плагины, дополнительные функции и т.д. основного приложения вы удаляете. т.е.устранило бы
gedit
,gedit-plugins
иgedit-common
. Как правило, в этом нет необходимости, поскольку большинство плагинов / связанных программ зависят от основного приложения и будут автоматически удалены (или помечены для удаления) при удалении основного приложения.Ваша последняя команда - просто удалить остатки из приложений, которые, как известно, имеют грязные деинсталляторы, и просто удаляет все остатки приложения.
источник
Я получил несколько сообщений об ошибке при удалении пакета. Единственный способ, который я нашел, это сработало:
Я обнаружил, что, хотя с использованием только
не удаляет пакет, он показывает мне правильный путь к файлу для перемещения:
Замените пакет с вашим именем приложения. Используйте sudo в Ubuntu, станьте пользователем root в Debian.
источник
Я нашел эту команду в интернете.
http://www.debian-administration.org/article/Reinstall_packages_to_fix_problems .
источник
Это зависит от приложения, которое вы хотите удалить. Обязательно проверяйте его зависимости перед выполнением команды yes. Когда вы удаляете что-либо из командной строки, иногда будет отображаться несколько библиотек, которые больше не нужны. Их можно удалить с помощью apt-get autoremove.
Помните, что с помощью таких команд, как sudo apt-get remove --purge applicationname, можно удалить некоторые зависимости, которые нужны другим приложениям, и, как таковые, они могут сломать вашу систему.
Если вы хотите сделать это более безопасным способом, вы всегда можете удалить его, используя только центр программного обеспечения или apt-get removenamename. Если зависимости больше не нужны, выполните apt-get autoremove позже.
источник
Я просто хотел уточнить одну вещь, которая кажется здесь источником путаницы.
dpkg
Утилита не знает или отслеживать пакеты зависимостей по отношению друг к другу, который был большой причиной того, чтоapt
была разработана я считаю. Вы можете прочитать об этом в разделе 8.6 на этой странице FAQ по Debian GNU / Linux - Инструменты управления пакетами DebianС помощью apt: Если я хотел очистить пакет A, и у него есть зависимость, называемая пакетом B, а у пакета B не было других зависимых пакетов, то пакеты A и B будут удалены. Если пакет B DID имеет другие зависимые пакеты, то будет очищен только пакет A.
С dpkg: какая зависимость? Вы только что сказали мне, чтобы очистить чертов
пакет, вот что я и сделал! Плохое планирование с вашей стороны не
является чрезвычайной ситуацией с моей стороны.
С учетом сказанного, вот два однострочника, которые можно использовать для каждого метода очистки:
Удалите,
--dry-run
чтобы выполнить фактическую операцию очистки, вместо того, чтобы сообщать, какие действия она бы предприняла.источник