如何在Debian上启用非免费软件包?


47

如何在Debian上启用非免费软件包?我想安装Sun的Java JDK,但它对我不可用。

Answers:


49

打开/etc/apt/sources.list,您应该会看到类似以下的行(URL可能会有所不同):

deb http://http.us.debian.org/debian stable main contrib

只需将non-free您想要使用的URL 添加到相应的URL,即:

 deb http://http.us.debian.org/debian stable main contrib non-free

运行apt-get update将使用软件包列表更新您的本地存储库。


19

如果您只想要一些非常免费的非免费软件包(例如,用于您的硬件的固件),也可以对此加以限制

为此,请/etc/apt/sources.list按照@Andrew M的说明进行操作。然后,使用Apt Pinning默认禁用当前版本的所有非免费软件包:

创建名为的文件,/etc/apt/preferences.d/non-free_policy其中包含以下指令:

Explanation: Disable packages from non-free tree by default
Package: *
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: -1

现在,为要从非免费软件包中获取的特定软件包创建另一个文件。
假设您要添加无线网卡的英特尔驱动程序(例如,软件包firmware-iwlwifi)。使用以下行
创建文件名/etc/apt/preferences.d/firmware-iwlwifi_nonfree

Explanation: Enable package firmware-iwlwifi from non-free tree
Package: firmware-iwlwifi
Pin: release o=Debian,a=stable,l=Debian,c=non-free
Pin-Priority: 600

这种配置避免了使用这些烦人的非免费软件包使您的软件包package肿;)


3
有关此处的apt固定的更多信息:wiki.debian.org/AptPreferences
jopasserat

1
什么是oal,和c指的是在Pin:指导,以及如何添加多个包?
MattBianco

来源,存档,标签和组件。有关更多详细信息,请查看手册页manpages.debian.org/jessie/apt/apt_preferences.5.en.html
jopasserat

7

如果您想为所有来源提供非免费软件包,请使用@Andrew M.答案的命令行方法:

sudo apt-add-repository non-free
sudo apt-get update

答案受以下因素启发:https : //askubuntu.com/a/553847/67211


这给了我一个错误apt-add-repository: not found
Chris Stryczynski

@ChrisStryczynski,安装可选软件包software-properties-common以获取该工具。
卢卡斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.