jk_updater_ispc fails with no such directory for lib64 on debian 9

Discussion in 'Installation/Configuration' started by Richard Foley, Jul 21, 2019.

Tags:
  1. Richard Foley

    Richard Foley Member

    I'm trying to add an application to my user's jails, and am using the jk_updater_ispc script. When I run it, the following error appears to kill the program:
    Code:
    bash jk_updater_ispc
    find: ‘/var/www/clients/client8/web5//lib64’: No such file or directory
    ERROR:  while scannign dir /var/www/clients/client8/web5/lib64/: No such file or directory
    It's true that the directory doesn't exist, but I'm not sure if it's supposed to, or where it would come from if it did?
     
  2. Richard Foley

    Richard Foley Member

    Also, when I try to create the directory, this is not permitted even as root!

    Code:
    root@mythic:~# mkdir /var/www/clients/client8/web5/lib64
    mkdir: cannot create directory ‘/var/www/clients/client8/web5/lib64’: Operation not permitted
    Looking at the permissions:

    Code:
    namei -l /var/www/clients/client8/web5/lib64
    f: /var/www/clients/client8/web5/lib64
    drwxr-xr-x root root /
    drwxr-xr-x root root var
    drwxr-xr-x root root www
    drwxr-xr-x root root clients
    drwxr-xr-x root root client8
    drwxr-xr-x root root web5
                         lib64 - No such file or directory
    
    ...scratches head...
     
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    I don't know what script that is that you use, it does not seem to handle things correctly as it would have to remove the immutable attribute on the website root first before you can create directories there and then it has to set it again.
     
  4. Richard Foley

    Richard Foley Member

    hi till,

    I was using the script referenced here: https://www.howtoforge.com/community/threads/php-fpm-does-not-work.79253/#post-375458

    What I'm trying to do is to add one or more applications to my jailkit'd users environments, and then to update all the ispconfig3 jails at the same time (instead of one by one...). The linked script above was (I think) recommended via Jesse Norrel, the author of jailkit I believe, within the ispconfig3 forums. Just trying to follow the best instructions I can find here :)

    I suppose an alternative would be to loop over the users in the shell and apply jk_update to each one in turn...?

     
    Last edited: Jul 22, 2019
  5. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    I wrote the updater script actually, not jailkit itself. I do use it on debian 9, but there is clearly something different in the setups. I'll take a look when I'm at a computer.
     
  6. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Looking at this now, what machine architecture are you running? /lib64 is part of libc6:amd64, and would be included in any jail that includes a dynamically linked binary, which is all of them (eg. core utils like /bin/ls would pull in /lib64). What do you get running 'ldd /bin/ls'? I'll update the script to test for the presence of /lib64, and also add in directories for other architectures if we can identify what they should be.

    Thanks...
     
    Richard Foley likes this.
  7. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    This often works for simple package updates, but it fails when doing dist upgrades or more substantial package reworking. The jk_updater_ispc script walks through directories looking for and cleaning up dangling symlinks which the default jk_* utilities can leave behind/broken.
     
    Richard Foley likes this.
  8. Richard Foley

    Richard Foley Member

    hi Jesse,
    thanks very much for looking into this. Here's the output from your `ldd` commando:
    Code:
     ldd /bin/ls
            linux-gate.so.1 (0xb76eb000)
            libselinux.so.1 => /lib/i386-linux-gnu/libselinux.so.1 (0xb7688000)
            libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74d1000)
            libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb7459000)
            libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7454000)
            /lib/ld-linux.so.2 (0xb76ed000)
            libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7437000)
     
  9. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    @Richard Foley give this a try. (I had to give it a .txt extension to be able to upload it, just rename back to jk_updater_ispc, and make sure it's executable.)
     

    Attached Files:

  10. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Also I am curious, what architecture is that on?
     
  11. Richard Foley

    Richard Foley Member

    Linux $host 4.9.0-9-686-pae #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) i686 GNU/Linux
     
  12. Richard Foley

    Richard Foley Member

    hi Jesse,
    so the code output the only following information.
    Code:
    removing outdated file /var/www/clients/client8/web5/lib/i386-linux-gnu/libpcre.so.3.13.3
    Copying /lib/i386-linux-gnu/libpcre.so.3.13.3 to /var/www/clients/client8/web5/lib/i386-linux-gnu/libpcre.so.3.13.3
    
    Which made me think it might be nice if the script output a bit more info. as to what it's doing/done... Something like:
    Just a thought. :)
     
  13. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    Right now it approximates jk_updates level of verbosity. It could be made more verbose, though some of that should only be printed if explicitly requested, as it's intended to be run regularly from cron jobs, and cron jobs which print a whole bunch of info to simply say, "all is well, nothing to see here" are a bane to all of us. :)
     
  14. Richard Foley

    Richard Foley Member

    Understood. I always think a `-v` option is a good adjunct to a script though. ;)

     
  15. Jesse Norell

    Jesse Norell Well-Known Member Staff Member Howtoforge Staff

    This one has a -v for some more output of what's going on. I think jk_update and friends (jk_cp/jk_init) print their output unconditionally, and I didn't change how that was handled.
     

    Attached Files:

    Richard Foley likes this.
  16. Richard Foley

    Richard Foley Member

    that's very helpful. I won't go into any further requests for different feedback, just seeing it's (apparently) doing something is fine. And thanks once again for the very prompt and helpful response. :)

     

Share This Page