Я установил несколько пакетов с 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. Может быть, я не прав. Можете ли вы мне помочь исправить эту проблему.
Извините за мой плохой английский. (Мой родной язык не английский). Спасибо за ваше время.
Хотелось бы, чтобы мы жили в лучшем мире, и чтобы все использовали программное обеспечение с открытым исходным кодом.
решение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".