Ubuntu 16.04 ESM Q&A

Hi,
I’m new here, so let me introduce myself. I’m a product manager at Canonical working on security and ESM and I would like to get your feedback and answer any questions you may have about Ubuntu 16.04 ESM.

Last week Ubuntu 16.04 transitioned to ESM (Extended Security Maintenance). I wrote a blog about the transition and what it means, and the available options. @rhys-davies put together a wiki page to explain some of the terminology.

Please look at the blog post and the wiki page and let me know if you have any questions or feedback about the transition and the process.

regards,
Nikos

6 Likes

Hi,

When you install Ubuntu Advantage (package ubuntu-advantage-tools) on Xenial, and enable only esm-infra service, it installs the file /etc/apt/sources.list.d/ubuntu-esm-infra.list with the two following lines:

deb https://esm.ubuntu.com/infra/ubuntu xenial-infra-security main
deb https://esm.ubuntu.com/infra/ubuntu xenial-infra-updates main

When we have the following /etc/apt/sources.list on that host:

deb         http://de.archive.ubuntu.com/ubuntu/        xenial                  main restricted universe multiverse
deb         http://security.ubuntu.com/ubuntu           xenial-security         main restricted universe multiverse

so no xenial-updates since we only wanted to have pure security updates and no more (e.g. bugfix) updates (to keep the change minimal), can we delete the line with xenial-infra-updates from /etc/apt/sources.list.d/ubuntu-esm-infra.list, so we stay on the security-only chanel?

The other way round, if we have a Xenial host with the following /etc/apt/sources.list:

deb         http://de.archive.ubuntu.com/ubuntu/        xenial                  main restricted universe multiverse
deb         http://security.ubuntu.com/ubuntu           xenial-security         main restricted universe multiverse
deb         http://de.archive.ubuntu.com/ubuntu/        xenial-updates          main restricted universe multiverse

so with xenial-updates, then do we strictly need the xenial-infra-updates repo? Or would it also be ok to only have xenial-infra-security to keep changes minimal?

The xenial-infra-updates pocket is used to deliver bug fixes for packages in ESM - and pretty much corresponds to the xenial-updates pocket during the LTS phase of the release - so you can treat it the same way (ie. include it in addition to the -security one if you prefer, or not).

Thanks @alexmurray, just to be sure - it would be ok having xenial-updates in /etc/apt/sources.list, but only xenial-infra-security in /etc/apt/sources.list.d/ubuntu-esm-infra.list ?

Background: We learned that once you enabled xenial-updates in /etc/apt/sources.list you cannot remove it anymore (leaving only xenial-security), because afterwards you cannot install new packages that depend on other packages that had been updated through xenial-updates before, so the version of the depended packages is newer than the to-be-installed package expects, so you have broken dependencies

If yes, an explanation to better understand would be nice, thanks.

When the security team prepares updates for the security pocket (aka -security) (whether ESM or during the normal support timeframe) we take whichever is the highest version from either the updates OR the security pocket and then patch that and release it to the security pocket. As such, -security can end up containing the changes from -updates anyway, so it is not strictly true that disabling -updates means you only ever get just security updates. This is just the nature of package versioning that we need to ensure that for all users (regardless of whether they have only security or both security+updates enabled) that they can always upgrade to the security updated version (ie the version number has to be strictly greater than anything prior to that).

We also try and make sure that we also bring to the security pocket any dependent packages from updates (say since the new version might require a newer version of a given dependency that is only in the updates pocket).

So using only -security reduces the number of changes from -updates you receive but not down to zero.

Saying that, if you have never used -updates it should be fine to use just -security - and the same goes for the ESM sources as well - this is a supported configuration as far as the security team is concerned. However, the default on install is to use both -security and -updates and this is what the vast majority of Ubuntu machines end up using.

1 Like

Thanks for the good understandable explanation. I woul recommend to write it as clear in https://wiki.ubuntu.com/SecurityTeam/FAQ#How_are_the_.22-updates.22_and_.22-security.22_pockets_different.3F the current is not so clear, it left me uncertain.

Answering myself I guess it should be safe on a host with both xenial-security and xenial-updates enabled in LTS repo to have only the ESM-Repo xenial-infra-security without xenial-infra-updates, because xenial-infra-security can stand alone for itself and has no dependencies on xenial-infra-updates, so if the latter is absent, still a new version from xenial-infra-security will be newer than both xenial-updates and xenial-security, and so no package from the EOL LTS repo will miss something, that it just does not know.

I would also appreciate, if you could write that so definitely in the above FAQ page, currently it is very vague, it seems like nobody is really sure about it…

Edit (since reply limit for me):

Just noticed that unfortunately the package ubuntu-advantage-tools (needed for ESM) is in repo xenial-updates.
So we would need our Xenial Hosts that have currently only xenial-security and not xenial-updates do include the latter and update then many packages (which we wanted to avoid) just to have access to the ubuntu-advantage-tools package. That is not nice. While I can understand that a new package does not suit to xenial-security well since it is not a security patch for an existing package, without it you just do not have any ESM security patches at all, so this is somehow paradox. I think the ubuntu-advantage-tools package is a security meta package, so it should better have been included in the xenial-security repo after LTS EOL.

Since I can install ubuntu-advantage-tools_27.2.2~16.04.1_amd64.deb (from xenial-updates) on a Xenial host that only has xenial-security and not xenial-updates, I think I will put the .deb file in our private apt repo, to avoid upgrading our security-only hosts to xenial-updates.

1 Like

I’ve updated the wiki to add some more description - thanks for the suggestion.

2 Likes

What am I doing wrong – or what is badly documented?

root@cs-linux5:~# ubuntu-advantage enable-esm C12qf6sUB…bEo38g
Sorry, but Extended Security Maintenance is not supported on xenial

(I’ve taken the middle out of the token I received when signing up).

Hi Chris,
You are most likely using an old Ubuntu Advantage client. Try updating, or better contact https://support.canonical.com/

I am trying to patch some offline (Xenial) servers we inherited and I am having trouble. I am trying to create a repository that I can use to patch these offline servers. I had mirroring setup and working with the regular repositories but not with the esm repository.
my apt-mirror command is returning…
/bin/sh: 0: Can’t open /mnt/data/repo/var/postmirror.sh