Так что я много гуглял с разными поисковыми терминами, но не нашел ничего пригодного для использования, только для того, чтобы использовать ldd
мне нужно использовать otool -L
чтобы увидеть используемые библиотеки программы.
Я попытался скопировать bash в ~/chroot/bin и использовал вышеупомянутый инструмент, чтобы найти его зависимости и также сохранить их там (ну, конечно, я сделал так, чтобы он выглядел как реальный путь. / Usr стал ~/chroot/ usr и т.д.). ).
Но когда я пытаюсь использовать sudo chroot ~/chroot
, он говорит, что в моей оболочке there is no file or directory
. Wat.
Мне нужно выполнить chroot в среде "save", чтобы скомпилировать пакет, который будет также запускаться в среде chroot. Конкретно я не могу заставить php
скомпилировать static:
Kevins-MacBook-Air:System Ingwie$ otool -L ./bin/php
./bin/php:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libedit.3.dylib (compatibility version 2.0.0, current version 3.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/local/lib/libmcrypt.4.dylib (compatibility version 9.0.0, current version 9.8.0)
/usr/local/lib/libltdl.3.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libpng16.16.dylib (compatibility version 20.0.0, current version 20.0.0)
/usr/local/lib/libcurl.4.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.8.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.1.0)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.1.0)
/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP (compatibility version 1.0.0, current version 2.4.0)
Изменение makefile
с -export-dynamic
на -all- -all-static
и такие хитрости ничего не сделали. Это все равно будет скомпилировано. Итак, чтобы получить aorund, я хочу chroot. пакет будет использовать скрипт entrence для воспроизведения chroot и будет работать оттуда.