Can I use every .deb file, whatever my Ubuntu version or architecture?
Solution 1:
I encountered the following two errors when trying to install .deb files:
- Wrong architecture
- Unmet dependencies
So no, sometimes if you want to install a Jaunty Package in Maverick (for example) it won't install, because it depends on an OLDER Version of a package than the Version available in Maverick. (however, there are tools to change dependecies-list within a deb file...)
I don't know about the architecture problem, as normally a 64-bit system should support 32bit binaries (however, I don't think it works the other way around)
Solution 2:
For cases where a software publisher provides deb files for their own software as downloads on their website, usually you see one of these two things:
- The downloads page has a separate deb file for each release of Ubuntu (or possibly Debian). If you use one of the many derivative distributions of Ubuntu (or Debian), you'll need to figure out which Ubuntu or Debian version yours is based on.
- There is only a single deb file for download. This file will typically be crafted to work on all recent versions of Ubuntu or Debian. It may do this by including specific versions of all of the libraries that the program needs in the deb, instead of using the system libraries, whose versions will be different in each Ubuntu release.'
Either way, you're ok as long as you have a recent release of Ubuntu.
This does not mean that you can install any deb file that you just found on the internet somewhere. As long as you use GDebi or Software Center to install the deb, it should prevent you from installing deb packages that are not compatible with your version of Ubuntu.
Solution 3:
There is no problem in installing .deb files that are not made directly for a specific Ubuntu version, however there can be some dependencies there can't be satisfied.
Architecture on the other hand can be problematic. x86-64 machines can run x86-32 binaries but not the other way around. The package manager will not let you install packages of the wrong architecture unless you force it.
dpkg -i --force-architecture file.deb
I can't recommend that you do this though.