Debian:将非免费限制为少数固件包

Debian:将非免费限制为少数固件包

我正在运行 Debian 10 (Buster)。我想运行一个 100% 免费的系统。但是,我需要一些非免费的固件包,因为我的硬件不是免费的。

因此,我想安装我的硬件所需的非免费固件包,但仅此而已。这可能意味着我将拥有非免费的硬件和固件,但以上的所有内容都是免费的。

如何为这些软件包启用非免费,但不让软件包管理器告诉我,或安装其他非免费软件包?


我也一直用equivs-controlcreate debs。因此,我的首选答案是如何创建一个取决于所需固件的非免费 deb。然后我可以安装该软件包,它将拉入固件包。然而,其他解决方案也将被接受。

答案1

感谢@StephenKitt,问题/答案如何使用适当的偏好来阻止非免费?和手册中,我发现了如何阻止非免费安装,除了指定的安装。然而,它们仍然列在搜索和 中apper

创建一个文件apt-preferences-non-free-policy请注意它包含我想要/需要的包),内容

#Explanation: don't install non-free, except some firmware

Package: *
Pin: release c=non-free
Pin-Priority: -10

Package: *
Pin: release c=contrib
Pin-Priority: -10

#################################################
#Specify individual packages

Package: intel-microcode
Pin: release c=non-free
Pin-Priority: 101

Package: firmware-iwlwifi
Pin: release c=non-free
Pin-Priority: 101

#This is a dependency of intel-microcode
Package: iucode-tool
Pin: release c=contrib
Pin-Priority: 101

创建文件apt-source-list-non-free.list更改您的发行版/版本),包含

deb http://deb.debian.org/debian/ buster non-free contrib

复制到位

sudo cp -t /etc/apt/preferences.d/ apt-preferences-non-free-policy
sudo cp -t /etc/apt/sources.list.d/ apt-source-list-non-free.list

查看

apt-cache policy

然后安装

sudo apt install intel-microcode firmware-iwlwifi

相关内容