GNU/Linux Debian Bookworm Adding Non Free Repo Guide
Hi! The Tutorial shows you Step-by-Step How to Add Non Free Repository in Debian 12 Bookworm GNU/Linux Based OSes.
Especially relevant: this Guide Show How to Properly Add Debian Bookworm Non-free Repo to install just the Needed Software and then Preserving the Free Nature of System!
The Repos Features are:
- Non-free includes Packages whose Licences are not free
- Contrib the Dependencies of non-free Packages (which make them not part of Default Repos)
1. Launching Terminal
How to QuickStart with Command Line on Debian GNU/Linux
2. Adding Non-free Repo
Then to Add Non Free Repository in Debian
Simply run:sudo apt-add-repository non-free
Again you may need enabled also the Contrib one, so play:sudo apt-add-repository contrib
Last, Refresh the Apt Sources with:sudo apt update
3. Preserving Debian Free System
(Optional) This if you want to Preserve the Valuable Free Nature of Debian System.
To do so you have to strictly Allowing only the Installation of Some Non-free Package with an Apt Pinning.
First, Disable All Non free Software with this content:Explanation: Disable packages from non-free tree by default Package: * Pin: release o=Debian,a=stable,l=Debian,c=non-free Pin-Priority: -1
To Make it at once execute:sudo echo -e "Explanation: Disable packages from non-free tree by default Package: * Pin: release o=Debian,a=stable,l=Debian,c=non-free Pin-Priority: -1" > /etc/apt/preferences.d/non-free_policy
And then Enable the Software of Choice, E.g. firmware-iwlwifi: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: 120
Again with a simple echo:)sudo echo -e "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: 120" > /etc/apt/preferences.d/firmware-iwlwifi_non-free
But to enable Multiple packages at once proceed like that:Explanation: Enable package firmware-iwlwifi nvidia-driver from non-free tree Package: firmware-iwlwifi nvidia-driver Pin: release o=Debian,a=stable,l=Debian,c=non-free Pin-Priority: 120
Again translated in a Command like:sudo echo -e "Explanation: Enable package firmware-iwlwifi nvidia-driver from non-free tree Package: firmware-iwlwifi nvidia-driver Pin: release o=Debian,a=stable,l=Debian,c=non-free Pin-Priority: 120" > /etc/apt/preferences.d/enabled-packages_non-free
The only drawback of the procedure is that you have to repeat it every time you need some new Non-free software…
For further instructions see: Advanced Apt Pinning Techniques.