Різниця між очищенням і dpkg -P?


9

Мені довелося видалити phpmyadmin з виробничого сервера та застосувати Google для цього і використати це:

sudo dpkg -P phpmyadmin

Ну, це спрацювало чудово, але, схоже, всі інші на Ubuntu замість цього використовують чистку

sudo apt-get purge phpmyadmin 

Я зробив щось не так? Будь-які наслідки, про які я маю знати, це все-таки мій сервер виробництва) Чи справді всі біти phpmyadmin видалені через dpkg -P?


На мандатній сторінці dpkg написано "-P, --purge paket", так -P означає "чистка", так що, як я думаю, це повинно бути те саме. Я особисто використовую "
влучну

Відповіді:


5

dpkgі apt-getє два різних способи встановлення програмного забезпечення. В основному apt-get, здатність та синаптичність будуються на основі програми управління пакетами dpkg debian. Всі вони виконують одну і ту ж основну функцію - управління пакетами, але мають деякі додаткові можливості. 1 з додаткових особливостей apt-get полягає в тому, що він буде встановлювати залежності, а dpkg - ні.

Щодо -p / очищення ...

-PВ dpkgдопомоги --purgeі видалить все, включаючи setttings і конфігураційні файли. З посібника:

-r, --remove, -P, --purge package...|-a|--pending

          Remove  an  installed  package. -r or --remove remove everything
          except conffiles. This may avoid having to reconfigure the pack‐
          age  if  it  is  reinstalled later. (Conffiles are configuration
          files that are listed in the DEBIAN/conffiles control file).  -P
          or  --purge  removes  everything,  including conffiles. If -a or
          --pending is given instead of a package name, then all  packages
          unpacked,   but   marked   to  be  removed  or  purged  in  file
          /var/lib/dpkg/status, are removed or purged, respectively. 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.

          Removing of a package consists of the following steps:

          1. Run prerm script

          2. Remove the installed files

          3. Run postrm script

Те саме стосується і purgeв apt-get.

 remove
       remove is identical to install except that packages are removed
       instead of installed. Note the removing a package leaves its
       configuration files in system. If a plus sign is appended to the
       package name (with no intervening space), the identified package
       will be installed instead of removed.


 purge
       purge is identical to remove except that packages are removed and
       purged (any configuration files are deleted too).

В основному це той самий варіант. Зверніть увагу: усунення залежностей не відбувається з dpkg. apt-get видаляє залежності

Документація з коментаря Лекенштейна:


+1 збирався написати подібну відповідь. Документація: debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html . Необхідно виділити річ залежності. Приклад: видалення php5також призведе phpmyadminдо видалення (якщо припустити, що немає інших PHP SAPI). aptвпорається з цим, dpkgне може це зробити сам.
Лекенштейн

Відмінний лекенштейн. Досі шукав (тому що залежність річ нудила мене). Додано в :) Не можна
сміливо

Це добре :) Якщо хтось потрапляє на проблему залежності після dpkgпрямого використання , він може виправити це sudo apt-get install -f(як це запропонував dpkg)
Lekensteyn

Дякую всім за пораду. Тож чи потрібно робити sudo apt-get install -f phpmyadminв моєму випадку, щоб переконатися, що залежність видалена? Що робити, якщо залежності поділяються?
Хоуман

@ Закріплені вручну залежності не будуть встановлені вручну, коли від них не залежать жодні встановлені пакети.
нанофарад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.