Linux 如何在没有依赖项的情况下从特定repo中删除所有包
我知道下面的代码将从特定的回购中删除所有包Linux 如何在没有依赖项的情况下从特定repo中删除所有包,linux,command-line,centos,repository,centos6.5,Linux,Command Line,Centos,Repository,Centos6.5,我知道下面的代码将从特定的回购中删除所有包 yum remove $(yum list installed | grep rpmforge | awk '{ print $1 }') 下面的代码将删除没有依赖项的包 rpm -e --nodeps "php-sqlite2-5.1.6-200705230937" 但我不知道如何一起使用。请尝试以下命令: rpm -e --nodeps `yum list installed | grep rpmforge | awk '{ print $1
yum remove $(yum list installed | grep rpmforge | awk '{ print $1 }')
下面的代码将删除没有依赖项的包
rpm -e --nodeps "php-sqlite2-5.1.6-200705230937"
但我不知道如何一起使用。请尝试以下命令:
rpm -e --nodeps `yum list installed | grep rpmforge | awk '{ print $1 }'`
打印所有存储库的列表以获取repo id(第一列): 现在删除所选回购的所有包:
# dnf repository-packages <repo-id> remove
#删除dnf存储库包
有关使用特定存储库中的所有软件包进行操作的详细信息,请参见dnf的“存储库软件包”部分。检查以确保仅删除您想要删除的内容。
dnf list installed | grep package_name.i686 | awk '{ print $1 }' | less
实际执行删除操作
sudo rpm -e --nodeps `dnf list installed | grep package_name.i686 | awk '{ print $1 }'`
我喜欢使用yum-y autoremoveyum list installed | grep rpmforge | awk'{print$1}'
注意,这也将卸载从其他repo安装的任何依赖项。您也可以使用awk
进行搜索。例如,yum list installed | awk'($3~“rpmforge”){print$1}{xargs rpm-E--nodeps
yum-y autoremove$(yum list installed | grep ius | awk{print$1}')
对于fyi,当您通过管道输出yum时,它并不总是在一行上打印条目。(多么令人沮丧啊???)如果有一个包的名称很长,来自您感兴趣的回购协议,它可能会在一行上显示包名,然后是换行,然后是版本和回购列。这意味着您对repo名称的grep可能无法捕获关联的包名称,并且您的命令无法工作。没有办法让它工作。要了解我在说什么,请执行“安装了百胜列表|更少”。
sudo rpm -e --nodeps `dnf list installed | grep package_name.i686 | awk '{ print $1 }'`