好的,我有这个虚拟专用服务器,我想把它变成一个游戏服务器。因此,我使用 PuTTy 中的 wget 下载了 Half-Life 游戏服务器安装程序包,但当我运行它时,它显示“不存在这样的文件或目录”。但是,当我列出目录中的文件时,它会显示出来,所以它在那里,但由于某种原因它无法识别它。是什么原因造成的?
答案1
当二进制文件与您正在运行的系统的架构不同时,您会看到这种情况发生。
执行以下命令:
uname -m
(可能报道x86_64
)
和
file <half-life-game-server>
(可能报道ELF 32-bit LSB executable
)
是同样的架构吗?
为了在 64 位系统上运行 32 位二进制文件,您需要 32 位 glibc 运行时。对于 Debian/Ubuntu,请安装该libc6-i386
软件包。
答案2
我 99% 确定您的问题是您没有将文件下载到 中的某个位置$PATH
。与 Windows 不同,大多数 Unix 默认不将当前目录视为路径中。
您需要将文件移动到目录中$PATH
(例如,/usr/local/bin
可能在其中)或者在运行时提供可执行文件的路径,例如./install.sh
。
剩下的 1% 是忘记chmod
在下载文件后将其标记为可执行文件。