LINUX.ORG.RU
решено ФорумAdmin

ссзб, зделал mv /* /anoter_folder как восстановить систему, переустановку не предлагать

 , ,


0

1

в общем, на плате сделал mv /* /another_folder/ теперь пытаюсь восстановить все обратно вот таким способом /another_folder/lib/ld-linux-armhf.so.3 --library-path "/another_folder/lib:/another_folder/usr/lib" /another_folder/bin/cp -r /anoter_folder/* / пишет:

stm32mp1:/# /another_folder/lib/ld-linux-armhf.so.3 --library-path "/another_folder/lib:/another_folder/usr/lib" /another_folder/bin/cp -r /another_folder/* /
/another_folder/bin/cp: error while loading shared libraries: /another_folder/bin/cp: cannot open shared object file: No such file or directory

как попроавить? подскажите пожалуйста, перезаливать прошивку неохото

★★★

переустановку не предлагать

Как-будто это что-то плохое. Быстро и с гарантированным результатом.

А восстанавливать можно долго и безрезультатно.

vvn_black ★★★★★ ()

Бинарник busybox у тебя есть в bin? Если да, то:

/another_folder/bin/busybox mv /another_folder/* /

Busybox статически слинкован.

Kron4ek ★★★★★ ()

Сделай chroot в твой /another_folder, там примонтируй системный диск куда-нибудь, и проделай то же самое.

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

по идее, путь к ld-linux-armhf.so.3 жестко прописан в каждом бинарнике? он нужен для загрузки бинарника в память? и загрузки *so в память, в соответствии с тем, что прописано в elf секциях бинарника, библиотеки тоже он загружает? если в библиотеках прописан путь к несуществующему /lib/ld-linux-armhf.so.3, то как ни крути, библиотека на загрузится? так чтоли?

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

нет, ln тоже отдельным бинарником, щас консоль перестала реагировать, до вечера помучаемся, а завтра перепрошивать

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

Либы из твоей /another_folder через LD_PRELOAD попробуй загрузить.

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

я думал, что как-то можно загрузить *so, видимо, нет

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

по идее, путь к ld-linux-armhf.so.3 жестко прописан в каждом бинарнике?

Да, ядро его читает и делает ld.so /path/to/binary args.

он нужен для загрузки бинарника в память? и загрузки *so в память, в соответствии с тем, что прописано в elf секциях бинарника, библиотеки тоже он загружает?

Вроде, всё так.

если в библиотеках прописан путь к несуществующему /lib/ld-linux-armhf.so.3, то как ни крути, библиотека на загрузится? так чтоли?

Если запускать через ld.so явно, то я бы ожидал, что загрузится.

Может там где-то битые символические ссылки появились. Можно было бы попробовать покопировать файлы через echo "$(< src)" > dst, но надо придумать как создавать каталоги.

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

спасибо, ссылки там обычно относительно текущего каталога, тоже об этом думал, консоль запорол и завтра буду перепрошивать

IvanR ★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей