¿Cómo habilito paquetes no libres en Debian?

47

¿Cómo puedo habilitar paquetes no gratuitos en Debian? Quiero instalar Java JDK de Sun pero no está disponible para mí.

Quiffner
fuente

Respuestas:

50

Abra /etc/apt/sources.list, y debería ver líneas como las siguientes (es probable que las URL varíen):

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

Simplemente agregue non-freea las URL respectivas que desea utilizar, es decir:

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

La ejecución apt-get updateactualizará su repositorio local con la lista de paquetes.

Andrew M.
fuente
20

También puede restringir esto un poco si solo desea algunos paquetes muy específicos de no libres (por ejemplo, firmware para su hardware).

Para hacerlo, mantenga su /etc/apt/sources.listtal como lo describe @Andrew M. Luego, use Apt Pinning para deshabilitar de manera predeterminada todos los paquetes no libres para su versión actual:

Cree un archivo llamado que /etc/apt/preferences.d/non-free_policycontenga las siguientes directivas:

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

Ahora, cree otro archivo para el paquete específico que desea obtener de forma no gratuita.
Supongamos que desea agregar los controladores Intel para tarjetas inalámbricas, por ejemplo (paquete firmware-iwlwifi ).
Cree un nombre de archivo /etc/apt/preferences.d/firmware-iwlwifi_nonfreecon estas líneas:

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

Esta configuración evita inflar su paquete con estos molestos paquetes no libres ;)

jopasserat
fuente
3
Más información sobre la fijación de apt aquí: wiki.debian.org/AptPreferences
jopasserat
1
Lo que hace el o, a, l, y cmedia en la Pin:Directiva, y cómo se añaden múltiples paquetes?
MattBianco
origen, archivo, etiqueta y componente. consulte la página de manual para obtener más detalles manpages.debian.org/jessie/apt/apt_preferences.5.en.html
jopasserat
7

Método de línea de comando para la respuesta de @Andrew M. si desea un paquete no libre para todas las fuentes:

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

Respuesta inspirada por: https://askubuntu.com/a/553847/67211

Lucas
fuente
Esto me da un error deapt-add-repository: not found
Chris Stryczynski
@ChrisStryczynski, instale el paquete opcional software-properties-commonpara obtener esa herramienta.
Lucas