2016-06-11 478 views
0

我只是想运行一个二进制文件,但是当我尝试使用我的终端时,它的表现很奇怪,我无法弄清楚是什么问题。在Ubuntu上运行二进制文件时遇到问题

[email protected]:~$ cd Desktop/ 
[email protected]:~/Desktop$ ls 
chal challenge __MACOSX 
[email protected]:~/Desktop$ cd challenge 
[email protected]:~/Desktop/challenge$ ls 
binary1 binary2 binary3 
[email protected]:~/Desktop/challenge$ ./binary1 
bash: ./binary1: Permission denied 
[email protected]:~/Desktop/challenge$ sudo ./binary1 
[sudo] password for rohan: 
sudo: ./binary1: command not found 
[email protected]:~/Desktop/challenge$ 

我也试过给它的权限,但它仍然不能执行它。任何帮助,将不胜感激。谢谢。另外,这些是文件的细节,我的系统是64位的,Ubuntu 16.04LTS,我需要什么以及如何运行这个文件。

file /home/rohan/Desktop/challenge/binary1 
type EXEC (Executable file) 
pic false 
has_va true 
root elf 
class ELF32 
lang c 
arch x86 
bits 32 
machine Intel 80386 
os linux 
subsys linux 
endian little 
strip false 
static false 
linenum true 
lsyms true 
relocs true 
rpath NONE 
+0

我认为这个问题应该AskUbuntu – Nirupa

+0

发布请更新您的问题,以显示你有*后确切的错误信息*你做了'chmod'。 –

回答

0

你可以得到一个shell脚本,其第一行说来运行未在该路径发现的程序的行为:

#!/bin/nosuchprogram 
echo xx 

还,如果脚本碰巧有回车/换行结束,结果相同。

如果这是一个“二进制”文件,可以通过使用file实用程序告诉它可能是什么开始:

file binary3 

,如果它恰好是这可能会在当前系统上运行的一个类型,请与ldd,失踪库:

ldd binary3 

同样的,如果你的Ubuntu系统是64位的机器,你可能没有库支持32位应用程序。作为一个快速检查(如果你不知道你的系统是什么),该arch程序告诉你默认的架构是什么。一些较老的系统不具备这一点,但再次file是你的朋友:

$ file /bin/ls 
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x55f1e005df252708d4c456dcc2c7dccea1006553, stripped 

(这是有可能在一个Ubuntu的32位和64位的库,但大多数都是一个或其他)。

如何让在64位Ubuntu上运行的32位应用程序从一个版本稍微变化到另一个版本。您可能会发现这些有用的:

+0

我试过这样做,这是什么显示出来,rohan @ rohan:〜/桌面/挑战$文件binary1 binary1:ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),动态链接,解释器/ lib/LD-linux.so.2,为GNU/Linux 2.6.15,BuildID [SHA1] = 43af309d3735b17cef57f70cb997eebafd17ebf2,不可剥离 罗汉罗汉@:〜/桌面/挑战$ LDD binary1 \t不是一个动态可执行文件 – TheAmateur

+0

我有一个64位的Ubuntu系统上运行的文件命令,我得到了,罗汉@罗汉:〜/桌面/挑战$文件binary1 binary1:ELF 32位LSB的可执行文件,英特尔80386,版本1(SYSV),动态链接,翻译/ lib目录/ LD -linux.so.2,用于GNU/Linux 2.6.15,BuildID [sha1] = 43af309d3735b17cef57f70cb997eebafd17ebf2,没有剥离 现在,我不知道需要在ord中安装什么呃让它运行。 – TheAmateur

相关问题