标签: executable

"No such file or directory" as error for wrong architecture

我正在尝试在我的 64 位 Ubuntu 上运行交叉编译器。并导致以下错误:

$ ./arm-none-eabi-gcc
bash: ./arm-none-eabi-gcc: No such file or directory
Run Code Online (Sandbox Code Playgroud)

该文件在这里并包含一些数据:

$ ls -la arm-none-eabi-gcc
-rwxr-xr-x 2 alan alan 776368 Sep 26 19:36 arm-none-eabi-gcc
$ head -n 1 arm-none-eabi-gcc
ELF?4?
         4  (44?4?  TT?T???|?
Run Code Online (Sandbox Code Playgroud)

ldd 显示不需要依赖项:

$ ldd arm-none-eabi-gcc
not a dynamic executable
Run Code Online (Sandbox Code Playgroud)

strace 也没有提供额外的信息:

$ strace ./arm-none-eabi-gcc
execve("./arm-none-eabi-gcc", ["./arm-none-eabi-gcc"], [/* 80 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file …
Run Code Online (Sandbox Code Playgroud)

linux executable 32bit binary exec

1
推荐指数
1
解决办法
1385
查看次数

运行程序时我们需要c库吗?

可执行文件应该是机器代码。

因此,将在不需要 c 库的情况下进行系统调用。

从源代码生成可执行文件

但是,我不明白这张图片是什么意思?

C 程序调用 printf()

它只是一种抽象方法吗?

c libraries executable

1
推荐指数
1
解决办法
1222
查看次数

无法运行 .exe 文件

通常我的 Linux 操作系统允许我创建可运行的可执行文件(如a.out),但是当我尝试从 Internet下载.exe 时,它基本上是权限受限的(用户都没有执行 ( -x) 权限)。问题是,当我使用chmod u+x或更改文件权限chmod 777并尝试运行该程序时,我总是收到此错误消息:

run detectors: unable to find an interpreter for ./[file_name].exe
Run Code Online (Sandbox Code Playgroud)

其中[file_name]代表文件的名称。由于我的 Linux 经验和知识非常薄弱,我做了一些研究,但没有发现任何人有这个确切的问题,任何帮助将不胜感激!

附注。我的操作系统是 Ubuntu 16.04.3 LTS 32 位

linux windows executable

1
推荐指数
1
解决办法
2万
查看次数

为什么所有标准命令都包含一个 ASCII 字母?

尽管人们可以轻松地制作一个名为./42甚至的可执行文件./????,但我发现没有包含无字母命令的常见软件包。例如,在 Ubuntu 上,apt-file find . | grep -i -e '/[^a-z/_\-]+$'报告每个可执行文件的基本名称至少有一个字母、下划线或破折号。唯一的自由字母的文件或迪尔斯,我发现是不可执行的,通常版本号:docbook/dtd/xml/4.1.2/usr/include/c++/4.8.2,等。

是否有任何已发布的规则或标准限制了命令的命名方式?或者这仅仅是文化实践?

executable filenames unicode

1
推荐指数
1
解决办法
71
查看次数

Linux 上有哪些类型的可执行文件?

例如,如果我这样做

[OP@localhost executable]$ cat garbage 
lalala
trololol
[OP@localhost executable]$ chmod +x garbage
[OP@localhost executable]$ ./garbage 
./garbage: line 1: lalala: command not found
./garbage: line 2: trololol: command not found
Run Code Online (Sandbox Code Playgroud)

Bash 似乎试图将这个“可执行文件”解释为脚本。但是,有两种情况显然不会发生这种情况:文件以#!, 和 ELF 文件开头。还有吗?某处是否有关于此的全面文档?

linux executable

1
推荐指数
1
解决办法
531
查看次数

/tmp 和 /var/tmp 目录上的 noexec

我们的客户端服务器运行旧版本的 jboss (Jboss 4.0),它有很多已知的漏洞。结果是服务器被黑了,我们看到一些未知的可执行文件从/tmp/var/tmp/dev/shm目录运行。该服务器被用作其他机器的目标机器。

我们修改了 jboss 配置以通过 Nessus 确认该漏洞不再存在来消除该缺陷。除此之外,我执行了以下操作

Mounted /tmp with noexec option
Mounted /dev/shm with noexec,nosuid option 
Run Code Online (Sandbox Code Playgroud)

对我/tmp来说,在单独的分区上执行上述两个步骤没有问题。我正面临/var/tmp位置问题,因为我无法在/var分区上使用 noexec 。因此,计划安装/var/tmp在我用于/tmp定位的同一分区上。我希望这将有助于解决我的问题,但在执行更改后,我注意到文件和目录/tmp/var/tmp.

# ls -l /var/tmp/
total 32
drwx------ 2 ssdg  ssdg   4096 Dec 17 12:10 gconfd-ssdg
drwxr-xr-x 3 root  root   4096 Feb 21  2013 hp_sum
drwxr-xr-x 2 jboss jboss  4096 Dec 18 11:56 hsperfdata_jboss
drwx------ 2 root  root  16384 …
Run Code Online (Sandbox Code Playgroud)

linux filesystems security permissions executable

0
推荐指数
1
解决办法
7299
查看次数

如何准确定位该可执行文件,如果它的名称在命令行中输入,它将运行?

是否可以准确定位该可执行文件

myname
Run Code Online (Sandbox Code Playgroud)

如果传递给命令行,它将运行

> myname
Run Code Online (Sandbox Code Playgroud)

locate命令没有按预期工作,因为它返回了许多结果。结果应该正好是一个,因为如果你运行一些东西,只会运行一个文件。此外,结果应PATH优先考虑。

path executable locate

0
推荐指数
1
解决办法
52
查看次数

如果程序与另一个程序共享名称,如何通过终端运行程序

我的系统上有 Ecplise 平台(编程环境,请参阅https://eclipse.org/)。它可以通过在终端中输入“eclipse”来运行。

现在我安装了 eclipse prolog(见http://www.eclipseclp.org/)。我按照http://eclipseclp.org/Distribution/Current/6.1_224_x86_64_linux/Readme.txt 中的说明进行操作),现在我想启动它。在这些说明中,他们说可以通过在终端中键入“eclipse”来运行它。

但是,如果我这样做,则只会启动 Eclipse 编程环境,而不会启动 Eclipse 序言。

现在我该怎么做?

我使用的是 Linux Mint 17、64 位。

command-line executable

0
推荐指数
1
解决办法
105
查看次数

以舒适的方式设置两个或多个文件以供执行(通过源)

我使用以下方式在当前 Bash 会话中执行一组 Bash 脚本文件:

source ~/myScripts/{assignments.sh,nginx_conf.sh,php_conf.sh,drush_install.sh}
Run Code Online (Sandbox Code Playgroud)

我觉得维护起来不舒服。一些垂直收集更好。伪代码:

assignments.sh
nginx_conf.sh
php_conf.sh
drush_install.sh
Run Code Online (Sandbox Code Playgroud)

你会如何垂直地做到这一点?

顺便说一句,我不确定像这样的源文件是最好的方法。

更新

我现在明白我的单行source操作注定要失败,因为从 Bash 4.3.48(1) 开始,Bash 解释器的评估source方式是它只能处理一个文件,而超出它的任何其他文件都将被评估作为第一个文件的参数(大括号集{}对此无济于事)。

我得到的印象,这是一样的用bash代替source

array executable integrity

0
推荐指数
1
解决办法
52
查看次数

shell 脚本必须是可执行的吗?

查看我/etc/profile.d目录中的文件:

cwellsx@DESKTOP-R6KRF36:/etc/profile.d$ ls -l
total 32
-rw-r--r-- 1 root root   96 Aug 20  2018 01-locale-fix.sh
-rw-r--r-- 1 root root 1557 Dec  4  2017 Z97-byobu.sh
-rwxr-xr-x 1 root root 3417 Mar 11 22:07 Z99-cloud-locale-test.sh
-rwxr-xr-x 1 root root  873 Mar 11 22:07 Z99-cloudinit-warnings.sh
-rw-r--r-- 1 root root  825 Mar 21 10:55 apps-bin-path.sh
-rw-r--r-- 1 root root  664 Apr  2  2018 bash_completion.sh
-rw-r--r-- 1 root root 1003 Dec 29  2015 cedilla-portuguese.sh
-rw-r--r-- 1 root root 2207 Aug 27 12:25 oraclejdk.sh …
Run Code Online (Sandbox Code Playgroud)

permissions executable shell-script windows-subsystem-for-linux

0
推荐指数
1
解决办法
195
查看次数

普通用户如何规避 root 对运行 ls 的限制?

假设 root 用户拒绝对系统中特定普通用户使用“ls”命令的所有权限。那个普通用户如何克服这种拒绝,他如何在没有任何“sudo”命令的情况下使用“ls”命令?

ls permissions executable

-1
推荐指数
1
解决办法
148
查看次数