22-04: Как установить python-gtk2 и python-glade-2 для fslint

Вопрос или проблема

Мне нужны python-gtk2 и python-glade-2 для старого приложения, но когда я запускаю dpkg -i, я получаю следующее (переведено), указывающее на то, что у меня не хватает python ???

sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb python-glade2_2.24.0-5.1ubuntu2_amd64.deb 
Выбор пакета python-gtk2, ранее не выбранного.
(чтение базы данных... 364958 файлов и каталогов уже установлены.)
Подготовка к распаковке python-gtk2_2.24.0-5.1ubuntu2_amd64.deb ...
Распаковка python-gtk2 (2.24.0-5.1ubuntu2) ...
Выбор пакета python-glade2, ранее не выбранного.
Подготовка к распаковке python-glade2_2.24.0-5.1ubuntu2_amd64.deb ...
Распаковка python-glade2 (2.24.0-5.1ubuntu2) ...
dpkg: проблемы с зависимостями мешают настройке python-gtk2 :
 python-gtk2 зависит от python (<< 2.8) ; однако :
  Пакет python не установлен.
 python-gtk2 зависит от python (>= 2.7) ; однако :
  Пакет python не установлен.
 python-gtk2 зависит от python:any (>= 2.6.6-7~) ; однако :
  Пакет python не установлен.

dpkg: ошибка при обработке пакета python-gtk2 (--install) :
 проблемы с зависимостями - не настроен
dpkg: проблемы с зависимостями мешают настройке python-glade2 :
 python-glade2 зависит от python (<< 2.8) ; однако :
  Пакет python не установлен.
 python-glade2 зависит от python (>= 2.7) ; однако :
  Пакет python не установлен.
 python-glade2 зависит от python-gtk2 (= 2.24.0-5.1ubuntu2) ; однако :
 Пакет python-gtk2 еще не настроен.

dpkg: ошибка при обработке пакета python-glade2 (--install) :
 проблемы с зависимостями - не настроен
При выполнении обнаружены ошибки :
 python-gtk2
 python-glade2

Тем не менее :

sudo apt list python2.7 --installed
Список... Готово
python2.7/jammy,сейчас 2.7.18-13ubuntu1 amd64  [установлено]

Пожалуйста, скажите, что не так. Я сделал это нормально несколько дней назад на debian11, и мне просто нужно было запустить

sudo apt -f install

чтобы исправить проблему. Вместо этого, когда я apt -f install здесь, ubuntu хочет удалить 2 пакета, вместо того чтобы исправить установку.

Спасибо за советы. Я знаю, что это действительно не стандартная вещь.

Хотя это не так элегантно, теперь у нас есть fslint-unofficial snap в Центре программного обеспечения Ubuntu.

Смотрите ответ Just_Alex на Как установить Mendeley на Ubuntu 22.04?, который начинается со слов “При установке Mendeley на Ubuntu 22.04 я столкнулся со следующей ошибкой :”.

Он ссылается на подробный ответ на https://serverfault.com/a/383958, чтобы удалить зависимость python из python-gtk2_2.24.0-5.1ubuntu2_amd64.deb. Вы должны иметь возможность сделать то же самое для пакета python-glade2_2.24.0-5.1ubuntu2_amd64.deb.

После того как вы удалите зависимость и перепакуете .debs, вы сможете продолжить установку/запуск вашего старого приложения.

Ответ или решение

Для установки пакетов python-gtk2 и python-glade2 в Ubuntu 22.04 с использованием старого приложения, вы столкнулись с ошибками зависимости, связанными с отсутствием пакета python. Давайте подробно разберем эту ситуацию и найдем способы установки необходимых пакетов.

Шаг 1: Проверка зависимости Python

Судя по выводу ваших команд, пакет python отсутствует. В Ubuntu 22.04 пакет python больше не поставляется отдельно, так как он был заменен на Python 2.7 и Python 3.X. Однако, для установки python-gtk2 и python-glade2, которые имеют зависимости от устаревшей версии, необходимо предпринять дополнительные шаги.

Шаг 2: Установка Python

Вам потребуется установить Python 2, чтобы удовлетворить зависимости:

sudo apt install python2

Это установит Python 2.7, который соответствует требованиям зависимостей для python-gtk2 и python-glade2.

Шаг 3: Установка зависимостей через APT

После установки Python 2 выполните команду для исправления зависимостей:

sudo apt -f install

Эта команда проверит архитектуру системы и установит недостающие пакеты, пытаясь устранить конфликты зависимостей.

Шаг 4: Обходные пути для устаревших пакетов

Если команда apt -f install по-прежнему пытается удалить пакеты, возможно, необходимо удалить зависимости из .deb файлов. При этом мы можем использовать утилиту dpkg-deb.

  1. Расслабьте зависимости в .deb файлах (вы должны это сделать с осторожностью):

    Извлеките содержимое пакета:

    dpkg-deb -R python-gtk2_2.24.0-5.1ubuntu2_amd64.deb python-gtk2
  2. Отредактируйте файл контроля, убрав зависимости на python, например, вы можете открыть файл DEBIAN/control в текстовом редакторе и изменить строку с зависимостями:

    Depends: python2.7

    Сохраните изменения и пересоберите пакет:

    dpkg-deb -b python-gtk2 python-gtk2_modified.deb
  3. Повторите процесс для python-glade2 аналогичным образом.

Шаг 5: Установка модифицированных пакетов

После пересборки выполните команду для установки ваших модифицированных пакетов:

sudo dpkg -i python-gtk2_modified.deb python-glade2_modified.deb

Шаг 6: Использование Snap

Если весь процесс с установкой пакетов становится слишком сложным, вы можете рассмотреть использование Snap, так как некоторые версии FSlint доступны в виде Snap-пакетов, которые могут быть более совместимыми с новыми версиями Ubuntu. Вы можете установить его через:

sudo snap install fslint-unofficial

Заключение

Следуя этим шагам, вы сможете установить необходимые пакеты для работы вашего старого приложения. Этот процесс требует осторожности и понимания зависимостей пакетов в вашей системе. Убедитесь, что вы делаете резервные копии и осторожны при редактировании системных файлов, чтобы избежать потенциальных проблем с неработоспособностью системы.

Оцените материал
Добавить комментарий

Капча загружается...