Execute permission on Linux executables

I’m finding that when I move a newly-built app to Linux I always have to give the executable execute permission, because it always seems to be built without it. Is there a reason for this?

How are you transferring the package?

In fact I move it to an external drive on my Mac, which I then mount from the Linux VM or the Raspebrry Pi and copy to a desktop folder on the target before moving it all to /usr/local/bin on the target. This is all done by hand. I could in fact just as well mount (on the Linux side) my Mac home directory and copy from here.

That’s it. The drive you copy it onto doesn’t support ownership and permissions.

After you build it,

tar -zcvf my_application.tgz theapp_folder

Then copy that to the drive, move the drive, copy the tarball off the drive to a standard Linux filesystem, then

tar -zxvf it.

OK well its easy enough to compresss on the Mac side. I’m not moving the drive, BTW, I just mount it from the Linux side as a shared volume.

I assume mounting it as SMB/CIFS. There go your permissions.

OK thanks.

Late to chime in, but I seem to recall that if I use an FTP client to drop and app onto RPi (Linux) that I have to run Chmod and upgrade the privileges - but, if I drag a new file over via FTP and overwrite the old file, the privileges get inherited. To the best of my recollection.