intel-microcode no longer required?

Asked by corrado venturini on 2019-01-04

I'm using Ubuntu 19.04 Disco with upstream kernel 4.20.0 and proposed enabled
corrado@corrado-p13-dd-1107-x:~$ uname -a
Linux corrado-p13-dd-1107-x 4.20.0-042000-generic #201812232030 SMP Mon Dec 24 01:32:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
and some days ago during an upgrade i received the message:
The following packages were automatically installed and are no longer required: amd64-microcode intel-microcode ...
may you explain this?
thanks

corrado@corrado-p13-dd-1107-x:~$ inxi -SCx
System:
  Host: corrado-p13-dd-1107-x Kernel: 4.20.0-042000-generic x86_64 bits: 64
  compiler: gcc v: 8.2.0 Desktop: Gnome 3.30.1
  Distro: Ubuntu 19.04 (Disco Dingo)
CPU:
  Topology: Dual Core model: Intel Core i3-7100 bits: 64 type: MT MCP
  arch: Kaby Lake rev: 9 L2 cache: 3072 KiB
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 31296
  Speed: 801 MHz min/max: 800/3900 MHz Core speeds (MHz): 1: 800 2: 800
  3: 800 4: 802
corrado@corrado-p13-dd-1107-x:~$

corrado@corrado-p13-dd-1107-x:~$ sudo apt update
[sudo] password for corrado:
Hit:1 http://archive.ubuntu.com/ubuntu disco InRelease
Hit:2 http://archive.ubuntu.com/ubuntu disco-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu disco-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu disco-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu disco-proposed InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
24 packages can be upgraded. Run 'apt list --upgradable' to see them.
corrado@corrado-p13-dd-1107-x:~$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  amd64-microcode intel-microcode iucode-tool libbind9-160 libdns-export1102 libdns1102 libgail-3-0
  libhunspell-1.6-0 libicu60 libirs160 libisc-export169 libisc169 libisccc160 libisccfg160 liblwres160
  libopencv-core3.2 libopencv-imgproc3.2 liborcus-0.13-0 libpoppler79 libprotobuf10 libraw16 libssl1.0.0
  libtbb2 libx264-152 libx265-160 linux-headers-4.18.0-10 linux-headers-4.18.0-10-generic
  linux-headers-generic linux-image-4.18.0-10-generic linux-modules-4.18.0-10-generic
  linux-modules-extra-4.18.0-10-generic thermald
Use 'sudo apt autoremove' to remove them.
The following packages have been kept back:
  cups cups-bsd cups-client cups-core-drivers cups-daemon cups-ipp-utils gnome-power-manager
  gnome-settings-daemon libcups2 libcupsimage2 libsane-common lm-sensors mutter
The following packages will be upgraded:
  gnome-mines gnome-sudoku gnome-todo gnome-todo-common libclutter-1.0-0 libclutter-1.0-common libgnome-todo
  libgraphene-1.0-0 libgspell-1-1 libgspell-1-common t1utils
11 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
Need to get 1.294 kB of archives.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu intel-microcode Edit question
Assignee:
No assignee Edit question
Solved by:
Manfred Hampl
Solved:
2019-01-04
Last query:
2019-01-04
Last reply:
2019-01-04
Best Manfred Hampl (m-hampl) said : #1

Ubuntu does not "require" any package. The package management system only takes care that all packages are installed, if they are a dependency of another package. This leads to several tree-like dependency chains, each of them going up to a package that is marked as "manually installed". In case that you uninstall one of the "manually installed" packages, all packages in the chain below that package will be shown as "no longer required" (unless needed by another manually installed package, or manually installed by themselves).

As far as I know, intel-microcode and amd64-microcode are dependencies of the linux-image-generic package which in turn is a dependency of the package linux-generic. If you do not have one of these package installed, then the package management system does not see a need for the microcode packages and rates them "no longer required".

I suggest that you check whether you have the package linux-generic (or eventually linux-image-generic) installed, and if not (which I assume), then you should install it to make sure that the microcode packages stay installed.

(Yes, I know, this will install the 4.18 kernel again, even if you have the 4.20 version installed from somewhere else.)

thanks for your explain

corrado@corrado-p13-dd-1107-x:~$ apt policy linux-generic
linux-generic:
  Installed: (none)
  Candidate: 4.19.0.9.10
  Version table:
     4.19.0.9.10 500
        500 http://archive.ubuntu.com/ubuntu disco-proposed/main amd64 Packages
     4.18.0.11.12 500
        500 http://archive.ubuntu.com/ubuntu disco/main amd64 Packages
corrado@corrado-p13-dd-1107-x:~$ apt policy linux-image-generic
linux-image-generic:
  Installed: (none)
  Candidate: 4.19.0.9.10
  Version table:
     4.19.0.9.10 500
        500 http://archive.ubuntu.com/ubuntu disco-proposed/main amd64 Packages
     4.18.0.11.12 500
        500 http://archive.ubuntu.com/ubuntu disco/main amd64 Packages
corrado@corrado-p13-dd-1107-x:~$

Thanks Manfred Hampl, that solved my question.