1

The Linux Mint upgrade instructions begin by saying:

If your version of Linux Mint is still supported, and you are happy with your current system, then you don't need to upgrade.

The situation I sometimes find myself in is that I am happy with my current system, but my version is not supported. In particular, I am leery of doing a giant upgrade that upgrades everything and may disrupt things. But if I don't upgrade, when my version stops being supported, I can no longer install or upgrade individual packages with apt-get.

Upgrade instructions for Ubuntu-based distros (such as these older upgrade instructions for Mint) often say that basically what you do is point APT at the new distro, and then upgrade your packages using upgrade or dist-upgrade.

What I'm wondering is, is it possible to "update" my system in the sense of making new packages (or new versions of existing packages) available, but without actually upgrading anything, and in particular without upgrading everything all at once? What I would like to do is to retain the ability to install individual new packages, and new versions of already-installed packages, but without ever doing an overall upgrade of everything on the system.

This may seem like a weird goal, but I often use Linux on computers that I use infrequently. It is very frustrating to fire up an old computer to do something, and find that I can't install anything because the apt sources are gone, and then have to cross my fingers and try an upgrade that may break everything. I would prefer to take an incremental approach in which the need to install or upgrade a single program doesn't require taking a leap of faith and upgrading the entire system.

I'm also asking this question because, just theoretically, I'm curious what the upgrade process actually does. If everything on the system is defined by packages, what is the difference between "upgrading to CoolPackage version X on Mint 17" and "upgrading to CoolPackage version X on Mint 18"? In what way does the OS version itself actually affect the upgrading of packages? Or, most extremely, if upgrading the OS is just upgrading all the packages, why do you ever need to upgrade the OS per se at all, instead of just upgrading each package (and its dependencies) as needed? I'm also curious if different distros make such incremental upgrading harder or easier.

(Note that I'm not talking about ignoring dependencies; I realize that upgrading a package may require upgrading specific other packages. But I wonder why there needs to be the notion of an OS-level upgrade rather than just each individual package's notion of what needs to be done to upgrade that package. Is the answer just that, after enough time, all packages wind up indirectly depending on new versions of fundamental packages, so that upgrading any package would effectively require upgrading everything to keep dependencies satisfied?)

  • askubuntu.com/questions/96587/… – muru Jul 31 '17 at 2:13
  • @muru: That looks related, but I'd need an answer that more specifically explains how to "substitute" such a process for dist-upgrade. – BrenBarn Jul 31 '17 at 3:16
  • The main difference between distro releases is the versions of the libraries that everything else is compiled against. That's why, for example, there's a debian backports project that builds packages for new/updated programs against the libraries for the old distro release(s). BTW, i've been a debian user and developer since 1994, and i've always believed that it's the versions of the packages that are important, the release number of the distro itself isn't very important....in fact, that's one of the major reasons I chose debian way back then and continue with it now. – cas Jul 31 '17 at 5:29
  • One (extreme) way to go about this would be to periodically download all packages from any relevant repositories and store them for later use. – Stefan Jul 31 '17 at 6:18
1

is it possible to "update" my system in the sense of making new packages (or new versions of existing packages) available, but without actually upgrading anything, and in particular without upgrading everything all at once?

In theory this is possible, but it's a lot more complicated than upgrading a distribution as a whole. And contrary to what you think, it's more risky.

Packages interact with each other a lot, and have dependencies against each other. In particular, programs call libraries. By the time a new release comes out, a lot of programs have moved on to a newer version of a bunch of libraries. And libraries themselves depend on other libraries, which can cause a lot of packages to move on.

Who decides to use a newer library version? Sometimes it's the author of the program that uses the library, because they want the new features. Sometimes the distribution does it in order to make all the programs that use a library use the same version of the library.

Mixing packages from different releases often won't work because of library version incompatibility. Even when the installation succeeds, you'd be running a version combination that hasn't been tested as much as the combination in the official release. This is why a partial upgrade is more risky.

You can keep running an old release as long as you like, although some aspects may become obsolete (in particular, it is a very bad idea to run a system that isn't getting security updates). But then you don't get to run newer program versions.

If you do want to keep running an old release anyway, and you want to be able to install packages from that release, you may need to edit the package source list (/etc/apt/sources.list or files in /etc/apt/sources.list.d). Ubuntu archives its old releases on http://old-releases.ubuntu.com/. You can get the Ubuntu packages from there. I don't know if there's a similar site for Mint-specific packages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.