Я установил некоторые пакеты с помощью 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. Возможно я не прав. Можете ли вы помочь мне решить эту проблему.

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

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

2 ответа2

1

Для установки вы используете имя файла. Например, "foo-1.2-x86_64.rpm." Для удаления (или запроса) вы используете имя пакета, например, "foo" или "foo-1.2-x86_64". Т.е. без этого суффикса ".rpm".

0

Чтобы удалить только что установленные пакеты, вам нужны имена пакетов, а не имена файлов. Обычно (не всегда) вы можете получить это, удалив суффикс ".rpm" из каждого, например,

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

Удаление пакетов с помощью dnf предпочтительнее, чем использование rpm напрямую, так как зависимости принимаются во внимание.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .