Удаление папок приложений вручную для удаления пакета

Если я удалил приложение с синаптическим (один из них я установил с терминалом, используя команду dpkg -i), почему он удаляется из меню (значок приложения исчезает), но все же есть полная папка со всеми файлами на жестком диске?

Я не уверен, почему я не могу просто удалить всю папку, как это было бы в OSX. Что происходит после использования команды dpkg -r / -P с терминалом или синаптической тоже?

Есть ли причина, по которой я не должен просто удалять папку (ы) вручную?

Может кто-нибудь объяснить, что происходит за кулисами, чтобы начинающие, как я, могли понять, что они делают (неправильно)?

Обновить

Я попытался удалить ethereum с помощью dpkg -r и он не работает (неправильное имя) ??

Итак, я предполагаю, что удаление приложения ethereum с помощью Synaptic было хорошим. Синаптик нашел его, а затем удалил. Я также считаю, что все соответствующие данные также были удалены.

Теперь скрытая папка ethereum, которая все еще находится на моем жестком диске, я думаю, это только те данные, которые уже загружены, поэтому приложение можно отдельно обновлять, не теряя блокчейн и данные кошелька, правильно? Я думаю, что могу удалить эти файлы вручную, потому что они мне больше не нужны!

1
задан 9 August 2017 в 15:21

3 ответа

Вот некоторая информация из man dpkg, которая объясняет, что делают dpkg -r и dpkg -P. Удаление пакета с помощью команд APT или синаптики включает в себя те же процедуры; насколько я знаю, высокоуровневые утилиты управления пакетами, такие как APT и synaptic, просто вызывают DPKG как подпроцесс для удаления или установки файлов.

-r, --remove package...|-a|--pending
          Remove  an  installed  package. This removes everything except conffiles,
          which may avoid having to reconfigure the package if it is reinstalled 
          later (conffiles are configuration files that are listed in the 
          DEBIAN/conffiles control file)[...]
       Removing of a package consists of the following steps:
          1. Run prerm script
          2. Remove the installed files
          3. Run postrm script

-P, --purge package...|-a|--pending
          Purge an installed or already removed package. This removes everything, 
          including conffiles. [...]

          Note: some configuration files might be unknown to dpkg because 
          they are created and handled separately through the  configuration
          scripts. In that case, dpkg won't remove them by itself, but the 
          package's postrm script (which is called by dpkg), has to take care
          of their removal during purge. Of course, this only applies to files 
          in system directories, not configuration files written to individual 
          users' home directories.
     Purging of a package consists of the following steps:
          1. Remove the package, if not already removed.
          2. Run postrm script.

Как вы можете видеть, эти команды удаляют все файлы приложения, за исключением файлов конфигурации. Даже -P / --purge может не всегда удалять локальные файлы конфигурации из домашних каталогов пользователей в некоторых случаях, поэтому эти файлы могут быть удалены вручную, если они больше не нужны. Когда вы упоминаете каталоги приложений, оставшиеся после удаления, вы, скорее всего, говорите о локальном каталоге конфигурации. *

В ответе на несколько смежный вопрос я обсудил, как APT, DPKG и другие менеджеры пакетов установлены на Ubuntu система хранит информацию о файлах, предоставляемых пакетом, в удобной для восприятия форме.

Этот ответ также пытается объяснить, почему использование диспетчера пакетов для управления пакетами значительно проще, чем пытаться сделать это вручную; в типичной файловой системе Linux файлы, предоставляемые приложениями, разбросаны повсюду. Хотя это может показаться запутанным, существует большое преимущество безопасности для файлов приложений, находящихся в системных каталогах, принадлежащих root, которые пользователи не могут писать. Кроме того, если нам нужно выяснить, где находятся файлы, связанные с пакетом, мы можем использовать различные утилиты командной строки, чтобы их найти.

Вы хотели знать, удаляет ли все файлы приложения для удаления это плохая идея, и если да, то почему. Мой ответ на этот вопрос - ДА, в общем, это очень плохая идея, потому что удаление установленных файлов - это только часть работы, выполняемой управлением пакетами, когда вы вызываете ее для выполнения удаления. База данных DPKG хранит информацию о том, какие пакеты установлены и установлены, и все отношения зависимости между ними. Если файлы пакета удаляются без обновляемой базы данных, разрешение не будет выполняться, программное обеспечение, зависящее от незаметно отсутствующего программного обеспечения, не будет работать, пакеты будут разбиты, очистка выполняется с помощью скриптов prerm и postrm dpkg для каждый пакет, который он удаляет, не будет выполнен, потенциально оставляя сломанные символические ссылки и неправильные файлы конфигурации, лежащие вокруг, и все будет ужасно.

ДА Пакетные менеджеры существуют по уважительным причинам. Используйте их там, где это возможно, вместо того, чтобы пытаться сделать это сами.

* Однако иногда программное обеспечение может быть установлено (и иметь один каталог) без DPKG, зная что-либо об этом. Например, вы можете загрузить стороннее приложение, извлечь архив и запустить исполняемый файл. Чтобы «удалить» это программное обеспечение, вы можете просто удалить извлеченные файлы. Другим примером является установка с использованием sudo make install после компиляции из источника, которая оставляет исходный каталог позади. Удаление такого программного обеспечения может стать головной болью, если разработчики не настроили что-либо, чтобы включить sudo make uninstall или не включить манифест файла! Способ создания пакета deb после make, который можно выполнить с помощью checkinstall.

0
ответ дан 22 May 2018 в 19:45
  • 1
    что я могу сказать ... большое спасибо за инвестирование времени на мой вопрос! – stevethemechanic 9 August 2017 в 18:36
  • 2
    @stevethemechanic :) :) вы очень желанны! Спасибо за ваши усилия по разъяснению вопроса – Zanna 9 August 2017 в 19:52

Вот некоторая информация из man dpkg, которая объясняет, что делают dpkg -r и dpkg -P. Удаление пакета с помощью команд APT или синаптики включает в себя те же процедуры; насколько я знаю, высокоуровневые утилиты управления пакетами, такие как APT и synaptic, просто вызывают DPKG как подпроцесс для удаления или установки файлов.

-r, --remove package...|-a|--pending Remove an installed package. This removes everything except conffiles, which may avoid having to reconfigure the package if it is reinstalled later (conffiles are configuration files that are listed in the DEBIAN/conffiles control file)[...] Removing of a package consists of the following steps: 1. Run prerm script 2. Remove the installed files 3. Run postrm script -P, --purge package...|-a|--pending Purge an installed or already removed package. This removes everything, including conffiles. [...] Note: some configuration files might be unknown to dpkg because they are created and handled separately through the configuration scripts. In that case, dpkg won't remove them by itself, but the package's postrm script (which is called by dpkg), has to take care of their removal during purge. Of course, this only applies to files in system directories, not configuration files written to individual users' home directories. Purging of a package consists of the following steps: 1. Remove the package, if not already removed. 2. Run postrm script.

Как вы можете видеть, эти команды удаляют все файлы приложения, за исключением файлов конфигурации. Даже -P / --purge может не всегда удалять локальные файлы конфигурации из домашних каталогов пользователей в некоторых случаях, поэтому эти файлы могут быть удалены вручную, если они больше не нужны. Когда вы упоминаете каталоги приложений, оставшиеся после удаления, вы, скорее всего, говорите о локальном каталоге конфигурации. *

В ответе на несколько смежный вопрос я обсудил, как APT, DPKG и другие менеджеры пакетов установлены на Ubuntu система хранит информацию о файлах, предоставляемых пакетом, в удобной для восприятия форме.

Этот ответ также пытается объяснить, почему использование диспетчера пакетов для управления пакетами значительно проще, чем пытаться сделать это вручную; в типичной файловой системе Linux файлы, предоставляемые приложениями, разбросаны повсюду. Хотя это может показаться запутанным, существует большое преимущество безопасности для файлов приложений, находящихся в системных каталогах, принадлежащих root, которые пользователи не могут писать. Кроме того, если нам нужно выяснить, где находятся файлы, связанные с пакетом, мы можем использовать различные утилиты командной строки, чтобы их найти.

Вы хотели знать, удаляет ли все файлы приложения для удаления это плохая идея, и если да, то почему. Мой ответ на этот вопрос - ДА, в общем, это очень плохая идея, потому что удаление установленных файлов - это только часть работы, выполняемой управлением пакетами, когда вы вызываете ее для выполнения удаления. База данных DPKG хранит информацию о том, какие пакеты установлены и установлены, и все отношения зависимости между ними. Если файлы пакета удаляются без обновляемой базы данных, разрешение не будет выполняться, программное обеспечение, зависящее от незаметно отсутствующего программного обеспечения, не будет работать, пакеты будут разбиты, очистка выполняется с помощью скриптов prerm и postrm dpkg для каждый пакет, который он удаляет, не будет выполнен, потенциально оставляя сломанные символические ссылки и неправильные файлы конфигурации, лежащие вокруг, и все будет ужасно.

ДА Пакетные менеджеры существуют по уважительным причинам. Используйте их там, где это возможно, вместо того, чтобы пытаться сделать это сами.

* Однако иногда программное обеспечение может быть установлено (и иметь один каталог) без DPKG, зная что-либо об этом. Например, вы можете загрузить стороннее приложение, извлечь архив и запустить исполняемый файл. Чтобы «удалить» это программное обеспечение, вы можете просто удалить извлеченные файлы. Другим примером является установка с использованием sudo make install после компиляции из источника, которая оставляет исходный каталог позади. Удаление такого программного обеспечения может стать головной болью, если разработчики не настроили что-либо, чтобы включить sudo make uninstall или не включить манифест файла! Способ создания пакета deb после make, который можно выполнить с помощью checkinstall.

0
ответ дан 18 July 2018 в 08:59

Вот некоторая информация из man dpkg, которая объясняет, что делают dpkg -r и dpkg -P. Удаление пакета с помощью команд APT или синаптики включает в себя те же процедуры; насколько я знаю, высокоуровневые утилиты управления пакетами, такие как APT и synaptic, просто вызывают DPKG как подпроцесс для удаления или установки файлов.

-r, --remove package...|-a|--pending Remove an installed package. This removes everything except conffiles, which may avoid having to reconfigure the package if it is reinstalled later (conffiles are configuration files that are listed in the DEBIAN/conffiles control file)[...] Removing of a package consists of the following steps: 1. Run prerm script 2. Remove the installed files 3. Run postrm script -P, --purge package...|-a|--pending Purge an installed or already removed package. This removes everything, including conffiles. [...] Note: some configuration files might be unknown to dpkg because they are created and handled separately through the configuration scripts. In that case, dpkg won't remove them by itself, but the package's postrm script (which is called by dpkg), has to take care of their removal during purge. Of course, this only applies to files in system directories, not configuration files written to individual users' home directories. Purging of a package consists of the following steps: 1. Remove the package, if not already removed. 2. Run postrm script.

Как вы можете видеть, эти команды удаляют все файлы приложения, за исключением файлов конфигурации. Даже -P / --purge может не всегда удалять локальные файлы конфигурации из домашних каталогов пользователей в некоторых случаях, поэтому эти файлы могут быть удалены вручную, если они больше не нужны. Когда вы упоминаете каталоги приложений, оставшиеся после удаления, вы, скорее всего, говорите о локальном каталоге конфигурации. *

В ответе на несколько смежный вопрос я обсудил, как APT, DPKG и другие менеджеры пакетов установлены на Ubuntu система хранит информацию о файлах, предоставляемых пакетом, в удобной для восприятия форме.

Этот ответ также пытается объяснить, почему использование диспетчера пакетов для управления пакетами значительно проще, чем пытаться сделать это вручную; в типичной файловой системе Linux файлы, предоставляемые приложениями, разбросаны повсюду. Хотя это может показаться запутанным, существует большое преимущество безопасности для файлов приложений, находящихся в системных каталогах, принадлежащих root, которые пользователи не могут писать. Кроме того, если нам нужно выяснить, где находятся файлы, связанные с пакетом, мы можем использовать различные утилиты командной строки, чтобы их найти.

Вы хотели знать, удаляет ли все файлы приложения для удаления это плохая идея, и если да, то почему. Мой ответ на этот вопрос - ДА, в общем, это очень плохая идея, потому что удаление установленных файлов - это только часть работы, выполняемой управлением пакетами, когда вы вызываете ее для выполнения удаления. База данных DPKG хранит информацию о том, какие пакеты установлены и установлены, и все отношения зависимости между ними. Если файлы пакета удаляются без обновляемой базы данных, разрешение не будет выполняться, программное обеспечение, зависящее от незаметно отсутствующего программного обеспечения, не будет работать, пакеты будут разбиты, очистка выполняется с помощью скриптов prerm и postrm dpkg для каждый пакет, который он удаляет, не будет выполнен, потенциально оставляя сломанные символические ссылки и неправильные файлы конфигурации, лежащие вокруг, и все будет ужасно.

ДА Пакетные менеджеры существуют по уважительным причинам. Используйте их там, где это возможно, вместо того, чтобы пытаться сделать это сами.

* Однако иногда программное обеспечение может быть установлено (и иметь один каталог) без DPKG, зная что-либо об этом. Например, вы можете загрузить стороннее приложение, извлечь архив и запустить исполняемый файл. Чтобы «удалить» это программное обеспечение, вы можете просто удалить извлеченные файлы. Другим примером является установка с использованием sudo make install после компиляции из источника, которая оставляет исходный каталог позади. Удаление такого программного обеспечения может стать головной болью, если разработчики не настроили что-либо, чтобы включить sudo make uninstall или не включить манифест файла! Способ создания пакета deb после make, который можно выполнить с помощью checkinstall.

0
ответ дан 24 July 2018 в 19:13

Другие вопросы по тегам:

Похожие вопросы: