特定のリポジトリですべてのパッケージをクリーンアップして削除するaptコマンドは何ですか?

特定のリポジトリですべてのパッケージをクリーンアップして削除するaptコマンドは何ですか?

私はMateのカスタムバージョンをデスクトップ環境として使用するUbuntu 16.04のバリエーションであるTrisquel 7を使用しています。

https://deb.nodesource.com/node_8.xハッカートンで使用されるいくつかのnpmエントリをインストールするためのリポジトリ。これらの項目は必要なくなり、このリポジトリからインストールされているすべてのパッケージを削除したいと思います。しかし、どのパッケージをインストールしたのか覚えていません。

システムのすべてのリポジトリにインストールされているパッケージのリストを示すSynapticの「Origin」タブを試しました。ただし、何らかの理由でdeb.nodesourceリポジトリはそこに表示されません(他のすべてのデフォルトリポジトリと追加されたリポジトリがあります)。

私の質問は次のとおりです。 1) リポジトリを削除すると、そのリポジトリにインストールされているすべてのパッケージが自動的に削除されますか? 2)そうでない場合は、リポジトリからインストールされているすべてのパッケージを削除してどのように削除できますか?

TrisquelのMate GUIはUbuntuのデフォルトのデスクトップGUIとは非常に異なるため、コマンドラインの回答を好みます。

ベストアンサー1

リポジトリを削除しても、リポジトリにインストールされたパッケージは削除されません。特定のリポジトリからパッケージを削除するには、次の手順を実行する必要があります。今後リポジトリ自体を削除します。

システムは、パッケージがどこにインストールされたかを覚えておらず、現在のパッケージが利用可能な場所だけを知っています。したがって、1つの可能なアプローチは次のとおりです。

  • aptitudeまだインストールされていない場合はインストールしてください。
  • 削除するリポジトリで利用可能なすべてのインストール済みパッケージを一覧表示します(一部のバージョンの場合)。

    aptitude search '~O"Node Source" ~i'
    
  • 返された各パッケージにどのバージョンがインストールされているかを確認し、削除するリポジトリからどのバージョンがインストールされているかを確認します。

    apt policy nodejs
    
  • リポジトリ定義を削除します。

  • 上記のパッケージを削除します。

別の方法は、以下を使用してリポジトリを削除し、一致しなくなったリポジトリのパッケージを一覧表示することですapt-show-versions。これにより、「アーカイブで利用可能なバージョンはありません」(設定されたリポジトリで)または「アーカイブにあるより多くのパッケージが一覧表示されます。」および/またはダウングレードできます。

おすすめ記事