Fixing error on Debian 11: No module named py_compile

The root cause of an error is: /usr/bin/python3.9: No module named py_compile.

This will prevent python3 packages from installing as the dpkg errors out during configuration.

A more complete error example, will look something like this:


Setting up python3.9-minimal (3.9.2-1) …
/usr/bin/python3.9: can’t open file ‘/usr/lib/python3.9/py_compile.py’: [Errno
2] No such file or directory
dpkg: error processing package python3.9-minimal (–configure):
installed python3.9-minimal package post-installation script subprocess return
ed error exit status 2
Errors were encountered while processing:
python3.9-minimal
E: Sub-process /usr/bin/dpkg returned an error code (1)

/usr/bin/python3.9: No module named py_compile

Regardless of the package name, missing the py_compile will give plenty of issues. Here comes an easy fix.

Continue reading

Fixing resolution issues on Debian 11: New Nvidia cards

After install, resolution might be off. Xrandr might so something like this:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected 1024×768+0+0 0mm x 0mm
1024×768 76.00*

Step 1: Grub resolution is wrong (optional)

Continue reading

Automatically creating a user and forcing password change on first login: A Linux scripting example

Sometimes there might be a need to make a test user really fast. Reasons may vary and we might want to make this as easy as possible for ourselves. We are of course thinking about adding our test user to sudo/wheel group and we have a our default password at mind that we will set to our test user.

However, we might want to force user to change the password during first login and be certain that our poorly chosen default password will not stay universal on possibly critical systems. Later, we also might want to lock the user account and possibly even delete it when there is no need to test anymore. Here is how do all this with some good old scripting:

https://github.com/postman721/scripting-examples/blob/main/auto_creation.sh

Adding backports to Debian stable

Sometimes there might come a situation where Debian stable is just too old. This is usually related to hardware support of some component that the computer has that has no current support on a kernel that Debian stable ships with. Kernel is a typical example but others may exist as well. Backports might be of help when trying to get some more support to hardware. However, before proceeding it is good to notice that backports might cause issues down the line if used too carelessly.

A typical case of an issue might be that when the next Debian stable eventually arrives upgrade might be tricky if you have some packages that are more recent than those Debian is offering. This used to be more of a big deal back in the day. Currently, I believe that backports generally do not provide any significant risk that could not be handled during upgrades. Caution is still adivised,

To add backports to Debian stable you need to do the add the following entry (as sudo or root) to your /etc/apt/sources.list or equivalent file under /etc/apt/sources.list.d folder structure:

deb http://deb.debian.org/debian bullseye-backports main contrib non-free

After the above line is added do: sudo apt-get update

Installing from backports is done by first locating the package you want to install. A good source for this is https://backports.debian.org/

When the package of choice is found, then the installation command will be, for example:

sudo apt install linux-image-amd64/bullseye-backports

On the above command, linux-image-amd64 is a metapackage that will install a more later kernel from Debian backports. Finally, to start using the later kernel, I would need to reboot my computer.