Jak włączyć niewolne pakiety w Debianie?

47

Jak mogę włączyć niewolne pakiety w Debianie? Chcę zainstalować Java JDK firmy Sun, ale nie jest ona dla mnie dostępna.

Quiffner
źródło

Odpowiedzi:

49

Otwórz /etc/apt/sources.listi powinieneś zobaczyć następujące wiersze (adresy URL prawdopodobnie będą się różnić):

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

Po prostu dodaj non-freedo odpowiednich adresów URL, których chcesz użyć, tj .:

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

Uruchomienie apt-get updatezaktualizuje Twoje lokalne repozytorium o listę pakietów.

Andrew M.
źródło
19

Możesz także trochę to ograniczyć, jeśli chcesz tylko niektóre bardzo specyficzne pakiety z non-free (na przykład oprogramowanie układowe dla twojego sprzętu).

Aby to zrobić, zachowaj swój /etc/apt/sources.listopis zgodnie z opisem @Andrew M. Następnie użyj Apt Pinning, aby domyślnie wyłączyć wszystkie niewolne pakiety dla bieżącej wersji:

Utwórz plik o nazwie /etc/apt/preferences.d/non-free_policyzawierający następujące dyrektywy:

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

Teraz utwórz kolejny plik dla konkretnego pakietu, który chcesz uzyskać z non-free.
Załóżmy, że chcesz na przykład dodać sterowniki Intel do kart bezprzewodowych (pakiet firmware-iwlwifi ).
Utwórz nazwę pliku za /etc/apt/preferences.d/firmware-iwlwifi_nonfreepomocą następujących linii:

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

Ta konfiguracja pozwala uniknąć nadmuchiwania pakietu tymi irytującymi niewolnymi pakietami ;)

jopasserat
źródło
3
Więcej informacji na temat apt przypinania tutaj: wiki.debian.org/AptPreferences
jopasserat
1
Co oznacza o, a, l, a cśredni w Pin:dyrektywie, i jak wielu pakietów dodana?
MattBianco,
pochodzenie, archiwum, etykieta i komponent. sprawdź stronę podręcznika,
manpages.debian.org/jessie/apt/apt_preferences.5.en.html
7

Metoda wiersza poleceń dla odpowiedzi @Andrew M., jeśli chcesz otrzymać niewolny pakiet dla wszystkich źródeł:

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

Odpowiedź inspirowana przez: https://askubuntu.com/a/553847/67211

Lucas
źródło
Daje mi to błądapt-add-repository: not found
Chris Stryczyński
@ChrisStryczynski, zainstaluj opcjonalny pakiet, software-properties-commonaby uzyskać to narzędzie.
Lucas