0

For reasons of 3rd party software compatibility I would like to install ubuntu 14.04.1 and hold on version 14.04.1 until such time as I allow upgrade to 14.04.2, 14.04.3 etc...

I have read the ubuntu pinning instructions and looked at the two similar Ask Ubuntu questions pertaining to package holding but i don't see a clear manner of doing this:

the-following-packages-have-been-kept-back-why-and-how-do-i-solve-it

how-to-hold-a-package-back-from-being-upgraded

how-to-prevent-updating-of-a-specific-package

The best thing I can see is this neat way of holding everything back:

Save state:

`dpkg --get-selections > current_selections.txt`

Hold all packages:

`dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections`

Revert to unheld packages at some point in the future:

`dpkg --set-selections < current_selections.txt`

However this seems a bit excessive much, I'd like to carry on running apt-get update && apt-get upgrade and receiving updates for all packages except for those that constitute the upgrade from version 14.04.1 to a later point release.

Is this mad of me, is this counter to the spirit of using apt-get upgrade and Ubuntu's philosophy of point releases as pertaining to LTS versions, (if so why the heck are there point releases to LTS releases which break compatibility with other software, aren't they supposed to be stable and reasonably static targets?)

It also occurs to me that perhaps holding the kernel at the version on 14.04.1 (3.13.0-32) would do the trick as the rest of 14.04.2 and higher will be dependent in the newer kernel. I also have a hunch that it's the later kernel that's borking the software I'm using although the vendors docs aren't specific and i haven't got an answer from them about this.

For clarity, I'd like to add that i do not currently know where the source of incompatibility is between the software I am running and Ubuntu releases >14.04.1 Just that this is what I have been told by the vendor and this does appear to be the case. Whilst i get to the bottom of where these incompatibilities lie, I'm after a way that will allow me to remain on 14.04.1 whilst updating packages that don't constitute a move to anything >14.04.1. If the anwer to this is you can't that's fine, I'd just like to know.

TL:DR

1) How can I hold Ubuntu at version 14.04.1 and prevent upgrade to 14.04.2 or 14.04.3 whilst retaining the ability to apply updates to my packages.

2) Am I misunderstanding Ubuntu LTS strategy and point releases by expecting point releases not to change things dramatically enough to break compatibility

3) Can I achieve my aim by holding the kernel on the 14.04.1 (3.13.0-32) version, and is this sane?

Thanks.

  • It would help if you actually described what you think is "breaking software compatibility" in your question, rather than simply alluding to something being broken. What exactly is broken? – dobey Dec 9 '15 at 16:16
  • The proprietary filesystem driver module fails to be built with a raft of build errors whenever errors when the service that manages the filesystem is started. This will happen on a clean install of Ubuntu Server 14.04.2 or greater and not on 14.04.1. I didn't want to get bogged down in the specifics of the build errors as my question is about the differences between the point releases and if and how one can manage the transition between them. – SlyFox Dec 11 '15 at 12:50
3

You (and probably the vendor of your binary as well) misunderstand what Ubuntu point releases are about. All that happens is that at some point after 14.04 was released, the Ubuntu developers say: "Okay, 14.04 has been out for a while and there are a lot of updates. For someone installing 14.04 now it's a bit of a bummer to have to install all those updates, so let's create ISOs of 14.04 plus all the updates released until now, and call that 14.04.1." And then the same happens after that, yielding 14.04.2, etc.

So, "keeping 14.04.1 but still installing updates" is a contradiction. If you install from a 14.04.1 ISO and then install updates, you move towards 14.04.2, and ultimately you will reach it. You or the vendor of your binary need to find out what exactly causes it to work on a bare 14.04.1 install but not on a 14.04.2 one. This was caused by some updates that were installed after 14.04.1 was installed, and you need to find out which ones so you can block them. Otherwise, they will be installed as part of the normal updates, as well.

Oh and for your other questions :

2) Not really; it is reasonable to assume that Ubuntu point releases will not break things. Sadly, even the most reasonable assumptions fail sometimes.

3) Holding a kernel version is possible and should not break your system. You don't even really need to do anything: even if new kernels are installed, the old one will still be available. Of course, you will not benefit from bug fixes of new kernels if you use an old one, however.

  • Thanks for the clarification, I can go back to the vendor and try and get some information regarding what updates are breaking the software. To this end Is there a nice ubuntu maintained list of package differences between 14.04.1 and 14.04.2 thi ai can refer the vendor to or is it a matter of dumping out the package versions of each release and comparing them them? – SlyFox Dec 11 '15 at 12:24
4

You do not need deliberately "stick on a point release".

The main difference between point releases is HWE Stack that includes new kernel major version and new xorg with related user space drivers.

When you do normal package upgrades, you will never be moved to a new kernel major version or new graphical stack.

Kernel 3.13 will get security and bug fixing updates till 14.04 EOL. You do not need to freeze on 3.13.0-32.

The current 3.13 version is 3.13.0.71.77.

If you are worried by the version number, you can freeze base-files package by running:

sudo apt-mark hold base-files

In this case you will get all updates, but you will never see "point" release number.

If you have installed 14.04.3, you can switch to kernel 3.13 by running

sudo apt-get install linux-generic

Then you will need to remove linux-image and linux-headers of version 3.19.

  • You want to get all the bug fixes to 3.13. My working install is 14.04 without HWE. It does say it is 14.04.3. But also shows this: DISTRIB_RELEASE=14.04 and: PRETTY_NAME="Ubuntu 14.04.3 LTS" – oldfred Dec 9 '15 at 15:42
  • That 14.04.3 means nothing really. If you initially installed 14.04 without points, then you still have 3.13 kernel, etc. – Pilot6 Dec 9 '15 at 15:44
  • I beg to differ about my need to do so, but perhaps I haven't been entirely clear about why I want to do this. Essential i have a third party binary that works when I am running 14.04.1 but which is non functional when I am running 14.04.02 or later. The vendor of said product will support Ubuntu 14.04.1 but not anything later. – SlyFox Dec 9 '15 at 15:48
  • OK. What is incompatible? Kernel or graphics? You can always switch from one HWE line to another. The easiest way is to install 14.04 and upgrade it normally. 99.9% that all will keep working. – Pilot6 Dec 9 '15 at 15:51
  • 1
    I was just trying to re-inforce Pilot6's comments that with 14.04 you want updates, but not the HWE. You will get kernel updates, but they are bug fixes to 3.13, not new kernel. But system may say it is 14.04.3, but not the HWE newer kernel versions. I have had no issues just running standard updates and system will stay with 14.04 with 3.13 kernel until 16.04 is released. – oldfred Dec 9 '15 at 15:52

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.