How to find the difference between KDE Neon installations

In my main PC I cannot install an app (Re-image service menu), while in other my devices, with the same SO, KDE Neon, I can.
What should I do to understand where is the problem?
I thought to list all the installed packages and the confront them (between the two different devices): it’s a good idea? If so, how should I do?
Thank you!

EDIT

I found something here. But, after several attempts to install missing packages, nothing changed :frowning:

EDIT

I solved the problem of re-image.

For the next person that lands here and is interested in how to tell the difference between two installation of the same Linux operating system:

There are three ways in which systems (at rest(*)) are different from each other:

  1. Software composition - i.e. which software packages are installed.
  2. Local system configuration - i.e. which system changes have been made, notably configuration files that have been changed or added (to locations where installed software looks for additional files - i.e. *.d directories); or “manually” installed software (i.e. not through a package manager).
  3. User configuration - i.e. user’s data files and configuration files.

For the purpose of this exercise I’m going to focus on Neon, which is a dpkg-based Linux distribution.

1. Software Composition

This is the easiest category: the software composition state in a dpkg-based operating system is easy to determine using the command dpkg -l | grep -e ^ii. This will list all the software packages that are installed and what version of each is installed. You can take that output to another machine, run the same command, and run diff on the output - and it will tell you what software packages you need to add or remove to reach the same state.

2. Local System Configuration

Getting an accurate report for this category is much harder but dpkg does try to help you with that by keeping track of the MD5 sum of all known configuration files it installed, and you can ask it to list them for you - either using the debsums -ce command (if you have it installed - it isn’t by default); or by using the following much longer command:

dpkg-query -W -f='${Conffiles}\n' '*' | awk '$1{print $2,$1}' | \
    sudo md5sum --quiet -c 2>/dev/null | cut -d: -f1

The result will not include files added into *.d directories. To get an idea of what has changed in your ‘.d’ directory you can run the following command, to generate a list of all '.d’ directories and an MD5 checksum of their list of files:

sudo find / -mount -type d -name '*.d' | sort | egrep -v 'docker|containers|flatpak|snap' | while read dir; do echo "$(sudo ls "$dir" | md5sum | awk '{print$1}') $dir"; done

[I’m filtering out the subvolumes you can find in container technologies such as docker or flatpak - that will only introduce uninteresting noise, by YMMV]

You can then run the same command on another system and diff the output.

I’m considering locally non-package-managed system-installed software to be out of scope for this question, mostly as it is neigh-impossible to actually account for that without a full file system comparison. But if you think this may be an issue, do look in /etc/systemd/system for the list of system services - if you ignore symbolic links and all the Snap mount units, whatever remains are probably the only locally installed software that should worry you as they would be running system services.

3. User configuration

This will 100% always be different for different systems, but you can get a good idea about the important configuration differences by md5suming all the files under ~/.config and ~/.local - which I will leave as an exercise for the reader.

*) That is - turned off.

2 Likes