如何永久删除所有 Mono 相关包(库、应用程序等)

如何永久删除所有 Mono 相关包(库、应用程序等)

在我看来,Mono 是一个专利陷阱,我不希望我选择的发行版受到任何 Mono 或任何需要 Mono 的应用程序的污染。因此,我欢迎您提供以下反馈:

  1. 如何从一开始就阻止安装任何 Mono 和需要 Mono 的应用程序。有没有办法在安装过程中强制禁用 Mono?

  2. 如何查明我当前的默认安装中是否安装了 Mono?

  3. 如果Mono已经安装,如何删除Mono以及所有需要Mono的应用程序?

希望通过您的反馈,我可以确保我的所有内容都是真正免费的。

答案1

免责声明:我提供这个答案是因为我相信您应该控制系统上的软件包,而不是引发单一仇恨的激烈战争。自从我发表第一篇文章以来,这个问题也被大量编辑。

删除单声道

要完全删除 Mono,您所要做的就是删除基本 Mono 库,并且依赖于这些库的所有文件也将被删除。需要删除的确切软件包集取决于您使用的 Ubuntu 版本。我相信您应该能够使用以下命令删除大部分单声道(更新:我更新了命令以更好地确保所有内容都被删除。):

$ sudo apt-get purge libmono* cli-common mono-runtime

该命令应列出所有将被删除的软件包(包括依赖于 mono 的应用程序),并要求您确认它们的删除。在接受更改之前,您应该仔细查看该列表,并确保不会删除您需要的内容。您可能想跟进:

 $ sudo apt-get autoremove

如果您更熟悉 GUI 工具,您也可以在 Synaptic 中执行此操作:

  1. 更改为“已安装”过滤器。
  2. 使用快速搜索框并搜索“libmono”。
  3. 选择结果中显示的所有包。
  4. 将它们标记为完全删除。
  5. 对上述命令中的其他包重复步骤 2-4。
  6. 按应用。

让 Mono 远离您的系统

虽然曾经有一个名为莫诺诺这会阻止 mono 安装在系统上,我不相信这个包与最新版本的 Ubuntu 配合得很好。如果您真的关心让单声道远离您的系统,我会仔细查看您所做的软件安装的详细信息,并确保您不会看到它拉入单声道库。

一种更自动化的方法是使用 apt-preferences。将以下内容放入/etc/apt/preferences或放入其中的文件中/etc/apt/preferences.d/应该可以提供相对较好的防御以防止在系统上安装 mono:

Package: cli-common mono-runtime 
Pin: version * 
Pin-Priority: -100

有关其工作原理的更多信息,请参阅man apt_preferences。简而言之,负优先级会阻止安装该版本的软件包。

其他注意事项

如果您非常关心非自由软件,您可能会发现有效值兴趣包。它列出了系统上的非免费软件包。它不会列出单声道软件包,因为专利问题与免费软件是正交的,至少根据“免费”的某些定义是这样。另外,如果您要列出所有具有潜在专利问题的软件包,则必须列出大量软件包。

相关内容