Как включить несвободные пакеты в Debian?


47

Как я могу включить несвободные пакеты в Debian? Я хочу установить Java JDK от Sun, но он мне не доступен.

Ответы:


50

Откройте /etc/apt/sources.list, и вы должны увидеть строки, подобные следующим (URL, вероятно, будут отличаться):

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

Просто добавьте non-freeк соответствующим URL, которые вы хотите использовать, то есть:

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

Запуск apt-get updateобновит ваше локальное хранилище с указанием пакета.


20

Вы также можете немного ограничить это, если вы хотите, чтобы некоторые очень специфические пакеты не были бесплатными (например, прошивки для вашего оборудования).

Для этого сохраните, /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

Теперь создайте еще один файл для определенного пакета, который вы хотите получить не бесплатно.
Предположим, вы хотите добавить драйверы Intel для беспроводных карт, например (пакет 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

Эта конфигурация позволяет избежать раздувания вашего пакета этими надоедливыми несвободными пакетами ;)


3
Более подробная информация о точном
jopasserat

1
Что означает o, a, lи cсреднее значение в Pin:директиве, и как будут добавлены несколько пакетов?
MattBianco

Происхождение, архив, метка и компонент. проверьте man-страницу для более подробной информации 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
Крис Стрычински

@ChrisStryczynski, установите дополнительный пакет, software-properties-commonчтобы получить этот инструмент.
Лукас
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.