Если я удалил приложение с синаптическим (один из них я установил с терминалом, используя команду dpkg -i), почему он удаляется из меню (значок приложения исчезает), но все же есть полная папка со всеми файлами на жестком диске?
Я не уверен, почему я не могу просто удалить всю папку, как это было бы в OSX. Что происходит после использования команды dpkg -r / -P с терминалом или синаптической тоже?
Есть ли причина, по которой я не должен просто удалять папку (ы) вручную?
Может кто-нибудь объяснить, что происходит за кулисами, чтобы начинающие, как я, могли понять, что они делают (неправильно)?
Я попытался удалить ethereum с помощью dpkg -r и он не работает (неправильное имя) ??
Итак, я предполагаю, что удаление приложения ethereum с помощью Synaptic было хорошим. Синаптик нашел его, а затем удалил. Я также считаю, что все соответствующие данные также были удалены.
Теперь скрытая папка ethereum, которая все еще находится на моем жестком диске, я думаю, это только те данные, которые уже загружены, поэтому приложение можно отдельно обновлять, не теряя блокчейн и данные кошелька, правильно? Я думаю, что могу удалить эти файлы вручную, потому что они мне больше не нужны!
Вот некоторая информация из 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.
Вот некоторая информация из 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.
Вот некоторая информация из 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.