Существует ли /bin/bash
в вашей среде восстановления? Тот факт, что сообщения, которые вы видите, относятся к minzip
и run_program
, указывает на то, что среда восстановления может быть весьма строго урезана -вниз :, она может иметь другую, более компактную оболочку, например dash
вместо bash
.
Похоже, ваш настоящий скрипт также добавляет parted
в систему:
minzip: Extracted file "/sbin/parted"
Но удостоверились ли вы в наличии всех библиотек, требуемых parted
? Вы можете использовать команду ldd
для просмотра списка библиотек, от которых зависит исполняемый файл (или другая библиотека ). Например, вот список зависимостей от x86 _64 версии parted
. Ваш фактический список, вероятно, будет другим, в зависимости от параметров, выбранных при компиляции parted
, архитектуры вашей системы и соглашений о путях используемого вами дистрибутива Linux.
$ ldd /sbin/parted
linux-vdso.so.1 (0x00007ffff609a000)
libparted.so.2 => /lib/x86_64-linux-gnu/libparted.so.2 (0x00007f9d17be2000)
libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 (0x00007f9d17995000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f9d1776b000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9d173cc000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f9d171c7000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9d16fc3000)
libdevmapper.so.1.02.1 => /lib/x86_64-linux-gnu/libdevmapper.so.1.02.1 (0x00007f9d16d6f000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f9d16b29000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9d18048000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9d16921000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9d166f9000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f9d1822e000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9d164dc000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9d161d8000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9d15f65000)
Здесь linux-vdso.so.1
— виртуальный общий объект, предоставляемый самим ядром. Но все остальные — это библиотеки, которые должны присутствовать, иначе parted
не может быть успешно загружена для выполнения.
Если в вашей среде еще не было установлено parted
, весьма вероятно, что в ней также не было установлено libparted.so.*
. Отсутствие этой библиотеки привело бы к сбою команды parted
.
Сообщение об ошибке
run_program: execv failed: No such file or directory
, вероятно, пытается сказать вам, что либо сам командный файл , либо одна из библиотек, от которых он зависит , недоступны. Надлежащая оболочка могла бы отобразить более подробное сообщение об ошибке, но здесь сообщение, похоже, исходит от run_program
, что, как я полагаю, в первую очередь пытается запустить ваш скрипт.