How to update software on linux (Debian)

5,517

Solution 1

The Debian distribution does not focus on always having the absolutely newest versions in the repository, especially for the stable and testing suites. You can pull individual packages from unstable if you are willing to take the risk of untested software:

apt-get install -t unstable transmission

This requires you to have unstable in your sources.list.

Solution 2

To add some explanations to thitons answer: Debian policy is to provide a well tested stable distribution, in which all different components and bits and pieces work well together, in a predictable way. There is nothing as annoying as having a behavior of an important piece of software change in a subtle non-obvious way the day when you are rushing a deadline, just because the software was upgraded to its latest version overnight. For that and other reasons Debian does not keep up with the "upstream" newest version or programs. Once a distribution is released, the software is kept at the same version, and only security bugfixes are released. When the next version of Debian is released, a new, well tested combination of newer versions of software can be installed. That policy is what makes Debian so strong.

Together with the "stable", or official, distribution, Debian maintains several other distributions: testing, unstable and experimental. The main purpose is to allow volunteers to test new versions of packages and how they work together, in order to prepare the next stable version. Many people, however, successfully use the testing distribution in their daily work. If you do that, you get regularly updated versions of software (they may still be little bit behind the actual newest version of the software, as it takes some time to package the software for Debian). On the other hand, you risk occasional unstability and possible unpleasant surprises, when things suddenly stop working the way they did before, because a new version of some package was added to the testing distribution. You can somehow mitigate this by only installing some individual packages from the testing, unstable or experimental distributions, which is what thiton suggests. You may want to read this webpage on pinning.

Another possibility, if you want to use the newest version of some software, is to manually compile it yourself, and install it in the /usr/local/ directory tree. The official package manager will not touch anything in /usr/local/, so your manually installed software will not get overwritten by the official version when you update your system. On the other hand, you will then have to assume responsibility for keeping your locally installed software up to date.

Share:
5,517

Related videos on Youtube

user1089548
Author by

user1089548

Updated on September 18, 2022

Comments

  • user1089548
    user1089548 over 1 year

    I noticed that I have lots of programs on my Debian 6.0.3 that need to be update. Eg. I go to the official page of the program eg. transmission bittorent client and I see the newest version is 2.4 and mine is 2.0. and the same case about other programs.

    I ran both apt-get update , apt-get upgrade and nothing happens they are still old versions

    Thanks for any help ;)

  • user1089548
    user1089548 over 12 years
    I run this with unstable repository in sources.list but I get this error The following packages have unmet dependencies: libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed E: Broken packages, what's the command to install all dependencies for program you want, I forgot it ;)
  • user1089548
    user1089548 over 12 years
    thanks a lot for this, it gives great overview how stuff work, and I think I will do installing in /usr/local seems like nice way, if what I want to do here fails