我认为Mono是专利陷阱,我不希望任何Mono或需要Mono的应用程序污染我的选择发行。因此,欢迎您提出以下意见:
首先如何防止Mono和需要Mono的应用程序被安装。有没有办法在安装过程中强制禁用Mono?
如何确定当前的默认安装中是否安装了Mono?
如果已经安装了Mono,如何删除Mono和所有需要Mono的应用程序?
希望有您的反馈,我可以确保我的所有工作都是真正的自由。
我认为Mono是专利陷阱,我不希望任何Mono或需要Mono的应用程序污染我的选择发行。因此,欢迎您提出以下意见:
首先如何防止Mono和需要Mono的应用程序被安装。有没有办法在安装过程中强制禁用Mono?
如何确定当前的默认安装中是否安装了Mono?
如果已经安装了Mono,如何删除Mono和所有需要Mono的应用程序?
希望有您的反馈,我可以确保我的所有工作都是真正的自由。
Answers:
免责声明:之所以提供此答案,是因为我相信您应该控制系统上的程序包-而不要引起单身的火焰大战。自从我的第一篇文章以来,这个问题也被大量编辑。
要完全删除Mono,您要做的就是删除基本Mono库,所有依赖于这些库的文件也将被删除。根据要使用的Ubuntu版本,需要删除的确切软件包集会有所不同。我相信您应该可以使用以下命令删除大多数mono(更新:我已经更新了该命令,以确保删除所有内容。):
$ sudo apt-get purge libmono* cli-common mono-runtime
该命令应列出将要删除的所有软件包(包括依赖于mono的应用程序),并要求您确认将其删除。在接受更改之前,您应该仔细查看列表,并确保不会删除需要的内容。您可能想通过以下方法跟进:
$ sudo apt-get autoremove
如果您更熟悉GUI工具,也可以在Synaptic中执行以下操作:
虽然曾经有一个名为mononono的软件包可以防止在系统上安装mono,但我认为该软件包不能与Ubuntu的最新版本很好地配合使用。如果您真正想让Mono脱离您的系统,那么我将仔细查看您安装的软件的详细信息,并确保您不会在Mono库中看到它。
一种更自动的方法是使用apt-preferences。将以下内容放入/etc/apt/preferences
文件内或文件中/etc/apt/preferences.d/
应该可以相对较好地防御在系统上安装mono:
Package: cli-common mono-runtime
Pin: version *
Pin-Priority: -100
有关此工作原理的更多信息,请参见man apt_preferences
。简短的版本是,负优先级会阻止安装该版本的软件包。
如果您非常关注非自由软件,则可以找到感兴趣的vrms软件包。它列出了系统上的非免费软件包。它不会列出单声道软件包,因为专利问题至少与“免费”的某些定义正交于免费软件。另外,如果要列出所有存在潜在专利问题的软件包,则必须列出很多软件包。
apt --fix-broken install
也无法正常工作。因此,我目前在这个问题上处于死胡同,并且可能被迫彻底破坏我的操作系统,而不是成为Linux专家。