zypperを使用して、特定のリポジトリからインストールされたすべてのパッケージを削除するにはどうすればよいですか?


10

を使用してリポジトリを追加したとしましょうzypper ar。次に、そのリポジトリから複数のパッケージをインストールしましたが、今はそれらをすべて削除したいと思います。

特定のリポジトリからインストールしたすべてのパッケージを削除できるコマンドはありますか?

回答:


7

そのような命令はないと思います。特定のリポジトリからパッケージを一覧表示できます。

zypper search --installed-only --repo devel:tools

リポジトリをすでに削除している場合は、すべての孤立したパッケージ:

zypper packages --orphaned

次にcut、出力から名前をパッケージ化してzypper remove、努力する価値がある場合は、それを渡してみることができます。


私のopenSuSE 12.3システムには--orphanedオプションがありませんが、これは機能する可能性がありますzypper packages -i -R:インストールされたパッケージをリポジトリの逆順で一覧表示します。
Jeroen Wiert Pluimers、2014年

2
--orphanedでzypper 1.9.2(で追加されましたgithub.com/openSUSE/zypper/issues/34
マルチン

1

あなたは、の組み合わせを使用することができzypper searchawkおよびxargsリポジトリからすべてのパッケージを削除します。例えば:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm

awk '/^i(\+|\s)/ {print $3}'インストールされているすべてのパッケージ(iまたはi +)に一致
Mesco

@Mesco zypper自体は、を使用する場合にのみ、インストールされたパッケージを印刷する必要があります--installed
sebix 2018

右、-iまたはを使用し--installed-onlyます。ただし、最初の数行をスキップするために、最初にiとi +を検索しました(Loading repository data...)。最初の5行をスキップするより良い方法があるかもしれませんが、すでに正規表現を使用している場合は;)
Mesco

多分私は別のzypperバージョン(1.14.4)を使用していますが、その男はse [options] [query]あなたの解決策が機能しなかったので注文すべきだと言っています。
メスコ

ああ、今私はあなたの懸念を理解しています。答えを更新しました。検索構文について:オプションのみを使用し、クエリは使用しないため、順序は正しいと思います。
sebix 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.