LINUX.ORG.RU

Подпроцесс dpkg-deb --control возвратил код ошибки 2

 


0

1

При попытке установить gcc-8-base (https://packages.debian.org/sid/amd64/gcc-8-base) выдает ошибку :

dpkg-deb: ошибка: в архиве «gcc-8-base_8-20180321-1ubuntu1_amd64.deb» содержится преждевременный элемент «control.tar.xz», до «control.tar.gz», прекращаем
dpkg: ошибка при обработке архива gcc-8-base_8-20180321-1ubuntu1_amd64.deb (--install):
 подпроцесс dpkg-deb --control возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
 gcc-8-base_8-20180321-1ubuntu1_amd64.deb
Хеш сверял, все совпадает. Как быть?

Чтобы поставить такой пакет, нужно либо обновить dpkg как минимум до 1.17.6.

Другой вариант состоит в распаковке deb-пакета как архива ar, потом перепаковке control.tar.xz в control.tar.gz, и последующей сборке заново. Но проще dpkg обновить.

i-rinat ★★★★★ ()
Ответ на: комментарий от Flashwalker

Это какой софтиной делаицо?

С архивами ar можно работать с помощью утилиты ar, а с архивами tar поможет справиться утилита tar. Если понадобится отдельно работать со сжатыми данными, то для .gz используется gzip, а для .xz — xz.

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Упдэйт:

Кароч сам нашёл какую-то дичь,

mkdir tmp
cd tmp
ar p ../original.deb control.tar.xz | tar -Jz
tar czf control.tar.gz *[!z]
cp ../original.deb ../fixed.deb
ar r ../fixed.deb control.tar.gz

лагична, ёпт, но проверять я это конечно же не стану

прост перепаковал dpkg-ом, оно само кароч всё сделает:
mkdir tmp
dpkg-deb -x original.deb tmp/
dpkg-deb -e original.deb tmp/DEBIAN
(dpkg-deb -b tmp/ ~/Загрузки) && /bin/rm -rf tmp/*


збс ёпт.

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

Самое главное забыл написать, указать другой компрессор dpkg-deb -Zgzip -b tmp/ ~/Загрузки

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