Trying to run an executable file on terminal (I am using Tails live OS), but I keep receiving an error message. I have set permissions already. The command I wrote:sudo ./home/amnesia/myfileI receive Command not found?I tried running it with or without sudo:$ sudo /home/amnesia/myfilesudo: unable to execute /home/amnesia/myfile: No such file or directory$ /home/amnesia/myfilebash: /home/amnesia/myfile: No such file or directoryInformation about the file (it's a binary, not a script):$ ls -l /home/amnesia/myfile-rwxrwxrwx 1 amnesia amnesia 15327 Sep  3  2013 /home/amnesia/myfile$ file /home/amnesia/myfileELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared lies), for GNU/Linux 2.6.9, not strippedInformation about my system:$ uname -aLinux amnesia 3.16-3-amd64 #1 SMP Debian 3.16.5-1 (2014-10-10) x86_64 GNU/Linux$ file /bin/ls/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xd3280633faaabf56a14a26693d2f810a32222e51, stripped
/home/amnesia/myfile: command not found  64-bit executable, 64-bit kernel
linux;executable;64bit
$ /home/amnesia/myfilebash: /home/amnesia/myfile: No such file or directory$ file /home/amnesia/myfileELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared lies), for GNU/Linux 2.6.9, not strippedSo myfile exists, but running it gives the message No such file or directory. This happens in the following circumstance:The file depends on a loader it's a dynamically linked executable, and these need a loader program to load the dynamically linked libraries. (The loader can also be the interpreter designated by a shebang line, but bash detects this case and gives a different error message.)The loader file is not present.The message No such file or directory is really about the loader, but the shell doesn't know that the loader is involved, so it reports the name of the original file. I explain this in more detail in No such file or directory lies on Optware installed binaries.Why can't you run this program? Because you don't have the dynamic loader for 64-bit executables.$ uname -aLinux amnesia 3.16-3-amd64 #1 SMP Debian 3.16.5-1 (2014-10-10) x86_64 GNU/Linux$ file /bin/ls/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xd3280633faaabf56a14a26693d2f810a32222e51, strippedYour system has a 64-bit kernel, but the rest of the system is 32-bit. Linux supports this configuration (a 64-bit kernel can run both 64-bit programs and 32-bit programs, but a 32-bit kernel can only run 32-bit programs). The kernel can load the program just fine; you would be able to run a statically-linked amd64 executable. However, you don't have the 64-bit loader (/lib64/ld-linux-x86-64.so.2), nor presumably any 64-bit library. So you can't run dynamically-linked amd64 executables.Why would you run a 64-bit kernel with a 32-bit userland?To use more than about 3GB of physical memory. (This isn't the only way  another possibility is to run a 32-bit kernel that supports PAE.)To be able to run 64-bit binaries, e.g. by booting on the live OS and then chrooting into an installed 64-bit system somewhere.To reduce maintenance effort for the distribution: provide a single kernel for recent hardware, and make it 64-bit.To run 64-bit virtual machines (some VM engines require a 64-bit kernel to run a 64-bit VM).I don't think Tails provides a 64-bit system. You should get a 32-bit version of the executable. If you can't, use some other distribution (possibly in a virtual machine).