为什么 apt-get purge 要删除不匹配的软件包

为什么 apt-get purge 要删除不匹配的软件包

我猜这全都与依赖管理有关,但需要确定。我的情况:

sudo apt-get purge nvidia*

以下软件包将被删除:nvidia-352* nvidia-cg-dev* nvidia-cg-toolkit* nvidia-opencl-icd-352* nvidia-prime* nvidia-settings* retroarch*

我的反应是,嘿,别管我retroarch。有什么办法可以避免这种情况,或者顺其自然,retroarch然后重新安装。

答案1

retroarch取决于,nvidia-cg-toolkit因此如果你删除,它也会被删除nvidia-cg-toolkit

顺便说一句,sudo apt-get purge nvidia*很可能不会实现您想要的效果:

首先,shell 将尝试展开nvidia*。因此,如果您当前文件夹中有一个名为的文件,nvidia.txt则 shell 将实际运行

sudo apt-get purge nvidia.txt

如果 shell 无法展开,nvidia* apt-get则会将其解释为正则表达式(不是 shell 模式!),意思是“nvidi后面跟着零个或多个a”,然后搜索名称中包含匹配子字符串的包。也就是说,apt-get将清除名称中包含nvidi(没有a因为“零个或多个”中的“零”)的所有包。

更好地利用

sudo apt-get purge 'nvidia.*'

对于所有包含nvidia

sudo apt-get purge '^nvidia.*'

如果你想删除所有以 开头的包nvidia

相关内容