5

I'm trying to figure out why doesn't apt-get detect the newer version of chromium-browser.

This is on Ubuntu 16.04.3 LTS.

First of all, this is the output of sudo apt update:

Hit:1 http://lu.archive.ubuntu.com/ubuntu xenial InRelease
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

This is the output of apt-cache policy chromium-browser:

chromium-browser:
  Installed: 73.0.3683.86-0ubuntu0.16.04.1
  Candidate: 73.0.3683.86-0ubuntu0.16.04.1
  Version table:
 *** 73.0.3683.86-0ubuntu0.16.04.1 100
        100 /var/lib/dpkg/status
     49.0.2623.108-0ubuntu1.1233 500
        500 http://lu.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

It shows my installed version 73 as being the newest and it matches the candidate version, so it wouldn't update anything.

If I try to simulate the installation with apt-get install -s chromium-browser, I get:

chromium-browser is already the newest version (73.0.3683.86-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

However, there's a newer version 78 in the universe repository, in this folder:
http://lu.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/

Here's the link to the actual .deb I'm thinking of: http://lu.archive.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/chromium-browser_78.0.3904.108-0ubuntu0.16.04.1_amd64.deb

And here's a screenshot of the said folder for future readers when the above link becomes dead:

enter image description here

Also note that if I add this ppa...

sudo add-apt-repository ppa:canonical-chromium-builds/stage

...then the output of apt-cache policy chromium browser is this:

chromium-browser:
  Installed: 73.0.3683.86-0ubuntu0.16.04.1
  Candidate: 78.0.3904.108-0ubuntu0.16.04.1
  Version table:
     78.0.3904.108-0ubuntu0.16.04.1 500
        500 http://ppa.launchpad.net/canonical-chromium-builds/stage/ubuntu xenial/main amd64 Packages
 *** 73.0.3683.86-0ubuntu0.16.04.1 100
        100 /var/lib/dpkg/status
     49.0.2623.108-0ubuntu1.1233 500
        500 http://lu.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages

Now it does see as the candidate the newer version 78.

However, my question is why doesn't it detect the version 78 from the universe repository, and why do I even need to add the ppa, since I demonstrated above that the .deb exists.

Note: I'm not asking for instructions how to update a package - I know how to install a .deb file. Instead, I'm trying to understand how does the apt tool work.

9

TL;DR

You have to enable xenial-updates and xenial-security in your /etc/apt/sources.list or on Updates tab of Software & Updates (software-properties-gtk).


It seems that you incorrectly understand the pool folder structure. It contains all packages for all releases.

You should go to https://packages.ubuntu.com and run search for chromium-browser package amd64 to determine correct versions for your current release.

Then you will get the following for xenial and xenial-updates:

xenial (16.04LTS) (web): Chromium web browser, open-source version of Chrome [universe]
78.0.3904.108-0ubuntu0.16.04.1 [security]: amd64
xenial-updates (web): Chromium web browser, open-source version of Chrome [universe] 78.0.3904.108-0ubuntu0.16.04.1: amd64

So you can get the latest possible package version from universe pocket:

78.0.3904.108-0ubuntu0.16.04.1: amd64

On my fully updated system the output is the following:

$ apt-cache policy chromium-browser chromium-browser: Installed: 78.0.3904.108-0ubuntu0.16.04.1 Candidate: 78.0.3904.108-0ubuntu0.16.04.1 Version table: *** 78.0.3904.108-0ubuntu0.16.04.1 500 500 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages 500 http://archive.ubuntu.com/ubuntu xenial-security/universe amd64 Packages 100 /var/lib/dpkg/status 49.0.2623.108-0ubuntu1.1233 500 500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages


In your particular case it seems that xenial-updates is missed in your /etc/apt/sources.list file. You need to re-enable it from terminal or by visiting Updates tab of Software & Updates (software-properties-gtk) .

Also I need to note that current Ubuntu 16.04 LTS version is 16.04.6 LTS.
So really you need to enable xenial-updates, xenial-security, then update package lists with sudo apt-get update and install all newest dependencies with sudo apt-get dist-upgrade. This will solve many security- and update- related problems.

  • You're right! In Software & Updates I had Install updates from: Recommended updates (xenial-updates) turned off. After turning it back on, apt-cache detects the newer version. So if I understand correctly: those versions in xenial I linked to apply if installing it for the very first time, right? But since I have it already installed, then it's searching in xenial-updates? – stackzebra Dec 11 '19 at 21:09
  • You have to enable these xenial-updates and xenial-security and then run sudo apt-get update to get new package lists. Also I highly recommend to run sudo apt-get dist-upgrade to get all new upgrades for your 16.04 LTS to upgrade it from 16.04.2 to the latest 16.04.6. – N0rbert Dec 11 '19 at 21:10
1

Hit:1 http://lu.archive.ubuntu.com/ubuntu xenial InRelease

You are looking only in "xenial"?

This is the state, when xenial was released and xenial-updates contains the versions that were released later.

http://lu.archive.ubuntu.com/ubuntu/dists/xenial/ shows Contents-amd64.gz 2016-04-21 08:04 while http://lu.archive.ubuntu.com/ubuntu/dists/xenial-updates/ has Contents-amd64.gz 2019-12-11 05:57

This file holds the information, which pakage is available in which version and all of them are downloadable from the "pool" tree.

In the file from "xenial" you only find Version: 49.0.2623.108-0ubuntu1.1233

So you have to add xenial-updates to your sources.list and should be able to update.

  • Yes, I understand now how it works: it takes from xenial if installing for the first time, and from a different folder xenial-updates if only updating. So those .deb files in xenial are not relevant for updating. – stackzebra Dec 11 '19 at 21:14

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.