htmldoc im chroot des Apaches

shor

Active Member
Hallo!

Befinde mich wieder in der chroot Hölle! :)
Ich möchte gerne htmldoc im chroot des Apaches nutzen. Habe htmldoc per pkg_add installiert und dann per ldd geschaut, welche shl es denn gerne hätte:

Code:
# ldd /usr/local/bin/htmldoc
/usr/local/bin/htmldoc:
        Start    End      Type Open Ref GrpRef Name
        00000000 00000000 exe  1    0   0      /usr/local/bin/htmldoc
        0d2cd000 2d2d8000 rlib 0    1   0      /usr/lib/libssl.so.11.0
        06229000 26258000 rlib 0    1   0      /usr/lib/libcrypto.so.13.0
        08ba3000 28baa000 rlib 0    1   0      /usr/local/lib/libpng.so.6.0
        0fb56000 2fb5e000 rlib 0    1   0      /usr/lib/libz.so.4.1
        01707000 2170d000 rlib 0    1   0      /usr/local/lib/libjpeg.so.62.0
        0e23f000 2e246000 rlib 0    1   0      /usr/lib/libm.so.2.3
        0f87d000 2f8b1000 rlib 0    1   0      /usr/lib/libc.so.43.0
        02a8c000 02a8c000 rtld 0    1   0      /usr/libexec/ld.so

Die habe ich dann mit den anderen Files von htmldoc ins chroot kopiert:
Code:
cp /usr/local/bin/htmldoc /var/www/usr/local/bin
cp /usr/lib/libssl.so.11.0 /var/www/usr/lib
cp /usr/lib/libcrypto.so.13.0 /var/www/usr/lib
cp /usr/local/lib/libpng.so.6.0 /var/www/usr/local/lib
cp /usr/lib/libz.so.4.1 /var/www/usr/lib
cp /usr/local/lib/libjpeg.so.62.0 /var/www/usr/local/lib
cp /usr/lib/libm.so.2.3 /var/www/usr/lib
cp /usr/lib/libc.so.43.0 /var/www/usr/lib
cp /usr/libexec/ld.so /var/www/usr/libexec/
cp -R /usr/local/share/htmldoc/ /var/www/usr/local/share/

Leider funktioniert das ganze nicht, ein Test mit chroot liefert:
Code:
# chroot -u www /var/www htmldoc
htmldoc: can't load library 'libpng.so.6.0'

Ein ls -l auf das Verzeichnis, in dem htmldoc angeblich nach der shl sucht liefert:
Code:
# ls -l /var/www/usr/local/lib
total 286
-rw-r--r--    1 www      www        132032 Dec  3 00:21 libjpeg.so.62.0
-rw-r--r--    1 www      www        157519 Dec  3 00:21 libpng.so.6.0

Seltsam, oder? Eigentlich sollte das doch funktionieren?

Grüße und Dankeschön,
shor
 
Hallo oneone!

Habe sie nach /var/www/usr/lib kopiert - jetzt funktionierts! Vielen Dank dafür! :-) Ist /usr/lib der Default-Suchpfad für Shared Libraries? Wo speicher ld denn ab, welche shls wo liegen? (Ich dachte das würde in der ld.so stehen?) Ich frage mich nur warum die shls in meinem "richtigen" System in /usr/local/lib liegen und es dort funktioniert und im chroot nicht mehr...

Grüße,
shor
 
dafür ist ld.so.hints zuständig. du musst innerhalb des chroots ldconfig(8) ausführen und die pfade hinzufügen.
 
Back
Top