Чтобы было сделано на Ubuntu 22.04 Server

Опираясь на заметку: "Обновляем Python на Ubuntu 22.04"

после захотел обновить систему

sudo rm -Rf /var/lib/apt/list

sudo apt-get update && sudo apt-get upgrade -y

и получил ошибку:

Traceback (most recent call last):       

  File “/usr/lib/cnf-update-db”, line 3, in <module>

    import apt_pkg

ModuleNotFoundError: No module named ‘apt_pkg’

На одном форуме вычитал: “не заморачивайтесь со встроенным Python и его переназначением версий, работайте в virtualenv.

Да этот совет имеет место быть, но у меня это была тестовая система, на которой я пытался развернуть утилиту ssh-commander и там жуть что пошло все не так, думал если обновить систему.

Пробую отменить все свои действия после выполненного выше:

ekzorchik@srv-home:~$ nano ~/.bashrc

ekzorchik@srv-home:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 0

ekzorchik@srv-home:~$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1

ekzorchik@srv-home:~$

А фиг!!!

ekzorchik@srv-home:~$ sudo rm /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list

ekzorchik@srv-home:~$ sudo apt-get update

Hit:1 http://ru.archive.ubuntu.com/ubuntu jammy InRelease

Hit:2 http://ru.archive.ubuntu.com/ubuntu jammy-updates InRelease

Hit:3 http://ru.archive.ubuntu.com/ubuntu jammy-backports InRelease

Hit:4 http://ru.archive.ubuntu.com/ubuntu jammy-security InRelease

Traceback (most recent call last):

  File "/usr/lib/cnf-update-db", line 3, in <module>

    import apt_pkg

ModuleNotFoundError: No module named 'apt_pkg'

Reading package lists... Done

E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi'

E: Sub-process returned an error code

ekzorchik@srv-home:~$

ekzorchik@srv-home:~$ sudo apt-get remove -y python3.13

ekzorchik@srv-home:~$ sudo mv /etc/apt/apt.conf.d/50command-not-found{,.disabled}

А содержимое файла который я переименовал, ну так на всякий случай для самого себя:

ekzorchik@srv-home:~$ cat /etc/apt/apt.conf.d/50command-not-found.disabled

## This file is provided by command-not-found(1) to download

## Commands metadata files.

 

Acquire::IndexTargets {

    # The deb822 metadata files

    deb::CNF  {

        MetaKey “$(COMPONENT)/cnf/Commands-$(NATIVE_ARCHITECTURE)”;

        ShortDescription “Commands-$(NATIVE_ARCHITECTURE)”;

        Description “$(RELEASE)/$(COMPONENT) $(NATIVE_ARCHITECTURE) c-n-f Metadata”;

    };

};

 

# Refresh AppStream cache when APT’s cache is updated (i.e. apt update)

APT::Update::Post-Invoke-Success {

    “if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi”;

};

ekzorchik@srv-home:~$

ekzorchik@srv-home:~$ sudo apt-get update

Hit:1 http://ru.archive.ubuntu.com/ubuntu jammy InRelease

Hit:2 http://ru.archive.ubuntu.com/ubuntu jammy-updates InRelease

Hit:3 http://ru.archive.ubuntu.com/ubuntu jammy-backports InRelease

Hit:4 http://ru.archive.ubuntu.com/ubuntu jammy-security InRelease

Reading package lists… Done

ekzorchik@srv-home:~$

ekzorchik@srv-home:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-home:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

ekzorchik@srv-home:~$ sudo reboot

ekzorchik@srv-home:~$ uname -a && lsb_release -a

Linux srv-home 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.5 LTS

Release:        22.04

Codename:       jammy

ekzorchik@srv-home:~$

Вывод из все этого: Не стоит влезать в системные настройки без надобности, если на тесте то да, а на боевом нет или же использовать:

    virtualevn

    LXC

    docker

На этом пока все, с уважением автор блога Олло Александр aka ekzorchik.