パッケージを完全に削除するにはどうすればよいですか?


188

octave3.2パッケージのクリーンインストールを実行しようとしています。

これを行うには、私はそれを削除し、それを再インストールしようとしました。

再インストールすると、エラーが発生しました。パッケージのバグかもしれませんが、クリーンインストールを実行できるように、すべてを削除しておく必要があります。

これで十分ですか?

sudo apt-get --purge remove octave3.2

パッケージを再インストールして、パッケージまたは依存関係リストに注意を払うことができますか?
user309924 14

することをお勧め訪問 これを
Pandya

回答:


185

これは、パッケージの削除の影響に関する質問に対する非常に一般的な回答です。状況に応じたアドバイスを得るには、質問を編集して、追加の情報(特に、取得しているエラーメッセージの完全かつ正確なテキスト)を含める必要があります。

またはを使用してパッケージを削除すると、それらとすべてのグローバル(つまりシステム全体の)構成ファイルが削除されます。これは通常、パッケージを完全に削除することについて話すときの意味です。sudo apt purge ...sudo apt --purge remove ...

ただし、システムがパッケージがインストールされる前と同じというわけではありません。特に:

  • これは、削除するパッケージをインストールしたときに、依存関係としてインストールされたパッケージを削除しません。これらのパッケージは他のパッケージの依存関係ではなく、手動でインストール済みとしてマークしていないと仮定すると、sudo apt autoremoveまたは(システム全体の構成ファイルも削除したい場合)で依存関係を削除できますsudo apt --purge autoremove

  • これは、システム全体ではない構成ファイルを削除しません。具体的には、ユーザー固有の構成は削除されません。

    • .configパッケージが提供するソフトウェアによって作成された、ユーザーのホームディレクトリ(またはホームディレクトリのサブディレクトリ)にある構成ファイルとディレクトリは削除されません。

      • これらのファイル/フォルダーがに保存されていない場合.config、通常は.自分自身で始まります。どちらの方法でもls-aor -Aフラグを使用してそれらを表示できます。また、Ctrl+ を押すHか、[表示] > [ 隠しファイル表示]を選択すると、Nautilusおよびその他のほとんどのファイルブラウザー/マネージャーで表示できます
    • 既存のユーザー固有の構成ファイルに加えられた変更を元に戻しません。

    • 新しいキーgconfdconfキーを削除しgconfたり、dconf設定の変更を元に戻したりしません。

  • 使用purgeまたは--purge remove代わりにremove、ユーザが他のパッケージによって提供されるか、または手動で作成した既存のシステム全体の構成ファイルへの変更を逆にしません。しかし、時には、このような変更は、パッケージをアンインストールすることにより、取り消され(かどうか、それだpurgeというよりもremove)。


61

次のコマンドを使用します。

sudo apt-get purge --auto-remove packagename

必要なパッケージと、それらのパッケージと共にインストールされる依存関係を削除します。この--auto-removeオプションは、と同様に機能しsudo apt-get autoremoveます。


1
これにより、特にcertbotの
T.Todua

7

最初に、削除するパッケージの名前を確認します。

dpkg --list

次に、指定されたパッケージを削除します

sudo apt-get remove package_name

関連するコードを削除する

sudo apt-get purge package_name

その後、自動削除

sudo apt-get autoremove

最後に、すべてが正しく削除されていることを確認するために、きれいにします

sudo apt-get clean

パッケージリストで、削除したいパッケージがもうリストされていないかどうかを確認しますが、オプションです。

ごきげんよう、


4

インストール中に、追加の依存関係パッケージを追跡しやすくします。

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

元のパッケージのみを削除すると、依存関係パッケージが残る場合があります。

だから、あなたは手動でそれぞれを削除する必要があります

apt-get purge package_name

1
コンソールが十分に上にスクロールしない場合、これらのパッケージのリストを取得するにはどうすればよいですか
ルークテイラー

@LukeTaylor apt-get install package_name > output その後 less output 、スクロールしてすべての出力を表示します。
ハリクリシュナン

2

自動インストールされた依存パッケージを手動で削除する代わりに、代わりに次を使用します。

 zanfilip @ zanfilip-VPCEB3L0E:〜/ jp / eclipse $ sudo apt-get --purge autoremove
    パッケージリストを読み込んでいます...完了
    依存ツリーの構築       
    状態情報を読み込んでいます...完了
    次のパッケージは削除されます
      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、新しくインストールする場合は0、削除する場合は5、アップグレードしない場合は23。
    この操作の後、279 MBのディスク容量が解放されます。
    続けたいですか?[Y / n]


2

いくつかの重要なパッケージを削除する場合は、次のコマンドを使用できます。

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

「-y」スイッチを忘れないでください。さもないと、apt-getが個々のパッケージの削除について尋ね続け、何も削除されません。


2
これは便利かもしれませんが、破壊的かもしれません:本当に削除したくないパッケージに簡単にマッチし、確認なしでその設定を削除できます!幸いなことに、パッケージ名にはスペースが含まれないため、向きを変えて-y:をドロップできますapt-get --purge autoremove $(dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}')。それはいくらか安全です。
joeytwiddle

次のようにコマンドを実行する方が安全かもしれません:dpkg --get-selections | grep PACKAGE_NAME | awk '{print $ 1}'最初にxargsを使用して実行することをお勧めします。これにより、コマンドの結果として削除される内容がユーザーに表示されます。
ケレムエルソイ

0

別のオプションとして、debfosterパッケージの使用があります。これにより、依存パッケージとともに、削除(およびパージ)するパッケージが対話的に検索および提案されます。

sudo apt install debfoster
sudo debfoster
# and optionally remove debfoster too
sudo purge debfoster
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.