パージとdpkg -Pの違いは?


9

私は本番サーバーからphpmyadminをアンインストールし、それをググる必要があり、これを使用しました:

sudo dpkg -P phpmyadmin

まあ、これはうまくいきましたが、Ubuntuの他の誰もが代わりにパージを使用しているようです

sudo apt-get purge phpmyadmin 

私は何か間違ったことをしましたか?私が知っておくべき結果(結局のところ、それは私の本番サーバーです)phpmyadminのすべてのビットは本当にdpkg -Pによってアンインストールされますか?


dpkgのmanページから、「-P、--purge package」と書かれているので、-Pは「purge」を意味するので、私が思うに、同じものでなければなりません。私は「apt-get purge」を個人的に使用しています
hytromo

回答:


5

dpkgapt-getは、ソフトウェアをインストールする2つの異なる方法です。基本的に、apt-get、aptitude、およびsynapticは、debianのdpkgパッケージ管理プログラムの上に構築されています。それらはすべて同じ基本機能を実行します-パッケージ管理ですが、いくつかの追加機能があります。apt-getの追加機能の1つは、依存関係をインストールしますが、dpkgはインストールしないことです。

-p / purgeについて...

手段とはsetttingsと構成ファイルを含む、すべてのものを削除します。マニュアルから:-Pdpkg--purge

-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は依存関係を削除します

Lekensteynによるコメントのドキュメント:


+1も同様の答えを書き込もうとしていました。ドキュメント:debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html。依存関係を強調する必要があります。例:削除するphp5と、削除もphpmyadmin行われます(他のPHP SAPIがない場合)。aptこれは処理dpkgできますが、それ自体は実行できません。
Lekensteyn 2012

優れたlekensteyn。まだ探していました(依存関係が私を悩ませていました)。:)に追加しました:D
Rinzwind

それは問題ありdpkgsudo apt-get install -fdpkg
ません

アドバイスありがとうございました。それでsudo apt-get install -f phpmyadmin、依存関係が削除されたことを確認するために私の場合はどうしますか?依存関係が共有されている場合はどうなりますか?
Houman、2012年

手動でインストールされていない@Kaveの依存関係は、それらに依存するインストールされているパッケージがない場合に削除されます。
nanofarad 2012年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.