shell 使用make命令编译时排除程序功能

xfyts7mz  于 2023-08-07  发布在  Shell
关注(0)|答案(1)|浏览(112)

我尝试在基于Debian的系统上使用Gentoo Linux的USE标志功能。在我用apt-get source获得源代码后,我想给予一个环境变量,它排除了编译程序中一些不需要的功能,比如在Gentoo Linux中定义USE="-foo -bar”。
是否可以通过apt-get source下载每个包(因为我打算自动化一些东西,而不仅仅是一个包),或者这是Gentoo特有的功能?

jw5wzhpr

jw5wzhpr1#

Gentoo与Debian及其衍生产品非常不同。Gentoo的一个显著特点是它的包管理器Portage对它安装的每个包执行自定义的本地构建。USE是Portage的一个特性,只有在类似的环境中才有意义,因为它会影响那些本地构建。
另一方面,Debian的软件包管理系统Apt是围绕安装预构建的二进制软件包而组织的。使用在那里没有意义,因为预构建包排除了由本地设置调制的那些包。使用这种包管理方法的系统要么在Linux发行版级别预先选择包选项,要么将可选功能拆分到自己的包中。一般来说,它们还具有依赖项管理特性,以帮助避免在安装软件包时丢失依赖项。
是否可以通过apt-get source下载每个包[...],或者这是Gentoo特有的功能?
USE是Portage特有的。这与特定于Gentoo(其他Linux发行版也使用它)并不相同,但这确实意味着它不是Debian的功能。在Debian上,我建议您通过apt install/apt upgrade使用发行版的标准(二进制)包,而不是下载源代码并在本地构建。这将更快,更容易,更可靠,并且它也将提供更好的系统稳定性。

相关问题