Как полностью удалить программу в Linux?
Как полностью удалить программу в Linux (с помощью терминала)?

Neokortex ★
06.04.11 21:01:01 MSK
2. какой дистрибутив?
p.s на будущее, телепаты в отпуске уже.
sniper21 ★★★★★
( 06.04.11 21:01:57 MSK )
Дистр какой? +у меня даже emerge -C не до конца удаляет.
tn1
( 06.04.11 21:02:20 MSK )

babusha
( 06.04.11 21:02:31 MSK )
aptitude purge program
alg0rythm ☆
( 06.04.11 21:02:51 MSK )
> Как полностью удалить программу в Linux (с помощью терминала)?
Как полностью удалить программу в Linux
с помощью терминала
Замечательно. Сам спросил, сам ответил. Все бы так.
tmpusr
( 06.04.11 21:04:18 MSK )

в fedorа, например:
yum erase
а если интересует удаление именно с помощью терминала, то можно припроднять его за уголок и потереть программу — помогает, инфа 100%
shty ★★★★★
( 06.04.11 21:07:18 MSK )
Ответ на: комментарий от babusha 06.04.11 21:02:31 MSK

Ubuntu, Debian Ставил как уже не помню (может через терминал apt-get, может через Synaptic)
Neokortex ★
( 06.04.11 21:09:35 MSK ) автор топика
Ответ на: комментарий от Neokortex 06.04.11 21:09:35 MSK

sudo apt-get remove
sudo aptitude remove
Выбирай что больше нравится.
babusha
( 06.04.11 21:13:12 MSK )
Ответ на: комментарий от Neokortex 06.04.11 21:09:35 MSK
Это сработает, если Вы не собирали программу ручками
dumal ★★
( 06.04.11 21:13:39 MSK )
Ответ на: комментарий от Neokortex 06.04.11 21:09:35 MSK

главное make install Не делай, если нужно оно и из домашнего должно заработать
darkshvein ☆☆
( 06.04.11 21:16:27 MSK )
Ответ на: комментарий от sniper21 06.04.11 21:01:57 MSK

Zodd ★★★★★
( 06.04.11 21:19:05 MSK )

N1ghtmare ★★
( 06.04.11 21:23:04 MSK )
Ответ на: комментарий от N1ghtmare 06.04.11 21:23:04 MSK

в каждой теме таких остроумных несколько штук 🙂
Neokortex ★
( 06.04.11 21:25:06 MSK ) автор топика

Я наверное не так выразился. Если удалять программу через Synaptic она удаляется с зависимостями, а если через терминал, то — нет.
А как удалить с зависимостями?
Neokortex ★
( 06.04.11 22:34:29 MSK ) автор топика
Ответ на: комментарий от Neokortex 06.04.11 22:34:29 MSK
Ты хочешь aptitude purge?
Deleted
( 06.04.11 23:10:52 MSK )
Ответ на: комментарий от Neokortex 06.04.11 22:34:29 MSK
Зайти в aptitude, оно покажет ненужные пакеты.
gentoo_root ★★★★★
( 06.04.11 23:11:59 MSK )

apt-get —purge autoremove
Aid_ ★
( 06.04.11 23:13:42 MSK )
Ответ на: комментарий от tn1 06.04.11 21:02:20 MSK
> у меня даже emerge -C не до конца удаляет.
Это как? Не верю (с)
andreyu ★★★★★
( 06.04.11 23:37:23 MSK )
Ответ на: комментарий от andreyu 06.04.11 23:37:23 MSK
емерж имеет обыкновение не удалять конфиги и возможно еще логи (не помню точно)
anonymous
( 06.04.11 23:45:43 MSK )
Ответ на: комментарий от anonymous 06.04.11 23:45:43 MSK
> емерж имеет обыкновение не удалять конфиги и возможно еще логи (не помню точно)
Словно что-то плохое.
Еще бы он удалял мне конфиги из домашней директории. Да и в /etc они мне пригодятся, во всяком случае уж точно не мешают.
rival ★★
( 07.04.11 00:00:31 MSK )
Ответ на: комментарий от andreyu 06.04.11 23:37:23 MSK
Вчера, после удаления emacs остался /usr/share/emacs. После удаления gconf и gdm остались /etc/gconf[d](точно не помню) и /etc/X11/gdm +логи. После обновления python с 2.6 на 2.7 остался pydoc2.6 в /etc/conf.d/. После удаления udisk осталось это
* . /lib64/udev/udisks-dm-export not owned by any package is broken . * /lib64/udev/udisks-dm-export -> (none) * . /lib64/udev/udisks-lvm-pv-export not owned by any package is broken . * /lib64/udev/udisks-lvm-pv-export -> (none) * . /lib64/udev/udisks-part-id not owned by any package is broken . * /lib64/udev/udisks-part-id -> (none) * . /lib64/udev/udisks-probe-ata-smart not owned by any package is broken . * /lib64/udev/udisks-probe-ata-smart -> (none)
revdep-rebuild как и переустановка не помогает, удалять лень.
tn1
( 07.04.11 00:20:36 MSK )
Ответ на: комментарий от anonymous 06.04.11 23:45:43 MSK
> емерж имеет обыкновение не удалять конфиги и возможно еще логи (не помню точно)
Только, если он их не создавал.
andreyu ★★★★★
( 07.04.11 00:22:53 MSK )
Ответ на: комментарий от Neokortex 06.04.11 22:34:29 MSK

>А как удалить с зависимостями?
Современный apt-get поддерживает команду autoremove, которая удаляет все пакеты, ставившиеся автоматически как зависимости других пакетов.
proud_anon ★★★★★
( 07.04.11 00:40:37 MSK )
Ответ на: комментарий от Neokortex 06.04.11 22:34:29 MSK
> Я наверное не так выразился. Если удалять программу через Synaptic она удаляется с зависимостями, а если через терминал, то — нет.
sudo aptitude purge
Удаляет с зависимостями.
anonymous
( 07.04.11 10:52:10 MSK )
Ответ на: комментарий от darkshvein 06.04.11 21:16:27 MSK
Главное думать головой и не писать ерунды.
./configure —prefix в школе не проходили?
Shtucer ★
( 07.04.11 11:13:18 MSK )
Ответ на: комментарий от tn1 07.04.11 00:20:36 MSK
после удаления emacs остался /usr/share/emacs.
Либо /usr/share/emacs принадлежит другому пакету, либо пакет криво собран.
rpm -qf /usr/share/emacs рассказывает причину. Аналогично должно быть с dpkg.
akk ★★★★★
( 07.04.11 12:35:10 MSK )
Ответ на: комментарий от akk 07.04.11 12:35:10 MSK
Либо /usr/share/emacs принадлежит другому пакету,
Из app-emacs/ у меня ничего не установлено. Пробовал qfile /usr/share/emacs пусто. При чём тут dpkg?
tn1
( 07.04.11 13:16:31 MSK )
Ответ на: комментарий от N1ghtmare 06.04.11 21:23:04 MSK
> rm -rf /* же, ну!
Нет, это не пойдет, ТС же просил полностью удалить программу. А после rm ещё можно восстановить содержимое программы с диска. Думаю, ему нужно что-то типа shred или медленный, но верный dd if=/dev/urandom of=/dev/sda 🙂 А ещё лучше вот такой метод — он гарантированно полностью удалит программу (вместе с диском и компьютером):
mad_soft ★
( 07.04.11 13:35:08 MSK )

никто ещё не написал, что linux — это ядро, на него програмы не установить.
nanoo_linux ☆
( 07.04.11 13:37:22 MSK )
Ответ на: комментарий от tn1 07.04.11 00:20:36 MSK
*дополнение* ещё в /var/lib/ остались gdm и kdm-4.6. +После удаления grub в /libгетотам осталась папка grub/
Управление программным обеспечением в Linux

Доброго времени, уважаемые гости моего блога www.k-max.name!
В сегодняшней статье хочу рассказать об основных принципах управления программным обеспечением, а так же привести команды, с помощью которых с легкостью возможно устанавливать, удалять или получать информацию о программах в Linux. Вообще, в линуксе можно выделить 2 способа управления программным обеспечением.
Ну что ж, начнем повествование: Если провести аналогию с проприетарной ОС от мелкомягких, то в Линукс есть аналог такого компонента операционной системы, как «Установка/удаление программ«, только называется он — пакетный менеджер. Пакетный менеджер представляет собой набор инструментов, выполняющих функции, схожие с аналогом от Windows. Но есть у пакетных менеджеров кардинальные отличия!
Во-первых, в Windows при установке программы, ее (программу) нужно еще найти, а то и приобрести. В Linux все ПО собрано в одном месте, которое называется репозиторий (он же репа, репАзитАрий и др). Репозиторий представляет собой сетевое хранилище всего ПО, предоставляемое данным дистрибутивом Linux/UNIX.
Во-вторых, предположим, Вам нужно установить игрушку на ОС Windows, которая требует для своей работы такой компонент как DirectX. В данном случае может быть 2 выхода: 1. DirectX уже содержится в дистрибутиве установщика, 2. Вам необходимо будет самому найти данный компонент и установить. При обоих вариантах возникает некоторые НО. При первом варианте, возможно, что у вас уже есть установленный DirectX, причем более новой версии, чем идет с игрой. В таком случае может возникнуть конфликт, допустим, если более новый компонент требуется для другой игры. В результате, установка DX старой версии может привести к некорректной работе игры требующей более новую версию DX. (на данный момент это НО не очень актуально, т.к. последние версии установщиков DX корректно обрабатывают свою «версионность», спасибо комментатору Новичок). Другой момент «НО» заключается в том, что необходимо прикладывать усилия для поиска данного компонента.
Вышеописанный пример я привел для того, чтобы подвести Вас к выводу, что пакетный менеджер в Linux лишен данных недостатков. Любое устанавливаемое ПО через систему управления пакетами устанавливается вместе с остальным ПО, необходимым для работы устанавливаемого. Это в Линукс называется зависимостями. И чем совершенней пакетный менеджер, тем грамотней и правильней он отслеживает зависимости.
В репозиториях в большинстве своем храниться только проверенное ПО. То есть ПО, протестированное на конкретном дистрибутиве. Так же необходимо отметить, что у каждого дистрибутива Linux есть свой репозиторий со своей структурой, со своим проверенным ПО. Более подробно о структуре репозиториев можно почитать в документации к дистрибутиву.
В функции пакетных менеджеров так же входит обязанность отслеживать и систематизировать версии программного обеспечения и размещение его компонентов в операционной системе.
Но вернемся к нашим носорогам. И зададим себе несколько вопросов. Почему бы не поставлять ВСЕ программы в пакетах (ведь ими так просто управлять)? Почему некоторое ПО предоставляется в исходных кодах, а некоторое поставляется в готовых пакетах? Ответы на данные вопросы — ниже.
Теперь коснусь программного обеспечения, поставляемого в исходных кодах. Для каких целей может понадобиться устанавливать /компилировать программу из исходных кодов:
- Вам требуется программа, не входящая в ваш дистрибутив (точнее в репозиторий Вашего дистрибутива).
- Вам нужна программа, которая доступна только в виде исходных текстов.
- Вам нужна некая функция программы, которая может быть включена только после перекомпиляции программы из исходных текстов.
- Вы хотите узнать о том как программа работает или принять участие в ее разработке.
- Возможны, конечно, и другие причины
1. Управление программным обеспечением поставляемым в исходных кодах.
Установка программ
Управление программным обеспечением в виде исходных кодов на всех дистрибутивах практически не отличается и это управление можно привести к следующей последовательности действий:
- Вы скачиваете пакет с исходными текстами/кодами. Скорее всего это будет пакет в виде архива (*.tar.gz или *.tar.bz2 или др.). Скачивание архива будет происходить, скорее всего, командой wget http://адрес.ру/путь/к/архиву.tar.gz.
- Скачанный архив необходимо распаковать, как и любой архив, скорее всего, командойtar -xvzf архив.tar.gz. Архив распакуется в подкаталог с именем архив (без .tar.gz). В данную подпапку можно перейти командойcd архив. Распакованные исходники рекомендуется хранить в каталоге /usr/src/.
- Далее необходимо установить скачанное программное обеспечение. Тут есть 2 пути:
- Если вы знаете, что устанавливаете и как оно устанавливается, то производите установку.
- Если Вы первый раз скачали пакет с сорцами (исходниками), то необходимо прочитать документацию об устанавливаемом программном обеспечении. С предоставляемым пакетом всегда идут файлы README, INSTALL или аналогичные, в которых описан порядок установки данного пакета. В общем случае, установка программ из исходников сводится к вводу следующих команд:
./configure make make install
Команда ./configure может выполняться с различными параметрами, в зависимости от устанавливаемого ПО. При выполнении команды с параметрами могут задаваться какие-либо характеристики и особенности компилируемого кода. Весь список параметров в с описанием можно найти, как уже выше говорилось, в файлах README, INSTALL или аналогичных, а так же, выполнив команду с параметром —help. После запуска configure обычно вы видите сообщения, рассказывающие о типе используемой вами системы и о том, какие необходимые инструменты установлены, а какие нет.
По завершении выполнения скрипта configure, он сохраняет информацию о конфигурации в файле с названием config.cache, расположенном в том же каталоге, что и сам скрипт configure.
Если вам необходимо запустить ./configure вновь, то убедитесь, что прежде вы удалили файл config.cache, поскольку configure будет использовать настройки из config.cache, если он существует, не производя повторной проверки вашей системы.
Если все идет хорошо, то к концу процесса конфигурирования вы должны получить созданный Makefile. Он называется сборочный файл проекта, программа с именем make используется для его обработки и сборки программы. Make-файл содержит правила, являющиеся инструкциями, которые сообщают программе make как собирать различные компоненты приложения.
make install устанавливает скомпилированную программу. Фактически, производится копирование необходимых файлов в нужные каталоги. Если вы производите установку в /usr/local, то вам могут потребоваться права суперпользователя (root).
Примечание
Для запуска make и make install необходим установленный компилятор. (пакет gcc)
В Debian вместе с gcc необходимо установить еще некоторые пакеты. Чтобы не запоминать их все, можно установить просто пакет build-essential.Существуют две разновидности программ, собираемых из исходников: использующих статическую компоновку и использующие динамическую компоновку. Статическая компоновка отличается от динамической тем, что при сборке программы со динамической компоновкой используются функции разделяемых библиотек, а при статической компоновке используется собственный экземпляр библиотек. Просмотреть список разделяемых библиотек, от которых зависит исполняемый файл можно командой ldd. При сборке программ использующих библиотеки совместного доступа, к ней добавляется участок кода, вызывающий при запуске программы динамический компоновщик ld.so (/usr/bin/ld), который ищет необходимые библиотеки и подставляет функции библиотек к программе (каталоги поиска библиотек заданы конфигурационным файлом /etc/ld.so.conf).
Удаление программ
Для корректного удаления программ, установленных из исходных текстов, есть несколько способов:
- ручное удаление всего, что установила программа make install
- выполнение команды make uninstall в каталоге с исходниками программы. Тут есть нюанс — не всегда разработчики подразумевают параметр uninstall для команды make, поэтому возвращаемся к первому пункту.
В целом, чтобы не было проблем с удалением программы, ее рекомендуют конфигурировать с ключом —prefix=/путь/установки, например ./configure —prefix=/usr/local/apache. Если, конечно, скрипт configure поддерживает данный ключ.
В общих чертах, это была информация о установке программного обеспечения из исходных кодов. Теперь поговорим о бинарных пакетах.
2. Управление программным обеспечением поставляемым в бинарном виде (читай: в готовых пакетах)
В Linux существует несколько разновидностей систем управления пакетов. Основные из них именуются как RPM, dpkg и Portage. Существуют и другие разновидности пакетных менеджеров, но по моему мнению, они не имеют большого распространения. Как уже выше говорилось, назначение пакетного менеджера (системы управления пакетами), это: управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения.
Итак, расскажу подробней о каждой разновидности. RPM разработана компанией Red Hat, применяется в большей части в дистрибутивах, образованных от Red Hat Linux и используется для управления пакетами *.rpm. Система управления пакетов dpkg (Debian Package) разработана основателем дистрибутива Debian — Яном Мердоком, применяется в дистрибутиве Debian и других, производных от Debian, dpkg управляет пакетами в формате *.deb. Система Portage используется в дистрибутивах Gentoo. Программное обеспечение в Gentoo поставляется в виде нескольких файлов.
Пакетные менеджеры не умеют автоматически разрешать зависимости в устанавливаемых пакетах. Системы пакетных менеджеров лишь отслеживают зависимости. Слово «разрешать» думаю, хорошо будет понятно на примере. Например, при установке какого-либо пакета rpm , зависящего от другого пакета , пакетный менеджер лишь сообщит, что для текущего пакета необходим еще другой , но не предложит автоматически его установить. Для автоматического разрешения зависимостей существуют, так скажем, «надстройки» для пакетных менеджеров, которые автоматизируют отслеживание версий ПО, отслеживание и разрешение зависимостей между пакетами (то есть на примере выше, данная надстройка предложит автоматически установить недостающие пакеты).
Для rpm существуют следующие утилиты:
- apt-rpm, порт APT, изначально выполненный Conectiva, затем существенно доработанный ALT Linux Team и продолжающий развиваться
- apt4rpm, порт APT Debian. Рекомендуется для использовании с некоторыми репозиториями Fedora Core. Почти не разрабатывается, но расходует меньше ресурсов процессора, чем те средства, которые перечислены выше. Более поздний проект, нежели apt-rpm.
- smart, доступен для многих дистрибутивов
- urpmi, используется в Mandriva Linux
- YaST, используется в SuSE
- yum, разработан в Yellow Dog Linux, также используется в Fedora Core и ASP Linux
Для dpkg, преимущественно:
3. Особенности и отличия использования RPM, dpkg и исходных текстов
Как и RPM, так и dpkg возможно установить и на RedHat и на Deb — дистрибутивы, но по моему мнению, это равносильно принципу круглое — носим, квадратное — катаем. И dpkg и RPM очень похожи по своему принципу работы, но все же в них есть кое какие отличия, например: при установке пакета rpm не устанавливает пакет, пока не будут разрешены все зависимости, deb — устанавливает, но говорит, что пакет установлен, но работать не будет, пока не будут установлены все зависимости.
Любой пакетный менеджер хранит информацию о зависимостях пакетов в своей базе (например RPM — в /var/lib/rpm), соответственно, если какое-то ПО было установлено НЕ из пакетного менеджера, то информации о нем нет в базе данных, соответственно, при установке пакета, который (пакет) зависит от ПО установленного, например, из исходных кодов, будет выдана ошибка об отсутствии зависимого пакета (хотя он установлен). Для решения данной проблемы необходимо использовать ключ —nodeps, который отключает отслеживание зависимостей (актуально для RPM).
В общем случае я бы посоветовал пользоваться ИЛИ пакетным менеджером и соответствующими инструментами ИЛИ собирать все ПО из исходников. Но второй вариант, по моему мнению, разумен только при использовании строго ограниченного набора программ на сервере, иначе, обновление из исходников станет основным развлечением для системного администратора, потому что на остальные задачи просто не останется времени.
4. Основные команды управления программами
Команды управления программным обеспечением приведены в статье основные команды Linux.
Теперь опишу краткий список команд по работе с пакетными менеджерами:
dpkg rpm Установка пакета dpkg -i Имя_deb_Пакета
или
apt-get install Имя_deb_Пакета
-s — симуляция установкиrpm -ivh путь.к.пакету
-v — отображение сообщений при установке
-e — переустановка (удаление перед установкой)
—force — принудительная установка (без разрешения зависимостей)
—nodeps — Не выполнять проверку зависимостей перед установкой или обновлением пакета.Обновление RPM пакетов rpm -Uvh имя_пакета Удаление пакета dpkg -r имя_пакета
или
apt-get remove имя_пакетаrpm -e имя_пакета Информация о пакете dpkg -s имя_пакета rpm -q имя_пакета — краткая информация о пакете имя_пакета
-qi — полное инфо о пакете имя_пакетаСписок файлов в пакете dpkg -L имя_пакета rpm -ql имя_пакета Какой пакет содержит файл dpkg -S /путь/к/файлу Список установленных пакетов dpkg -l [маска] rpm -qa Поиск пакетов apt-cache search имя Требования к устанавливаемому пакету rpm -qR имя_пакета Целостность пакетов rpm —checksig имя_пакета
rpm -V имя_пакета — целостность установленного пакетаНа сегодня все, более полный список команд тут. До новых встреч!
upd 2011.02.03: переработка статьи, дополнение 3 и 4 раздела
upd 2012.06.08: дополнение 1 раздела (информация об удалении ПО)С Уважением, Mc.Sim!
Другие материалы в категории основы Linux
- Текстовый редактор VIM, основы работы
- ddrescue или спасаем данные с HDD
- Резервное копирование файлов сайта по ssh
- Седьмой релиз Debian
- Использование ramdisk в Linux (ramdisk, ramfs, tmpfs) или препарирование рамдисков
- SNMP протокол (основы)
- Установка антивирусного сканера ClamAV на Debian
- HOWTO использование backports в Debian
- Конспект установки Debian на сервер
- SSH сервер на Debian
Удаление программ Linux
Не всегда нам нужно только устанавливать программы. Иногда нужно очистить систему или удалить лишние пакеты и файлы чтобы освободить место на диске. Удаление программ в большинстве случаев выполняется очень просто вне зависимости от дистрибутива. Но иногда могут возникнуть сложности, например, с программами, которые сами создают множество файлов в файловой системе или программы, установленные вручную.
В этой статье мы рассмотрим как выполняется удаление программ Linux в разных дистрибутивах, какие программы можно использовать и какие команды нужны. Остановимся на том, как полностью удалить программу, чтобы она не оставляла следов в системе.
1. Удалить программу через GUI
В Ubuntu и многих других дистрибутивах необязательно использовать консоль для удаления программ, существуют центры приложений и графические интерфейсы. Здесь достаточно запустить утилиту, выбрать нужную программу или пакет и удалить ее. Например, во многих дистрибутивах применяется Gnome Software. Сначала запустите его из главного меню:

Затем найдите нужную программу, например, Gimp:

Откройте ее и нажмите кнопку «Удалить»:

Далее, подтвердите что ее нужно удалить и введите пароль суперпользователя:

После завершения работы, программа будет полностью удалена с вашего компьютера.
2. Удаление программ через пакетный менеджер
Самый простой и часто используемый способ удалить программу linux — это использовать стандартный пакетный менеджер из терминала. Если вы использовали пакетный менеджер для установки программы то единственным верным способом ее удаления будет тоже он. В зависимости от дистрибутива команды удаления будут отличаться, но, в целом, они будут иметь похожий синтаксис. Мы рассмотрим примеры для самых популярных дистрибутивов. Например, нам нужно удалить Firefox. В Ubuntu, Debian, Linux Mint и других дистрибутивах этого семейства команда будет выглядеть вот так:
sudo apt remove firefox

Эта команда удалит пакет из системы, но некоторые конфигурационные файлы останутся и будут занимать место. Чтобы полностью удалить программу используйте опцию purge:
sudo apt purge firefox

Более подробно о том, как удалить программу в Linux в Ubuntu мы рассматривали в отдельной статье, в том числе и работу с PPA. Для удаления пакета в CentOS или Red Hat выполните:
sudo yum remove firefox
В Fedora и основанных на ней дистрибутивах, кроме Red Hat, используется новый пакетный менеджер — dnf:
sudo dnf remove firefox
В OpenSUSE используется собственный пакетный менеджер — zypper:
sudo zypper remove firefox
Удаление программ Linux с помощью пакетного менеджера позволяет полностью очистить систему от остатков программы. После завершения удаления рекомендуется перезагрузить компьютер, чтобы убедиться, что все файлы были удалены. Теперь вы знаете как удалить программу в Linux через терминал.
Пакетный менеджер раскладывал файлы программы по системе, а значит он знает что и где находится, значит сможет все правильно удалить. Но если вы компилировали программу и устанавливали ее установочным скриптом, то вы не сможете удалить ее с помощью пакетного менеджера, поскольку он ничего не знает о ней.
3. Удаление программ без пакетного менеджера
Здесь тоже есть несколько вариантов. Если вы устанавливали программу из исходников с помощью компиляции и make install, то она разложена по всей системе. А это значит, что вы не сможете просто зайти и удалить папку с ней, как в Windows. Вам придется использовать тот же скрипт, что вы использовали для установки. Откройте терминал и выполните:
cd /папка/с/исходниками
$ sudo make uninstallПервая команда переходит в папку с исходниками, вторая — удаляет программу. Если скрипта не сохранилось, то вы можете скачать его из интернета. Иначе программу не удалить. Еще один вариант установки программ — с помощью скрипта из официального сайта. Такие программы удалить намного проще. Они устанавливаются, как правило, в одну папку, для них существует специальный каталог в файловой системе Linux. Здесь они создают новую папку, где расположены все их файлы, включая исполняемые и файлы настроек. Например, чтобы удалить браузер Google Chrome, установленный, таким образом, нужно набрать:
sudo rm -Rf /opt/google-chrome/
Возможно, после удаления программы, вам стоит проверить папку /etc, так как там обязательно должны были остаться файлы настроек пути к библиотекам этой программы, исполняемым файлам и файлы сервисов. Также после удаления программ рекомендуется делать очистку системы Ubuntu.
Выводы
В этой статье мы рассмотрели как выполняется удаление программ Linux для различных дистрибутивов. Как видите, если правильно подходить к установке, то удалить программу очень просто. Сложности возникнут только если вы использовали нестандартные пути получения программ, что очень не рекомендуется.
Как полностью удалить пакет с зависимостями в 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
Все что устанавливалось при установке вашего пакета, будет удалено.