1

This question is related to Avoid missing kernel linux-modules-extra-XX-generic when updating kernel

The process of updating the kernel takes several steps. My questions are:

  1. Among all possible ways to update the kernel (e.g., https://ostechnix.com/different-ways-to-update-linux-kernel-for-ubuntu/ and perhaps others not listed), how can I tell which was used in my system? I actually mean to confirm if it came from an automatic update (unattended-upgrades, or else?)
  2. How can I tell when did each of the steps that led to the new kernel be current happen (install kernel packages, reboot, etc.)? I mean to do some "forensics".

1 Answers1

3

I list the info I could collect, and how. Below, the details.

  1. How each package was installed (which method, automatic/manual).
    With apt list --installed | egrep '^linux' | grep $(uname -r).
  2. When and how each package was installed.
    With grep $(uname -r) on /var/log/apt/history.log* (I copied and sudo gunzipped somwhere else to keep clean).
  3. When each package was installed.
    With grep $(uname -r) on /var/log/dpkg.log*.
  4. When the PC was rebooted. I do not know if this info is complete (e.g., covering shutdowns from power outages, etc.)
    With grep reboot on /var/log/kern.log*. This gave the date/time of reboots, along with numbers [ 0.18????] which I do not know what they mean.
    With grep reboot on /var/log/dmesg*. This gave just the last of the reboots in kern.log* (one per file, so I guess each file starts at reboot), along with only numbers [ 0.18????].
    With grep reboot on /var/log/syslog*. This gave a few less reboots than dmesg*, along date/time.
    grep shutdown on /var/log/syslog* did not give any more info.

How each package was installed (which method, automatic/manual)

From apt list --installed | egrep '^linux' | grep $(uname -r) I get 4 packages:

linux-image-5.4.0-42-generic/focal-updates,focal-security,now 5.4.0-42.46 amd64 [installed,automatic]
linux-modules-5.4.0-42-generic/focal-updates,focal-security,now 5.4.0-42.46 amd64 [installed]
linux-modules-extra-5.4.0-42-generic/focal-updates,focal-security,now 5.4.0-42.46 amd64 [installed]
linux-modules-nvidia-390-5.4.0-42-generic/focal-updates,focal-security,now 5.4.0-42.46 amd64 [installed,automatic]

This shows the kernel was automatically updated.


When and how each package was installed

Grepping /var/log/apt/history.log*.

$ grep -B 4 -A 4 -nH $(uname -r) /var/log/apt/history.log
...
/var/log/apt/history.log-67-Start-Date: 2020-08-06  18:34:47
/var/log/apt/history.log:68:Commandline: apt-get install linux-modules-extra-5.4.0-42-generic
/var/log/apt/history.log-69-Requested-By: user1 (1000)
/var/log/apt/history.log:70:Install: linux-modules-extra-5.4.0-42-generic:amd64 (5.4.0-42.46)
/var/log/apt/history.log-71-End-Date: 2020-08-06  18:35:41
...
$ grep -B 4 -A 4 -nH $(uname -r) history.log.1
...
history.log.1-208-Start-Date: 2020-07-22  06:26:33
history.log.1-209-Commandline: /usr/bin/unattended-upgrade
history.log.1:210:Install: linux-modules-5.4.0-42-generic:amd64 (5.4.0-42.46, automatic), linux-modules-nvidia-390-5.4.0-42-generic:amd64 (5.4.0-42.46, automatic), linux-image-5.4.0-42-generic:amd64 (5.4.0-42.46, automatic)
history.log.1-211-Upgrade: linux-modules-nvidia-390-generic-hwe-20.04:amd64 (5.4.0-40.44, 5.4.0-42.46)
history.log.1-212-End-Date: 2020-07-22  06:27:05
...
$ grep -B 4 -A 4 -nH $(uname -r) history.log.2

When each package was installed

Grepping /var/log/dpkg.log*.

$ grep -B 6 -A 5 -nH $(uname -r) /var/log/dpkg.log
...
/var/log/dpkg.log-318-2020-08-06 18:34:48 startup archives unpack
/var/log/dpkg.log:319:2020-08-06 18:34:54 install linux-modules-extra-5.4.0-42-generic:amd64 <none> 5.4.0-42.46
/var/log/dpkg.log:320:2020-08-06 18:34:54 status half-installed linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:321:2020-08-06 18:35:00 status unpacked linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log-322-2020-08-06 18:35:00 startup packages configure
/var/log/dpkg.log:323:2020-08-06 18:35:00 configure linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46 <none>
/var/log/dpkg.log:324:2020-08-06 18:35:00 status unpacked linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:325:2020-08-06 18:35:01 status half-configured linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:326:2020-08-06 18:35:05 status installed linux-modules-extra-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:327:2020-08-06 18:35:05 status triggers-pending linux-image-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:328:2020-08-06 18:35:05 trigproc linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 <none>
/var/log/dpkg.log:329:2020-08-06 18:35:05 status half-configured linux-image-5.4.0-42-generic:amd64 5.4.0-42.46
/var/log/dpkg.log:330:2020-08-06 18:35:41 status installed linux-image-5.4.0-42-generic:amd64 5.4.0-42.46

$ grep -B 6 -A 5 -nH $(uname -r) /var/log/dpkg.log.1 ... /var/log/dpkg.log.1:3123:2020-07-22 06:26:33 install linux-modules-5.4.0-42-generic:amd64 <none> 5.4.0-42.46 /var/log/dpkg.log.1:3124:2020-07-22 06:26:33 status half-installed linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3125:2020-07-22 06:26:36 status unpacked linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3126:2020-07-22 06:26:36 install linux-image-5.4.0-42-generic:amd64 <none> 5.4.0-42.46 /var/log/dpkg.log.1:3127:2020-07-22 06:26:36 status half-installed linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3128:2020-07-22 06:26:37 status unpacked linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3129:2020-07-22 06:26:38 install linux-modules-nvidia-390-5.4.0-42-generic:amd64 <none> 5.4.0-42.46 /var/log/dpkg.log.1:3130:2020-07-22 06:26:38 status half-installed linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3131:2020-07-22 06:26:39 status unpacked linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1-3132-2020-07-22 06:26:39 upgrade linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-40.44 5.4.0-42.46 /var/log/dpkg.log.1-3133-2020-07-22 06:26:39 status half-configured linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-40.44 /var/log/dpkg.log.1-3134-2020-07-22 06:26:39 status unpacked linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-40.44 /var/log/dpkg.log.1-3135-2020-07-22 06:26:39 status half-installed linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-40.44 /var/log/dpkg.log.1-3136-2020-07-22 06:26:39 status unpacked linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-42.46 /var/log/dpkg.log.1-3137-2020-07-22 06:26:39 startup packages configure /var/log/dpkg.log.1:3138:2020-07-22 06:26:39 configure linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 <none> /var/log/dpkg.log.1:3139:2020-07-22 06:26:39 status unpacked linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3140:2020-07-22 06:26:39 status half-configured linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3141:2020-07-22 06:26:40 status installed linux-modules-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3142:2020-07-22 06:26:40 configure linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 <none> /var/log/dpkg.log.1:3143:2020-07-22 06:26:40 status unpacked linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3144:2020-07-22 06:26:40 status half-configured linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3145:2020-07-22 06:26:41 status installed linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3146:2020-07-22 06:26:41 status triggers-pending linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3147:2020-07-22 06:26:41 configure linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 <none> /var/log/dpkg.log.1:3148:2020-07-22 06:26:41 status unpacked linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3149:2020-07-22 06:26:41 status half-configured linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3150:2020-07-22 06:26:43 status installed linux-modules-nvidia-390-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1-3151-2020-07-22 06:26:43 configure linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-42.46 <none> /var/log/dpkg.log.1-3152-2020-07-22 06:26:43 status unpacked linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-42.46 /var/log/dpkg.log.1-3153-2020-07-22 06:26:43 status half-configured linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-42.46 /var/log/dpkg.log.1-3154-2020-07-22 06:26:43 status installed linux-modules-nvidia-390-generic-hwe-20.04:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3155:2020-07-22 06:26:43 trigproc linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 <none> /var/log/dpkg.log.1:3156:2020-07-22 06:26:43 status half-configured linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 /var/log/dpkg.log.1:3157:2020-07-22 06:27:04 status installed linux-image-5.4.0-42-generic:amd64 5.4.0-42.46 ...