Bug 59645

Summary: Ошибки при удалении ПО для среднего профессионального образования
Product: Sisyphus Reporter: Mikhail D Hoteev <hoteevmd>
Component: alt-components-baseAssignee: Ajrat Makhmutov <rauty>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: alxvmr, amakeenk, armatik, belayaav, jqt4, liannnix, rauty, sin
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Mikhail D Hoteev 2026-06-25 21:40:21 MSK
Воспроизводится на стенде, обновлённом до Sisyphus:
Alt Workstation 11.1 x86_64

Версия пакета:
alt-components-base-0.10.5-alt1

Описание:
При установке компоненты "ПО для среднего профессионального образования" как через Альт Центр, так и через Альт Компоненты и дальнейшей попытке их удалить возникают ошибки:
1) В Альт Центре
ошибка: Неудовлетворенные зависимости:
	python3(curses) < 0 нужен для (установлен) iotop-0.6-alt3.noarch
Операция завершилась с ошибкой.
(при этом пакет iotop-0.6-alt3 в системе установлен)
2) В Альт Компонентах:
Транзакция содержит пакеты на удаление, помеченные системой как установленные вручную
В обоих случаях компонента не удаляется из системы.

Шаги для воспроизведения:
1) Запустить Альт Центр и перейти в Режим Эксперта, зайти во вкладку Компоненты.
2) Найти в списке и установить компонент "ПО для среднего профессионального образования", дождаться успешной установки.
3) Попытаться удалить компоненту "ПО для среднего профессионального образования" средствами Альт Центр или Альт Компоненты.

Ожидаемый результат:
Компоненты и все их содержимое удаляется.
Реальный результат:
Компоненты остаются в системе.

Воспроизводится в p11.
Не воспроизводится на Alt Education 11.1 KDE/XFCE, не воспроизводится на KWorkstation 11.4
Comment 1 Белая Алёна 2026-07-15 12:56:31 MSK
Так происходит, потому что в составе компоненты "ПО для среднего профессионального образования" находится python3-modules-curses. Этот пакет установлен в системе по умолчанию - еще до того, как вы устанавливаете "ПО для среднего профессионального образования". 
Также по умолчанию установлен и iotop, который зависит от python3-modules-curses. 

Когда вы пытаетесь удалить компоненту, то команда на удаление содержит в себе и python3-modules-curses. 
Альтцентр, а если быть точнее, rpm сообщает, что от python3-modules-curses зависит iotop, и обрывает выполнение. Это не связано с компонентой как таковой, можете просто выполнить на Alt Workstation следующую команду, будет тот же результат:

# rpm -e python3-modules-curses 
ошибка: Неудовлетворенные зависимости:
	python3(curses) < 0 нужен для (установлен) iotop-0.6-alt3.noarch

Альт Компоненты сообщают примерно то же самое, только другими словами - пакет был установлен до установки компоненты, а значит его удаление может привести к поломке чего-либо в системе. 

Оба приложения по сути останавливают процесс, т.к. расценивают его опасным. 

В связи с этим ожидаемый результат изначально неправильный, удаление всего содержимого компоненты может привести к фатальным последствиям.
Comment 2 Mikhail D Hoteev 2026-07-15 14:59:22 MSK
(Ответ для Белая Алёна на комментарий #1)
> Так происходит, потому что в составе компоненты "ПО для среднего
> профессионального образования" находится python3-modules-curses. Этот пакет
> установлен в системе по умолчанию - еще до того, как вы устанавливаете "ПО
> для среднего профессионального образования". 
> Также по умолчанию установлен и iotop, который зависит от
> python3-modules-curses. 

Согласен, но тогда вопрос сопровождающему:
Есть ли смысл включать этот пакет в данный компонент? Я проверил, пакет python3-modules-curses действительно по умолчанию присутствует во всех актуальных дистрибутивах. Его наличие в компоненте точно препятствует нормальному удалению последнего, возникает выше описанная ошибка, что точно не является ожидаемым поведением.
Comment 3 Alexander Makeenkov 2026-07-15 15:08:20 MSK
(Ответ для Mikhail D Hoteev на комментарий #2)
> Есть ли смысл включать этот пакет в данный компонент?

Если он нужен, то обязательно.

> Я проверил, пакет
> python3-modules-curses действительно по умолчанию присутствует во всех
> актуальных дистрибутивах.

Сейчас да, потом может быть не так.

По-хорошему, пользователь должен иметь возможность удалить то, что поставил сам. Приложение должно понимать, какие пакеты были установлены "до" и при удалении удалять только те, которые были установлены в процессе установки компоненты, не трогая те, которые были установлены до.

Считаю, что ошибка в поведении всё-таки скорее есть, чем её нету.