在Ubuntu上运行二进制文件时遇到问题
我只是想运行一个二进制文件,但是当我尝试使用我的终端时,它的表现很奇怪,我无法弄清楚是什么问题。在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
你可以得到一个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位应用程序从一个版本稍微变化到另一个版本。您可能会发现这些有用的:
我试过这样做,这是什么显示出来,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
我有一个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
我认为这个问题应该AskUbuntu – Nirupa
发布请更新您的问题,以显示你有*后确切的错误信息*你做了'chmod'。 –