On a computer running “stable” Debian, when trying to install a package which is in the unstable list on the Debian web site using the aptitude install <package>/unstable command, I get output similar to this:
Couldn't find any package whose name or description matched "<package>" Couldn't find any package whose name or description matched "<package>" No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 0 B will be used.
What can I do to be able to install “unstable” packages? (I thought of adding the repository to sources.list, but I don’t want everything to start being installed from “unstable”).
So: how can I install unstable packages (with using /stable at the end of the package name)?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
You do need to have unstable listed in your sources.list. Otherwise apt just won’t find the package.
To avoid unstable packages being pulled in, you have two ways.
-
The easy way is to add a
Default-Releaseclause to/etc/apt/apt.conf(or to a file under/etc/apt/apt.conf.d/, e.g./etc/apt/apt.conf.d/my-default-release).APT::Default-Release "stable";
-
The hard way is to use APT preferences. In
/etc/apt/preferences:Package: * Pin: release o=Debian,a=unstable Pin-Priority: 10
Note that for most of the lifetime of a Debian release, it’s not practical to install most packages from unstable on a stable system, because they’ll pull in a lot of libraries from unstable, and you’ll end up with an unstable system. If you want to run unstable, it’ll save you trouble to just target unstable (or testing). It’s best to stick to a single release, or testing with the occasional unstable if you’re feeling daring. And of course, on a production system, stick to stable.
If you’re running stable but you need a newer version of one application, first look if there is a backport for them. Otherwise, if you want to install a package from unstable but not have to pull in its dependencies, try getting the source from unstable and recompiling.
apt-get source foo=1.42 apt-get build-dep foo # pulls the dependencies of foo in stable but that's often good enough dpkg-source -x foo_1.42.dsc cd foo-1.4210126#10126 dpkg-buildpackage -rfakeroot -us -uc -b -nc dpkg -i ../foo_1.42_$(arch).deb
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0