LINUX.ORG.RU

Не удаляется сломанный пакет

 ,


1

2

Имеется 64 битный Debian. Ставил через apt-get :i386-пакеты для компилирования 32-битных проектов. Что-то пошло не так, пакет gir1.2-ibus-1.0:i386 поломался. Теперь при каждом удобном случае apt-get мне пишет вот это:

$ sudo apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
не установлено до конца или удалено 1 пакетов.
После данной операции, объём занятого дискового пространства возрастёт на 0 B.
Настраивается пакет gir1.2-ibus-1.0:i386 (1.5.14-3) …
dpkg-query: ошибка: --listfiles требует корректное имя пакета, «gir1.2-ibus-1.0» таковым не является: неоднозначное имя пакета «gir1.2-ibus-1.0» с более чем одним установленным экземпляром

Используйте параметр --help для вывода справки по запросам пакетов.
Traceback (most recent call last):
  File "/usr/bin/py3compile", line 290, in <module>
    main()
  File "/usr/bin/py3compile", line 270, in main
    options.force, options.optimize, e_patterns)
  File "/usr/bin/py3compile", line 154, in compile
    for fn, versions_to_compile in filter_files(files, e_patterns, versions):
  File "/usr/bin/py3compile", line 106, in filter_files
    for fn in files:
  File "/usr/share/python3/debpython/files.py", line 71, in filter_public
    for fn in files:
  File "/usr/share/python3/debpython/files.py", line 53, in from_package
    raise Exception("cannot get content of %s" % package_name)
Exception: cannot get content of gir1.2-ibus-1.0
dpkg: ошибка при обработке пакета gir1.2-ibus-1.0:i386 (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
 gir1.2-ibus-1.0:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)

Как от того избавиться? Фиг с ними с :i386, мне это на один раз, соберу в виртуальной машине.

Пробовал -f remove, --force-yes remove, dpkg --purge --force-all. Безрезультатно.

- - - -

Решение:

Проблему решил.

Вот это (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770265#10) нарыл еще до обращения сюда, но не догадался, что с этим делать.

Суть проблемы - баг в пакете gir1.2-ibus-1.0 (в обоих i386 и amd64 версиях).

Решение:

Распаковываем .deb, в файлах DEBIAN/postinst и DEBIAN/prerm дописываем ко всем упоминаниям пакета архитектуру (чтобы вместо gir1.2-ibus-1.0 и получилось gir1.2-ibus-1.0:i386), запаковываем в .deb обратно, устанавливаем исправленный пакет через dpkg -i fixed.deb. Повторить то же самое и для amd64.

Готово.



Последнее исправление: ALPINE (всего исправлений: 1)

sudo apt-get autoremowe

пиво, глазные капли и читать man!

piwww ★★★★
()
Ответ на: комментарий от aureliano15

/var/cache/apt/archives/имя_файла_пакета.deb

.deb файл отсутствует.

При попытке переустановить проблемный пакет (чтобы хотя бы получить файл .deb)

sudo apt-get -f install --reinstall gir1.2-ibus-1.0:i386

Получаю

E: Internal Error, No file name for gir1.2-ibus-1.0:amd64

Для справки, sudo apt-get -f install помимо указанного в первом посте выдаёт еще и вот это:

Exception: cannot get content of gir1.2-ibus-1.0
dpkg: ошибка при обработке пакета gir1.2-ibus-1.0:i386 (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 1
dpkg: зависимости пакетов не позволяют настроить пакет libibus-1.0-dev:amd64:
 libibus-1.0-dev:amd64 зависит от gir1.2-ibus-1.0 (= 1.5.14-3), однако:
  Пакет gir1.2-ibus-1.0:amd64 пока не настроен.

dpkg: ошибка при обработке пакета libibus-1.0-dev:amd64 (--configure):
 проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет libsdl2-dev:
 libsdl2-dev зависит от libibus-1.0-dev, однако:
  Пакет libibus-1.0-dev:amd64 пока не настроен.

dpkg: ошибка при обработке пакета libsdl2-dev (--configure):
 проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 gir1.2-ibus-1.0:amd64
 gir1.2-ibus-1.0:i386
 libibus-1.0-dev:amd64
 libsdl2-dev

(Это я просто устанавливал другие пакеты без указания :i386 - а получил фиг, теперь любой пакет включается в список проблемных.)

ALPINE
() автор топика
Ответ на: комментарий от ALPINE

update: Удалил лишнее, чтоб не мешалось, проблемных пакета два:

При обработке следующих пакетов произошли ошибки:
 gir1.2-ibus-1.0:amd64
 gir1.2-ibus-1.0:i386

ALPINE
() автор топика

dpkg-query: ошибка: --listfiles требует корректное имя пакета

Ну и впиши в список пакетов, то, что система требует, а потом удали.

anonymous
()
Ответ на: комментарий от anonymous

Или посмотри на состав пакета и удали руками все фалй из системы не торгая зависимости, а потом apt-get -f install все поправит

anonymous
()
Ответ на: комментарий от anonymous

Решено

Проблему решил.

Вот это (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770265#10) нарыл еще до обращения сюда, но не догадался, что с этим делать.

Суть проблемы - баг в пакете gir1.2-ibus-1.0 (в обоих i386 и amd64 версиях).

Решение:

Распаковываем .deb, в файлах DEBIAN/postinst и DEBIAN/prerm дописываем ко всем упоминаниям пакета архитектуру (чтобв вместо gir1.2-ibus-1.0 и получилось gir1.2-ibus-1.0:i386), запаковываем в .deb обратно, устанавливаем исправленный пакет через dpkg -i fixed.deb. Повторить то же самое и amd64.

Готово.

ALPINE
() автор топика
Ответ на: Решено от ALPINE

Проблему решил.

Я бы добавил решение в верхний пост: и тебе потом проще найти будет, если оно повторится, а ты забудешь; и другие быстрее найдут; и гугл быстрее найдёт. :-)

Суть проблемы - баг в пакете gir1.2-ibus-1.0 (в обоих i386 и amd64 версиях).

Хм.

Date: Thu, 20 Nov 2014 04:33:56 +0100
[skip]
Date: Fri, 14 Jul 2017 22:56:39 +0100

Интересно. Багу почти 4 года, решение найдено ещё в середине прошлого года, но до сих пор не пофиксили, не смотря на то, что новая стабильная версия Debian вышла недавно.

aureliano15 ★★
()
Ответ на: комментарий от mandala

Возможно мейнтернер опять старый косяк запорол

Тогда надо обновлять багрепорт. Ведь они думают, что проблема закрыта.

aureliano15 ★★
()
Ответ на: комментарий от mandala

пусть ТС

Разумеется, только ТС. Ведь он не написал, какая у него версия Debian. Если версия oldstable, то и вопросов быть не может.

aureliano15 ★★
()
Ответ на: комментарий от ALPINE

Ветку в багтрекере попробую поднять.

Ага. Багтрекер уже отображает новый репорт. Будем надеяться, что к выходу 9.5 пофиксят.

aureliano15 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.