Не удалось стереть все пакеты rpm с помощью «dnf erase * -. Rpm и rpm -e * .rpm»

567
Mustafa Sarialp

Я установил несколько пакетов с rpm -i *.rpmиdnf install *.rpm

Но я не смог стереть все эти пакеты, которые я установил с помощью dnf -i * .rpm, rpm -i * .rpm, но я хочу стереть их с помощью rpm -e *.rpmиdnf 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. 

Я хочу узнать, как я могу стереть эти пакеты, не стирая только один за другим. Я хочу просто стереть эти пакеты немедленно, используя * .rpm.

Я попытался установить только один пакет снова, он закончил, и я попытался стереть этот пакет, и он закончил.

Я просто хочу стереть все пакеты одной командой rpm -i *

Можете ли вы помочь мне, где не так с командой в Bash. Возможно я не прав. Можете ли вы помочь мне решить эту проблему.

Извините за мой плохой английский. (Мой родной язык не английский). Спасибо за ваше время.

Я бы хотел, чтобы мы жили в лучшем мире, как все используют программное обеспечение с открытым исходным кодом.

0

2 ответа на вопрос

1
msuchy

For installing you use file name. E.g "foo-1.2-x86_64.rpm." For removing (or quering) you use package name E.g. "foo" or "foo-1.2-x86_64". I.e. without that ".rpm" suffix.

0
Thomas Dickey

To remove the packages which you just installed, you need the package names, not the names of the files. Usually (not always) you can get this by stripping the ".rpm" suffix from each, e.g.,

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

Removing packages with dnf is preferable to using rpm directly, since dependencies are taken into account.

Похожие вопросы