“没有这样的文件或目录”?

“没有这样的文件或目录”?

好的,我有一个闲置的 VDS,我想把它变成一个 TF2 游戏服务器。当我通过 PuTTY 连接到我的服务器,并使用 wget 从 Steampowered.com 下载包“hldsupdatetool.bin”时。我去运行它,它显示“未找到这样的文件或目录”。当我使用“ls”查看目录中有哪些文件时,它会将“hldsupdatetool.bin”列为目录中的文件。那么,为什么它说它不在那里?这在过去的两天里一直令人头疼。

它正在返回:

root@10004:~# wget http://www.steampowered.com/download/hldsupdatetool.bin
--2012-07-08 06:04:49--  http://www.steampowered.com/download/hldsupdatetool.bin
Resolving www.steampowered.com... 208.64.202.68
Connecting to www.steampowered.com|208.64.202.68|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3513408 (3.4M) [application/octet-stream]
Saving to: “hldsupdatetool.bin.3”

100%[======================================>] 3,513,408   2.45M/s   in 1.4s

2012-07-08 06:04:51 (2.45 MB/s) - “hldsupdatetool.bin.3” saved [3513408/3513408]

root@10004:~# chmod +x hldsupdatetool.bin.3
root@10004:~# ./hldsupdatetool.bin.3
-bash: ./hldsupdatetool.bin.3: No such file or directory
root@10004:~#

更多的:

root@10004:~# ls
ffmpeg-packages     hldsupdatetool.bin.1  hldsupdatetool.bin.3
hldsupdatetool.bin  hldsupdatetool.bin.2  setup.sh
root@10004:~# ls -la
total 13828
drwx------  4 root root    4096 Jul  8 06:04 .
drwxr-xr-x 21 root root    4096 Jul  8 05:57 ..
-rw-------  1 root root    8799 Jul  8 06:26 .bash_history
-rw-r--r--  1 root root     570 Jan 31  2010 .bashrc
-rw-r--r--  1 root root       4 Jul  2 19:39 .custombuild
drwxr-xr-x  2 root root    4096 Jul  4 18:49 ffmpeg-packages
---x--xrwx  1 root root 3513408 Sep  2  2005 hldsupdatetool.bin
-rwxr-xr-x  1 root root 3513408 Sep  2  2005 hldsupdatetool.bin.1
-rw-r--r--  1 root root 3513408 Sep  2  2005 hldsupdatetool.bin.2
-rwxr-xr-x  1 root root 3513408 Sep  2  2005 hldsupdatetool.bin.3
-rw-r--r--  1 root root     140 Nov 19  2007 .profile
-rw-------  1 root root    1024 Jul  2 19:49 .rnd
-rwxr-xr-x  1 root root   38866 May 23 22:02 setup.sh
drwxr-xr-x  2 root root    4096 Jul  2 19:44 .ssh
root@10004:~#

答案1

通常错误类似“没有这样的文件或目录“意味着您缺少该程序的一个关键库。

你可以尝试

ldd hldsupdatetool.bin

查看它需要什么库,任何你没有的库都会被指出。

最可能的问题是您在 64 位系统上运行,而 hldsupdatetool.bin 程序是 32 位可执行文件。

安装lib32gcc1该软件包似乎解决了这些问题。

您没有指定正在运行的 Linux 版本,因此安装软件包的命令会有所不同。请使用您通常用于安装软件包的任何方法。(是的,这很有帮助,对吧?)

希望这可以帮助。

答案2

我猜想该文件有一个类似于#!/bin/bash二进制文件的 shebang 行,但您的系统上不存在该行。更改 shebang 行,或弄清楚如何通过所需的解释器运行脚本(例如/usr/local/bin/bash ./hlsupdatetool.bin.3)。无论哪种方式,使用检查文件都less应该能发现这是否是正确的诊断。(.bin扩展程序建议您下载了一个“二进制文件”,但这可能具有误导性。)

相关内容