- Какой командой можно удалить пакет со всеми данными и зависимостями?
- 2 ответа 2
- Похожие
- Подписаться на ленту
- Как полностью удалить пакет с зависимостями в Linux, использующим пакетный менеджер apt.
- Как удалить пакет Ubuntu
- Как удалить пакет Ubuntu
- Как удалить пакет Ubuntu в терминале
- Выводы
- How can you completely remove a package?
- 10 Answers 10
Какой командой можно удалить пакет со всеми данными и зависимостями?
Совсем корректный ответ — никакой. Данные програм, которые возникли за время использования программы, не удаляются автоматически. Если упустить этот шаг, то вам надо смотреть в сторону удаления осиротевших листьев репозитория. Я честно говоря не помню про Debian, но наверняка что-то такое там есть.
2 ответа 2
aptitude purge && apt-get autoremove && aptitude purge ~c
Если прога создаст через touch /etc/someone-file , то удалять только руками. Потому что такое в менеджере пакетов не регистрируется.
Для этого в apt есть ключ —purge .
—purge
Use purge instead of remove for anything that would be removed. An asterisk («*») will be displayed next to packages which are scheduled to be purged. remove —purge is equivalent to the purge command. Configuration Item: APT::Get::Purge .
sudo apt autoremove --purge пакет
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.13.43531
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как полностью удалить пакет с зависимостями в Linux, использующим пакетный менеджер apt.
При установке программ, при помощи пакетного менеджера apt, у многих часто возникаем вопрос как их удалять. Для этого есть команды:
sudo apt-get autoremove имя_программы
Команда удаляет пакет вместе с зависимости, которые для него устанавливались, и больше ему не нужны.
sudo apt-get remove имя_программы
Команда удаляет пакет не затрагивая зависимости.
sudo apt-get purge имя_программы
Команда удаляет конфигурационные файлы пакета.
Казалось бы, на этом все, но не тут-то было, apt-get autoremove не всегда удаляет всё что было установлено вместе с пакетом.
Что бы наверняка удалить все что было установлено вместе с пакетом, можно посмотреть лог apt:
cat /var/log/apt/history.log | more
Пример вывода этой команды:
Start-Date: 2016-08-03 07:46:19 Commandline: apt-get install samba Install: python-tdb:amd64 (1.3.8-2, automatic), python-samba:amd64 (2:4.3.9+dfsg -0ubuntu0.16.04.2, automatic), python-dnspython:amd64 (1.12.0-1, automatic), sam ba:amd64 (2:4.3.9+dfsg-0ubuntu0.16.04.2), samba-dsdb-modules:amd64 (2:4.3.9+dfsg -0ubuntu0.16.04.2, automatic), libaio1:amd64 (0.3.110-2, automatic), tdb-tools:a md64 (1.3.8-2, automatic), attr:amd64 (1:2.4.47-2, automatic), samba-common:amd6 4 (2:4.3.9+dfsg-0ubuntu0.16.04.2, automatic), samba-vfs-modules:amd64 (2:4.3.9+d fsg-0ubuntu0.16.04.2, automatic), samba-common-bin:amd64 (2:4.3.9+dfsg-0ubuntu0. 16.04.2, automatic), python-ldb:amd64 (2:1.1.24-1ubuntu3, automatic) End-Date: 2016-08-03 07:47:23
Здесь видно что при установке samba, так же были установлены python-tdb, python-samba и т.д. Соответственно для полного удаления установленного пакета можно набрать команду:
sudo apt-get autoremove --purge python-tdb python-samba python-dnspython samba samba-dsdb-modules libaio1 tdb-tools attr samba-common samba-vfs-modules samba-common-bin python-ldb
Для того что бы не искать и не выбирать эти программы из лога вручную можно спарсить лог:
sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),\//g' | tr '\n' ' '
Внимание: эти команды парсят весь лог, т.е. если несколько раз устанавливалась/удалялась программа, на экран выведутся все программы которые были установлены при каждой установке, не только при последней.
Что бы отображались программы только при последней установке нужно в конце строки заменить «tr ‘\n’ ‘ ‘» на «tail -1», т.е. команда должна быть:
sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),\//g' | tail -1
На экран выведутся программы, которые были установлены при установке пакета.
Что бы их удалить можно ввести:
sudo sed -n '/Commandline: apt-get install имя_пакета/,/End-Date:.*/p' /var/log/apt/history.log | sed -n '/Install.*/p' | sed -e s'/Install: //g' | sed -e s'/:amd64 //g' | sed -e s'/(.[^)]*),\//g' | tr '\n' ' ' | sudo xargs apt-get autoremove --purge -y
Все что устанавливалось при установке вашего пакета, будет удалено.
Как удалить пакет Ubuntu
Установка и удаление программ одна из самых важных вещей для пользователя компьютера. Поскольку нам нужно как нибудь получать новые, нужные программы, а также удалять лишние. Но удаление пакетов в Ubuntu имеет некоторые тонкости. После удаления могут остаться зависимости, пакеты установленные, как рекомендованные, а также конфигурационные файлы.
В этой статье мы разберем как удалить deb пакет Ubuntu, при чем удалить чисто, так, чтобы после него не осталось следов в системе. Также поговорим о полном удалении PPA, поскольку много пакетов, которых нет в официальных репозиториях мы устанавливаем из PPA.
Как удалить пакет Ubuntu
Самый простой способ удалить пакет Ubuntu, это воспользоватся одной из графических утилит, поставляемых специально для этого, например Synaptic или Центр приложений Ubuntu. По сути это делается в пару кликов. Сначала рассмотрим порядок действий в Центре приложений Ubuntu.
Запустить центр приложений вы можете из панели значков Unity:
Список всех установленных пакетов находится на вкладке Установлено, здесь приложения рассортированы по категориям:
Чтобы удалить пакет Ubuntu, достаточно кликнуть по нему левой кнопкой мыши, и когда появляться доступные действия нажать кнопку Удалить:
Для завершения нужно будет подтвердить удаление и ввести пароль.
Пакет удален, но не совсем так, как нам хотелось бы. Но об этом позже.
Дальше рассмотрим пакетный менеджер Synaptic. Это как ни как стороннее программное обеспечение, но многие его используют из-за большого функционала и удобного интерфейса. Если программа еще не установлена, ее нужно установить с помощью центра приложений или выполнив в терминале:
sudo apt install synaptic
Запустить программу можно через терминал, выполнив команду:
Посмотреть установленные пакеты вы можете выбрав вкладку состояние, а затем выбрав Установленные:
Удалить deb ubuntu вы можете просто нажав правой кнопкой мыши и в контекстном меню на нужном пакете и выбрав отметить для удаления или отметить для полного удаления:
Программа покажет, какие еще пакеты будут удалены, это те пакеты, которые зависят от нашего пакета:
Теперь, чтобы завершить удаление, осталось нажать кнопку Применить:
Теперь программа покажет какие пакеты будут удалены. И пойдет процесс удаления:
Просто удаление и полное удаление отличается только тем, что при полном удалении удаляются конфигурационные файлы. Но проблема этих инструментов в том, что пакеты установленные как зависимости и рекомендованные к программе не удаляются и остаются в системе. Такое поведение наблюдается как в Synaptic, так и в Центре приложений Ubuntu. Поэтому мы переходим к описанию самого гибкого способа — удаление пакетов Ubuntu в терминале.
Как удалить пакет Ubuntu в терминале
В новых версиях Ubuntu для управления пакетами, а в том числе и удаления можно использовать новый менеджер пакетов — apt. Команда удаления выглядит таким образом:
sudo apt remove имя_пакета
Будет выполнено полное удаление пакета, включая конфигурационные файлы и зависимости, только рекомендованные программы останутся. Если вы хотите использовать apt-get чтобы удалить deb ubuntu, то порядок действий немного другой. Для обычного удаления пакета выполните:
sudo apt-get remove имя_пакета
Для удаления пакета вместе с его конфигурационными файлами, выполните:
sudo apt-get purge имя_пакета
А чтобы, также удалить зависимости, установленные вместе с пакетом, нужно после одной из предыдущих команд выполнить:
Будут удаленны не только явно указанные зависимости, но и программы установленные как рекомендованные.
Ну с основами разобрались, теперь перейдем к более сложным ситуациям. Что если вы устанавливали программу из deb файла и теперь не знаете точно, как называется ее пакет, чтобы удалить?
Это очень просто узнать, например по исполняемому файлу, допустим исполняемый файл программы TimeShift находится по адресу /usr/bin/timeshift, теперь узнаем ее пакет:
sudo dpkg -S /usr/bin/timeshift
Как видите, пакет так и называется — timeshift. Теперь можно удалить программу Ubuntu, одним из выше описанных способов.
Очень часто мы устанавливаем недостающее нам программное обеспечение из PPA, но не все эти пакеты нужны нам на протяжении долгого времени, а при обновлении системы, могут даже вызвать ошибки. Так как же удалить все пакеты установленные из PPA? Для этого есть специальная утилита: ppa-purge.
Если она еще не установлена, устанавливаем командой:
sudo apt install ppa-purge
Теперь, чтобы удалить все пакеты установленные из определенного ppa используйте:
sudo ppa-purge -i ppa:владелец_ppa/имя_ppa
Обратите внимание на ppa:владелец_ppa/имя_ppa — обычно в таком формате записываются все PPA: протокол:владелец/имя.
Узнать список репозиториев можно в программе источники приложений:
Такой командой можно одним махом удалить пакеты ubuntu, установленные из ppa:
find /etc/apt/sources.list.d -type f -name «*.list» -print0 | \
while read -d $’\0′ file; do awk -F/ ‘/deb / && /ppa\.launchpad\.net/ ‘ «$file»; done
Если вы устанавливали приложение из исходных кодов, то удалить его намного сложнее, потому что оно не контролируется менеджером пакетов, и соответственно система не знает какие файлы ему принадлежат.
Но все же способ есть, обычно, разработчики в файле сценариев makefile, кроме цели install реализуют цель uninstall, которая дозволяет выполнить обратное действие.
Поэтому если у вас осталась папка с исходным кодом той программы можно просто перейти в нее и выполнить make uninstall чтобы удалить приложение Ubuntu:
cd /папка/с/исходниками
$ sudo make uninstall
Выводы
В этой статье мы рассмотрели все, что поможет вам удалить приложение Ubuntu. При чем удалить полностью, а не только файлы программы. Если у вас остались вопросы, пишите в комментариях.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How can you completely remove a package?
I am trying to do a clean install of the octave3.2 package. To do this, I removed it, then tried to reinstall it. When I reinstalled, an error occurred. It could be a bug in the package, but I want to make sure I have everything removed so that I can do a clean install. Is it enough to do this?
sudo apt-get --purge remove octave3.2
10 Answers 10
This is a very general answer to the question about the effects of purging packages. For advice specific to your situation, you’ll have to edit your question to include additional information—in particular, the complete and exact text of the error message you are getting.
Removing packages with sudo apt purge . or sudo apt —purge remove . will remove them and all their global (i.e., systemwide) configuration files. This is usually what people mean when they talk about completely removing a package.
But that doesn’t mean your system is the same as it was before the package was installed. In particular:
- This does not remove packages that were installed as dependencies, when you installed the package you’re now removing. Assuming those packages aren’t dependencies of any other packages, and that you haven’t marked them as manually installed, you can remove the dependencies with sudo apt autoremove or (if you want to delete their systemwide configuration files too) sudo apt —purge autoremove .
- This does not remove non-systemwide configuration files. Specifically, it does not remove user-specific configuration:
- It does not remove the configuration files and directories located in users’ home directories (or in the .config subdirectory of their home directories), created by the software the package provides.
- If these files/folders are not stored in .config , they usually start with a . themselves. Either way, you can see them with ls by using the -a or -A flag, and you can see them in Nautilus and most other file browsers/managers by pressing Ctrl + H or going to View >Show Hidden Files.
- It does not remove the configuration files and directories located in users’ home directories (or in the .config subdirectory of their home directories), created by the software the package provides.