Jump to content

Recommended Posts

Posted

"/bin/ls cannot access *" isn't referring to "/bin/ls" not being accessible, it is the "install" app trying to execute "/bin/ls *" and the "*" is not expanding as it would on the shell.

i.e. when you type "ls *" from a shell (or run "ls *" from a shell script), the "*" is expanded by the shell to all non-hidden (i.e. not starting with a ".") files. since it appears "install" is an executable, it is probably doing a 'system("/bin/ls *");' in the C code, which would not be expanded, so "ls" is literally looking for a file named "*", which it can't find. so, because it's presumably being called to do a check of the current directory's contents, but is erroring out, the "install" app is just giving the error you're seeing based on the call to "ls" which is failing for it.

if you run "strace /tmp/install >install.out 2>&1" (without the quotes) it will give you the gory details of exactly what that app is doing, down to the kernel level system calls, in a file called "install.out" in the current directory.

mjb

  • Replies 50
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.