1

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.

karel
  • 114,770
SlyFox
  • 21
  • 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 09 '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

2 Answers2

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.

Pilot6
  • 90,100
  • 91
  • 213
  • 324
  • 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 09 '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 09 '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 09 '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 09 '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 09 '15 at 15:52
  • That is exactly what I meant. That point number confuses people. You can have two different 14.04.3's. – Pilot6 Dec 09 '15 at 15:55
  • To be clear I'm running LTS Server without X or other graphics packages. I appreciate the kernel is staying on 3.13 but there are certainly minor differences, I'm inferring from your comments that these aren't related to minor point release versions and there is no way to hold them in any case, so I can scratch my idea of holding the kernel version as a way of sticking to 14.04.1? – SlyFox Dec 09 '15 at 16:00
  • Then the answer is quite easy. Install 14.04 and do not worry about package upgrades. Or install 14.04.3, run sudo apt-get install linux-generic and remove kernel 3.19. – Pilot6 Dec 09 '15 at 16:02
  • But I AM worried about package updates, I am also not running kernel 3.19, not sure where that came from i think it was pretty clear in my post that I am on 3.13.0-32 – SlyFox Dec 09 '15 at 16:05
  • I also dont know if the incompatibilities ARE the kernel or not, I was speculating about holding the kernel package as a method to prevent apt-get upgrade from taking me from 14.04.1 to 14.04.>1 – SlyFox Dec 09 '15 at 16:06
  • I answered already that apt-get will never do that you call "take you from 14.04.1 to 14.04.2". It will only update that version number. – Pilot6 Dec 09 '15 at 16:10
  • That would be grand, however you mention in your answer here http://askubuntu.com/questions/683103/how-to-upgrade-ubuntu-14-04-1-to-14-04-2 that applying ordinary updates to 14.04 WILL get you 14.04.3, so i'm confused. I guess I can spin up a VM easily enough and test your assertion... – SlyFox Dec 09 '15 at 16:22
  • It WILL get you 14.04.3 version number, but it WILL NOT install new major kernel release. You can't understand that Ubuntu point version number is not tied to a kernel version. – Pilot6 Dec 09 '15 at 16:27
  • OK I do understand and appreciate that, however were deviating rather from my stated aim, which is essential, is it possible to remain on 14.04.1 whilst retaining the ability to update packages? (which i need to do to try and roll in any security or maintenance releases that don't constitute an upgrade from 14.04.1 to a later point release – SlyFox Dec 09 '15 at 17:43
  • As I said, the only package that is different in Ubuntu Server point versions is the kernel. Normal maintenance upgrades will not switch the kernel. The only thing you may need to freeze is base-files package. But it does not affect the system at all. It will just keep version number without any points to make you happy. – Pilot6 Dec 09 '15 at 17:50
4

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.

fkraiem
  • 12,555
  • 4
  • 35
  • 40
  • 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