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

Mon*_*rap 14 mono ubuntu

在我看来 Mono 是一个专利陷阱,我不希望我的发行版受到任何 Mono 或任何需要 Mono 的应用程序的影响。因此,我欢迎您对以下内容提出反馈意见:

  1. 如何首先防止安装需要 Mono 的任何 Mono 和应用程序。有没有办法在安装过程中强制禁用 Mono?

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

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

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

Ste*_*n D 25

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

删除单声道

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

$ sudo apt-get purge libmono* cli-common mono-runtime
Run Code Online (Sandbox Code Playgroud)

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

 $ sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

如果您更习惯使用 GUI 工具,也可以在 Synaptic 中执行此操作:

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

使单声道远离您的系统

虽然曾经有一个名为mononono的包会阻止 mono 安装在系统上,但我认为这个包不适用于最新版本的 Ubuntu。如果你真的关心让单声道远离你的系统,我只会仔细查看你安装的软件的细节,并确保你没有看到它拉入了单声道库。

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

Package: cli-common mono-runtime 
Pin: version * 
Pin-Priority: -100
Run Code Online (Sandbox Code Playgroud)

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

其他注意事项

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

  • 反对者应该注意,我刚刚回答了用户的问题,并没有打算支持或反对单声道。如果你认为这个答案是错误的(可能是,我只是一个快乐的单声道用户,而不是专家),那么也许你自己的评论或答案是有道理的。 (4认同)