卸载最近的 Cygwin 包及其引入的所有新依赖项?

卸载最近的 Cygwin 包及其引入的所有新依赖项?

我曾见过这样的情况:从 Cygwin 中删除不需要的依赖项... 但似乎该脚本仅建议识别其他软件包不依赖的软件包:这使它成为一个非常聪明的脚本,但可能并不是您所需要的全部... 并且(在我看来)它将涉及手动删除软件包,可能分为几个阶段(因为每次删除都可能发现需要删除的其他软件包)。此外,我只是想知道 Cygwin 中是否存在更优雅的解决方案。

我犯了一个错误,在安装之前没有先复制我的 Cygwin 目录make。我安装它只是因为我想做一个特定的小实验。

make当然导致整个 C 语言的安装...使我的 Cygwin 设置的大小增加了 1.5 GB!

卸载make(惊喜!)只是卸载了下面奶油山上的樱桃。我意识到卸载所需的每个依赖项make无疑会破坏我需要的一切……但 Cygwin 是否有可能保留一些“日志”,记录安装了什么、何时安装,甚至可能为什么安装……?然后是否有某种机制可以撤消最近的安装操作?

之后

在 David Posthill 有益地揭露了存在日志之后,不幸的是,这揭示了额外的依赖复杂性:准确识别必须删除的内容。

人们真正需要的是一个实用程序来生成已安装依赖项的 DAG,大概结合何时安装的内容和原因的时间顺序......以及一个实用程序来执行所有检查和删除工作!

这对我来说有点令人惊讶,因为,如果我错了请纠正我,Linux 包管理器确实能够做到这种事情:你安装一个高级包……当你卸载它时,它也会删除所有之前不存在的依赖项,并且后续安装的包也不需要这些依赖项……似乎 Cygwin 不存在这样的机制。

相关内容