Mon 04 Jun 2007 03:04:33 PM UTC, original submission:
After an apt-get dist-upgrade on debian testing today, I attempted to run jk_update -j /home/chrootusers:
root@<myserver>:~# jk_update -j /home/chrootusers/
/home/chrootusers/lib/libnss_dns-2.3.6.so exists, but cannot stat file /lib/libnss_dns-2.3.6.so: No such file or directory
/home/chrootusers/lib/tls exists, but cannot stat file /lib/tls: No such file or directory
/home/chrootusers/lib/ld-2.3.6.so exists, but cannot stat file /lib/ld-2.3.6.so: No such file or directory
/home/chrootusers/lib/libnsl-2.3.6.so exists, but cannot stat file /lib/libnsl-2.3.6.so: No such file or directory
/home/chrootusers/lib/libnss_compat-2.3.6.so exists, but cannot stat file /lib/libnss_compat-2.3.6.so: No such file or directory
/home/chrootusers/lib/libnss_files-2.3.6.so exists, but cannot stat file /lib/libnss_files-2.3.6.so: No such file or directory
/home/chrootusers/lib/libncurses.so.5.5 exists, but cannot stat file /lib/libncurses.so.5.5: No such file or directory
I had to manually copy over the updated libs and recreate all of the symlinks. Even after doing that, libraries were still broken, not allowing users to log in:
root@<myserver>:/home/chrootusers/lib# su <username>
/bin/bash: relocation error: /lib/tls/libc.so.6: symbol _dl_out_of_memory, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with link time reference
I was able to successfully log in with a remote user's account after a copy over of the new libs from /lib to /home/chrootusers/lib or /home/chrootusers/lib/tls and recreating appropriate symlinks.
It appears that the jk_update code needs to be updated to search for the libs in either /lib or /lib/tls in order to update the jail.
root@<myserver>:/home/chrootusers/lib/tls# cat /proc/version
Linux version 2.6.18-4-amd64 (Debian 2.6.18.dfsg.1-12) (waldi@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Mon Mar 26 19:17:44 UTC 2007
|