Имеется 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.
Готово.