「dnf delete *-.rpm and rpm -e *.rpm」を使用してもすべての rpm パッケージを消去できませんでした

「dnf delete *-.rpm and rpm -e *.rpm」を使用してもすべての rpm パッケージを消去できませんでした

いくつかのパッケージをインストールしましrpm -i *.rpmdnf install *.rpm

しかし、dnf -i *.rpm、rpm -i *.rpmでインストールしたパッケージをすべて削除することはできませんでしたが、これらを削除したいのですがrpm -e *.rpmdnf remove *.rpm

次のエラーが発生しました:

Error: No packages marked for removal.

rpm -i *.rpmしかし、とを使用してすべてのパッケージを再度削除してインストールしようとしましたdnf install *.rpm。しかし、次のエラーが発生しました:

package somepackage(s).rpm is already installed"

しかし、これらのパッケージを再度削除しようとしましたが、同じエラーが発生しました。

Error: No packages marked for removal.

これらのパッケージを 1 つずつ消去せずに消去する方法を知りたいです。 *.rpm を使用してこれらのパッケージをすぐに消去したいです。

もう一度パッケージを 1 つだけインストールしようとしたところ、完了しました。また、このパッケージを削除しようとしたところ、完了しました。

1つのコマンドですべてのパッケージを消去したいだけですrpm -i *

bash のコマンドのどこが間違っているのか教えていただけますか。私が間違っているのかもしれません。この問題を解決するのを手伝っていただけますか。

私の英語が下手で申し訳ありません。(私の母国語は英語ではありません)。お時間をいただきありがとうございます。

誰もがオープンソース ソフトウェアを使用しているような、より良い世界で暮らせ​​ることを願っています。

答え1

インストールしたパッケージを削除するには、パッケージが必要です名前ファイル名ではありません。通常は(常にではありませんが)、各ファイルから「.rpm」サフィックスを削除することでこれを実現できます。例:

#!/bin/bash
LIST=
for name in *.rpm
do
    LIST="$LIST $(basename $name .rpm)"
done
sudo dnf remove $LIST

依存関係が考慮されるため、直接使用するよりも、を使用してパッケージを削除する方dnfが望ましいです。rpm

答え2

インストールにはファイル名例えば「foo-1.2-x86_64.rpm」。削除(またはクエリ)するには、パッケージ名例えば、「foo」や「foo-1.2-x86_64」など。それなし「.rpm」サフィックスです。

関連情報