Система неожиданно зависла при обновлении по неопределённым причинам. В результате этого на системе оказалось много дублированных пакетов. Однако, дальнейшее обновление невозможно: # apt-get dist-upgrade --fix-broken ... пропущено много строк ... 52 будет обновлено, 6 новых установлено, 589 пакетов будет удалено и 1 не будет обновлено. Необходимо получить 0B/151MB архивов. После распаковки будет освобождено 7215MB дискового пространства. Продолжить? [Y/n] y Совершаем изменения... Подготовка... #################################################################################################### [100%] пакет plasma5-kwin-common-5.12.8-alt1.noarch уже установлен файл /usr/share/kf5/doc/HTML/ca/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/ca/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/de/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/de/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/en/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/en/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/it/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/it/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/nl/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/nl/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/pt/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/pt/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/pt_BR/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/pt_BR/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/ru/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/ru/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/sv/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/sv/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/uk/kcontrol/kwindecoration/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch файл /usr/share/kf5/doc/HTML/uk/kcontrol/windowbehaviour/index.cache.bz2 из устанавливаемого пакета plasma5-kwin-common-5.12.8-alt1.noarch конфликтует с файлом из пакета plasma5-kwin-common-5.12.8-alt1.noarch пакет libkwinglutils11-5.12.8-alt1.x86_64 уже установлен файл /usr/lib64/libkwinglutils.so.5.12.8 из устанавливаемого пакета libkwinglutils11-5.12.8-alt1.x86_64 конфликтует с файлом из пакета libkwinglutils11-5.12.8-alt1.x86_64 пакет libkwin5-5.12.8-alt1.x86_64 уже установлен файл /usr/lib64/libkwin.so.5.12.8 из устанавливаемого пакета libkwin5-5.12.8-alt1.x86_64 конфликтует с файлом из пакета libkwin5-5.12.8-alt1.x86_64 E: Ошибка во время исполнения транзакции # rpm -e --nodeps plasma5-kwin-common-5.12.8-alt1 ошибка: "plasma5-kwin-common-5.12.8-alt1" specifies multiple packages: plasma5-kwin-common-5.12.8-alt1.noarch plasma5-kwin-common-5.12.8-alt1.noarch # rpm -qa | grep plasma5-kwin-common-5.12.8-alt1 plasma5-kwin-common-5.12.8-alt1.noarch plasma5-kwin-common-5.12.8-alt1.noarch # rpm -q plasma5-kwin-common --qf '%{NAME} %{EVR} %{DISTTAG}\n' plasma5-kwin-common 5.12.8-alt1 sisyphus+223879.1400.2.3 plasma5-kwin-common 5.12.8-alt1 sisyphus+225279.100.1.1 До введения DISTTAG в аналогичной ситуации вполне можно было исправить систему, удаляя дублированные пакеты на основе их версий, поскольку эпохи/версии/релизы у пакетов отличались, сейчас возможности удалить один из дублированных пакетов - нет.
Указать disttag при удалении нельзя?
(В ответ на комментарий №1) > Указать disttag при удалении нельзя? Я пока такой возможности не видел. Неплохо бы к возможности указывать disttag при удалении также добавить вывод %DISTTAG если выводится %EVR, например, при выводе списка дублированных пакетов, чтобы отдельно дополнительное rpm query не писать.
(In reply to comment #2) > (В ответ на комментарий №1) > > Указать disttag при удалении нельзя? > > Я пока такой возможности не видел. Неплохо бы к возможности указывать disttag > при удалении также добавить вывод %DISTTAG если выводится %EVR, например, при > выводе списка дублированных пакетов, чтобы отдельно дополнительное rpm query не > писать. У меня были наработки на эту тему. Соберу следующий релиз rpm с возможностью указать disttag.
Вопрос: стоит ли менять при этом формат вывода `rpm -qa`? Чтобы вместо "%{name}-%{version}.%{release}" выводилось "%{name}-%{EVR}:%{?disttag::%disttag}"? Мне не очевидно, что от такого изменения может сломаться?
(In reply to comment #4) > Вопрос: стоит ли менять при этом формат вывода `rpm -qa`? А зачем?
(In reply to comment #5) > (In reply to comment #4) > > Вопрос: стоит ли менять при этом формат вывода `rpm -qa`? > > А зачем? Чтобы явно было видно, что установлен не два раза одна версия пакета, а два различных пакета, например. И чтобы было понятно, что именно писать в `rpm -e`
(В ответ на комментарий №6) > (In reply to comment #5) > > (In reply to comment #4) > > > Вопрос: стоит ли менять при этом формат вывода `rpm -qa`? > > > > А зачем? > > Чтобы явно было видно, что установлен не два раза одна версия пакета, а два > различных пакета, например. И чтобы было понятно, что именно писать в `rpm -e` Можно добавить опцию для отображения (или спрятывания) %DISTTAG из вывода.
(In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #4) > > > Вопрос: стоит ли менять при этом формат вывода `rpm -qa`? > > > > А зачем? > > Чтобы явно было видно, что установлен не два раза одна версия пакета, а два > различных пакета, например. И чтобы было понятно, что именно писать в `rpm -e` Там даже Epoch не выводится, и ничего, никому не надо было. Я бы традиционный формат вывода не трогал, во избежание.
главное научиться обрабатывать disttag в rpm -e. Запросить то можно и через query-format.
Можно в выводе "error: "pkg" specifies multiple packages:" выводить формат с disttag. По идее, это ничего не должно сломать, очень удивлюсь, если скрипты это используют и парсят.
(In reply to comment #10) > Можно в выводе "error: "pkg" specifies multiple packages:" выводить формат с > disttag. По идее, это ничего не должно сломать, очень удивлюсь, если скрипты > это используют и парсят. Тут, я думаю, мы ничем не рискуем, расширяя формат вывода.
Как workaround для систем, где такое случилось, glebfm@ предложил использовать --allmatches
Всё-таки с выводом более-менее понятно. Вопрос в удалении мусора.
(In reply to comment #9) > главное научиться обрабатывать disttag в rpm -e. > > Запросить то можно и через query-format. Да, именно так. Несчастные случаи на производстве с подобным итогом что-то часты в последнее время, --allmatches не спасает.
Нажатие ctrl+c при dist-upgrade так-же приводит в появлению трудноудаляемых пакетов.
rpm-4.13.0.1-alt7 -> sisyphus: Mon May 27 2019 Ivan Zakharyaschev <imz@altlinux> 4.13.0.1-alt7 (thx Vladimir D. Seleznev vseleznv@) - Added support for dbi matching against DistTag and BuildTime (closes: #36375). - Display NEVR with DistTag or BuildTime when label, specified to erase, is matching to multiple packages. (thx Gleb F-Malinovskiy glebfm@) - Fix non-LFS functions on i586 in rpm-plugins/systemd_inhibit.so, /usr/lib/rpm/sepdebugcrcfix (thx glebfm@).