Как вы можете полностью удалить пакет?

165

Я пытаюсь выполнить чистую установку пакета octave3.2 .

Чтобы сделать это, я удалил его, а затем попытался переустановить его.

При переустановке произошла ошибка. Это может быть ошибка в пакете, но я хочу убедиться, что у меня все удалено, чтобы я мог выполнить чистую установку.

Достаточно ли этого сделать?

sudo apt-get --purge remove octave3.2
    
задан user1012451 17.06.2012 в 02:31
источник

6 ответов

164

Это общий ответ на вопрос о последствиях очистки пакетов в целом. Для получения конкретной информации, касающейся вашей ситуации, вам нужно будет отредактировать свой вопрос, указав дополнительную информацию - в частности, полный и точный текст сообщения об ошибке, которое вы получаете.

Удаление пакетов с sudo apt-get purge ... или sudo apt-get --purge remove ... удалит их и все их глобальные (т. е. системные) файлы конфигурации. Обычно это означает, что люди говорят, когда говорят о полном удалении пакета.

Но это не значит, что ваша система такая же, как и до установки пакета. В частности:

  • Это не удаляет пакеты, которые были установлены как зависимости, когда вы установили пакет, который вы сейчас удаляете. Предполагая, что эти пакеты не являются зависимостями других пакетов и что вы не отметили их вручную, вы можете удалить зависимости с помощью sudo apt-get autoremove или (если вы хотите также удалить их файлы конфигурации по всей стране) sudo apt-get --purge autoremove .

  • Это не удаляет несистемные файлы конфигурации. В частности, он не удаляет пользовательскую конфигурацию:

    • Он не удаляет файлы конфигурации и каталоги, расположенные в домашних каталогах пользователей (или в подкаталоге .config их домашних каталогов), созданных программным обеспечением, предоставляемым пакетом.

      • Если эти файлы / папки не хранятся в .config , они обычно начинаются с . . В любом случае вы можете увидеть их с помощью ls , используя -a или -A , и вы можете увидеть их в Nautilus и большинстве других файловых браузеров / менеджеров, нажав Ctrl + H или выбрав Просмотр . > > Показать скрытые файлы .
    • Он не отменяет изменений, внесенных в существующие пользовательские файлы конфигурации.

    • Он не удаляет новые ключи gconf или dconf или не отменяет изменения конфигурации gconf или dconf .

  • Использование purge или --purge remove вместо remove не отменяет изменений в существующих системных файлах конфигурации, предоставляемых другими пакетами или созданных вручную пользователем. Однако иногда такие изменения отменяются путем удаления пакета (независимо от того, является ли это purge , а не remove ).

ответ дан Eliah Kagan 17.06.2012 в 02:38
42

Используйте команду:

sudo apt-get purge --auto-remove packagename

Он очистит необходимые пакеты вместе с зависимостями, которые установлены с этими пакетами. Параметр --auto-remove работает аналогично sudo apt-get autoremove .

    
ответ дан pl_rock 16.09.2015 в 20:01
3

Лучше отслеживать дополнительные пакеты зависимостей, установленные во время установки.

The following extra packages will be installed: 
    libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind

Если вы удалите только оригинальный пакет, пакет зависимостей может остаться.

Поэтому вам нужно вручную удалить каждый из них с помощью

apt-get purge package_name
    
ответ дан Harikrishnan 18.07.2014 в 08:46
2

Вместо того, чтобы вручную удалять автоматически установленные зависимые пакеты, используйте вместо этого следующее:

 zanfilip@zanfilip-VPCEB3L0E:~/jp/eclipse$ sudo apt-get --purge autoremove
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be REMOVED
      libupstart1* linux-headers-3.16.0-30* linux-headers-3.16.0-30-generic*
      linux-image-3.16.0-30-generic* linux-image-extra-3.16.0-30-generic*
    0 to upgrade, 0 to newly install, 5 to remove and 23 not to upgrade.
    After this operation, 279 MB disk space will be freed.
    Do you want to continue? [Y/n] 

    
ответ дан zanfilip 07.05.2015 в 21:46
2

Если вы хотите удалить некоторые секретные пакеты, вы можете использовать следующие команды:

dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'| xargs apt-get -y --purge autoremove

не забывайте «-y», потому что иначе apt-get будет продолжать спрашивать об удалении отдельных пакетов и ничего не удалять.

    
ответ дан Kerem Ersoy 29.10.2015 в 00:58
2

Сначала вы выберете имя пакета, который хотите удалить:

dpkg --list

Затем удалите данный пакет

sudo apt-get remove package_name

Очистить любой связанный код

sudo apt-get purge package_name

Затем Autoremove

sudo apt-get autoremove

Наконец, сделайте чистую, чтобы вы проверили, что все правильно удалено.

sudo apt-get clean

Вы хотели бы проверить в списке пакетов, что тот, который вы хотите удалить, больше не указан, но он является необязательным.

Хороший день,

    
ответ дан user2777677 31.01.2018 в 19:10

Ознакомьтесь с другими вопросами по меткам