我的做法有什么问题吗?

我的做法有什么问题吗?

我曾尝试从开发人员站点/安装包

root@debian:/home/lm/Downloads/telegram# dir
Telegram  tsetup.4.8.9.tar.xz
root@debian:/home/lm/Downloads/telegram# tar -xvf tsetup.4.8.9.tar.xz 
Telegram/
Telegram/Updater
Telegram/Telegram
root@debian:/home/lm/Downloads/telegram# mv Telegram /opt/
root@debian:/home/lm/Downloads/telegram# cd /opt/Telegram/
root@debian:/opt/Telegram# dir
Telegram  Updater
root@debian:/opt/Telegram# ./Telegram 
bash: ./Telegram: cannot execute binary file: Exec format error

解压后,我将文件移动到 /opt 文件夹并避免它不在 PATH 变量中,我直接从文件夹启动它。但它给了我错误消息。如果只是从其他目录使用 PATH 提示符调用二进制文件,则相同

root@debian:/# /opt/Telegram/Telegram
bash: /opt/Telegram/Telegram: cannot execute binary file: Exec format error

我该如何解决它? (或者我在哪里做出了不正确的步骤?)

$> uname -r
6.1.0-9-686-pae
$> file Telegram
Telegram: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=88e4d9c055d23489bcc05f598f65f60d6fba74fe, for GNU/Linux 2.6.32, stripped

答案1

我的做法有什么问题吗?

一般来说,通常情况下,您甚至不应该从任何网站手动下载软件。你说你有Debian Linux,所以只需直接安装 telegram,就像安装任何其他软件一样。

sudo apt install telegram-desktop

完毕。


我下载的东西有什么问题吗?

您正在尝试为 x86_64 处理器运行 64 位可执行文件:

Telegram: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=88e4d9c055d23489bcc05f598f65f60d6fba74fe, for GNU/Linux 2.6.32, stripped

在 32 位操作系统上:

6.1.0-9-686-pae

(这686是一个体系结构描述,说“这是英特尔 i386 的现代版本”,并且说pae这确实是一个具有物理地址扩展的 32 位内核 - 随着 64 位处理器成为标准,这种东西立即变得过时,几乎20年前。)

所以,这是行不通的:你的机器无法运行 64 位代码。

  • 如果您确实拥有 64 位计算机,请不要启动 32 位 Linux。
  • 如果您有 32 位 x86 处理器,那么您的计算机一定很旧。在这种情况下,您下载的某些内容无法在您的计算机上运行。

相关内容