無法使用「dnf擦除*-.rpm和rpm -e *.rpm」刪除所有rpm包

無法使用「dnf擦除*-.rpm和rpm -e *.rpm」刪除所有rpm包

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”。 IE沒有那個“.rpm”後綴。

相關內容