LINUX.ORG.RU

Помогите запустить на свежем Debian файл с типом POSIX tar archive (GNU)

 , ,


0

1

Доброго времени суток, сообщество!

Есть довольно старое ПО под линукс, которое ранее прекрасно работало на множестве дистрибутивов. Сейчас я его пытаюсь запустить на относительно свежем debian:

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux trixie/sid
Release:	n/a
Codename:	trixie

И получаю вот такой ответ:

# ./bin/ar
bash: ./bin/ar: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла

Проверяю формат файла:

# file ./bin/ar
./bin/ar: POSIX tar archive (GNU)

Вобщем это таровский архив, но который запускается на всех моих системах кроме свежего дебиана (на старых Debian типа jessie и wheezy все прекрасно запускается). На убунте, на последних астра-линукс - тоже запускается. Разархивировать файл не предлагать, это немного сложный пакет, где таких файлов типа этого ./ar много, они все сделаны жесткими ссылками друг на друга, а затем затарированы. Тар сразу говорит что файлы с более чем одной жесткой ссылкой разархивировать он отказывается. Тут вопрос что именно в новом debian запрещает запускать такие файлы, хотя раньше все работало.



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

Ответ на: комментарий от undef

binfmt_support установлен.

Вот блок от подобного другого файла.

$ dd if=./bt21c-ar count=1 status=none | od -Ax -tx1z -v
000000 62 61 67 65 74 2d 74 6f 6f 6c 73 2f 48 2d 6c 69  >baget-tools/H-li<
000010 6e 75 78 38 36 2f 62 74 32 31 63 2f 69 6e 63 6c  >nux86/bt21c/incl<
000020 75 64 65 00 00 00 00 00 00 00 00 00 00 00 00 00  >ude.............<
000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000060 00 00 00 00 30 30 30 30 37 37 37 00 30 30 30 30  >....0000777.0000<
000070 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  >000.0000000.0000<
000080 30 30 30 30 30 30 30 00 31 33 35 37 34 36 32 36  >0000000.13574626<
000090 34 33 32 00 30 32 32 32 31 30 00 20 32 2f 72 68  >432.022210. 2/rh<
0000a0 37 33 2f 68 6f 6d 65 2f 6f 63 32 2e 30 36 69 2f  >73/home/oc2.06i/<
0000b0 69 6e 63 6c 75 64 65 00 00 00 00 00 00 00 00 00  >include.........<
0000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00  >.ustar  .root...<
000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00  >.........root...<
000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
0001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  >................<
000200
Zhivoi
() автор топика

Прошу у сообщества прощения, оказалось я сильно затупил. Объясняю как это произошло: Я поставил новый дебиан, скачал с репозитория копию нашего ПО (tools.tar.gz), разархивировал его, прописал пути, и попытался запустить, получил вот такую ошибку как в первом сообщении. Искал, гуглил, ничего не нашел, понял что в тупике и обратился к вам. В итоге идея уважаемого undef, сходить и проверить на старой системе и сработала..

Оказалось что там файлы нормального 32х-битного эльф формата. А при переносе на дебиан - становятся таровскими архивами.

А причиной оказалась моя ленивость, я привык к «mc», просто то что я делал миллион раз до этот - жмякнуть энетер на архив, просто f5, и вуаля (у нас нет Х, поэтому либо консоль, либо мц). Так вот, оказалось что в новом дебиане «mc» с архивами работает крайне криво, разархивирует через жопу и на выходе зажатые tar’ом файлы (чего ниразу небыло на старых системах) на выходе имеют сжатый формат. Архив через мц разархивировался по принципу «gz распаковал, а тар разделил все файлы, но они так тарированными и остались»

В сухом остатке

tar xvf tools.tar.gz 

распаковал все корректно, все файлы имеют elf32 формат, все работает. Сорян что навел тут смуту.

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