Сбой readelf в qemu chroot при использовании абсолютного пути

308
J.Hartmann

Я пытаюсь установить java 8 SDK в эмулируемую chroot-среду qemu и столкнулся со следующей ошибкой

readelf: Error: /proc/self/exe: Failed to read file's magic number 

Readelf работает, когда путь не является абсолютным. Следующее выводит правильный заголовок.

cd / && readelf -h proc/self/exe 

Но следующее не

readelf -h /proc/self/exe 

Есть предложения или советы по отладке? Заранее спасибо!

0

1 ответ на вопрос

0
RalfFriedl

Пытаться

ls -l proc/self/exe /proc/self/exe 

и посмотрим, есть ли разница.

Зачем вам вообще показывать заголовок readelfвнутри chroot?

/ Proc / self / exe связан с / bin / ls, почему readelf не следует по этой символической ссылке, почему использование абсолютного пути имеет значение? Что касается второго вопроса, он вызывается в процессе предварительной настройки пакетов при установке oracle-java8-installer. Я предполагаю, что это для получения системной информации? J.Hartmann 5 лет назад 0
Это должно быть проблемой с эмулированной средой chroot, эмулируемой qemu, в нормальном chroot оба работают. Также в сообщении не сказано "Нет такого файла". Кажется, что открытие успешно, но чтение - нет. Попробуйте `strace readelf -h / proc / self / exe` RalfFriedl 5 лет назад 0
Вывод strace говорит обо всем! `qemu: неподдерживаемый системный вызов: 26`. Спасибо большое за вашу помощь! J.Hartmann 5 лет назад 0

Похожие вопросы