在我看来,Mono 是一个专利陷阱,我不希望我选择的发行版受到任何 Mono 或任何需要 Mono 的应用程序的污染。因此,我欢迎您提供以下反馈:
如何从一开始就阻止安装任何 Mono 和需要 Mono 的应用程序。有没有办法在安装过程中强制禁用 Mono?
如何查明我当前的默认安装中是否安装了 Mono?
如果Mono已经安装,如何删除Mono以及所有需要Mono的应用程序?
希望通过您的反馈,我可以确保我的所有内容都是真正免费的。
答案1
免责声明:我提供这个答案是因为我相信您应该控制系统上的软件包,而不是引发单一仇恨的激烈战争。自从我发表第一篇文章以来,这个问题也被大量编辑。
删除单声道
要完全删除 Mono,您所要做的就是删除基本 Mono 库,并且依赖于这些库的所有文件也将被删除。需要删除的确切软件包集取决于您使用的 Ubuntu 版本。我相信您应该能够使用以下命令删除大部分单声道(更新:我更新了命令以更好地确保所有内容都被删除。):
$ sudo apt-get purge libmono* cli-common mono-runtime
该命令应列出所有将被删除的软件包(包括依赖于 mono 的应用程序),并要求您确认它们的删除。在接受更改之前,您应该仔细查看该列表,并确保不会删除您需要的内容。您可能想跟进:
$ sudo apt-get autoremove
如果您更熟悉 GUI 工具,您也可以在 Synaptic 中执行此操作:
- 更改为“已安装”过滤器。
- 使用快速搜索框并搜索“libmono”。
- 选择结果中显示的所有包。
- 将它们标记为完全删除。
- 对上述命令中的其他包重复步骤 2-4。
- 按应用。
让 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
。简而言之,负优先级会阻止安装该版本的软件包。
其他注意事项
如果您非常关心非自由软件,您可能会发现有效值兴趣包。它列出了系统上的非免费软件包。它不会列出单声道软件包,因为专利问题与免费软件是正交的,至少根据“免费”的某些定义是这样。另外,如果您要列出所有具有潜在专利问题的软件包,则必须列出大量软件包。