使用 Ubuntu 操作系统运行程序

使用 Ubuntu 操作系统运行程序

我遇到了一个问题,希望有人能帮我解决。我有一台运行 Ubuntu 20.04 操作系统的 Raspberry Pi 4。我正在尝试运行一个设计为在 Ubuntu 上运行的程序,但是当我尝试安装该程序时,我在安装过程中收到错误,因此我联系了制作该程序的公司,结果被告知该程序只能在 x86 处理器上运行,而不能在 ARM 64 处理器上运行。

我原本以为,如果一个程序能够在 Ubuntu 操作系统上运行,那么它应该可以在任何运行 Ubuntu 的平台上运行,无论是 PC、Mac 还是 Raspberry Pi?

我的假设错了吗?虽然有人说某个程序可以在 Ubuntu 上运行,但仍然依赖于底层处理器?

换句话说,我只能运行使用 Ubuntu 操作系统的程序,但我还必须检查它是否能在特定处理器上运行,而不是像在 Windows 中一样假设我可以运行任何设计为在该特定版本的 Windows 上运行的程序,而不管运行 Windows 操作系统的处理器是什么

欢迎澄清这一问题

答案1

我原本以为,如果一个程序能够在 Ubuntu 操作系统上运行,那么它应该可以在任何运行 Ubuntu 的平台上运行,无论是 PC、Mac 还是 Raspberry Pi?

不,不完全是。它可以运行,但你需要找到源代码并针对该平台进行编译。并且可能需要编辑源文件才能使其按预期工作。

我的这个假设错了吗?

是的,这就是所谓的架构,主要有两种:amd64(或 x64 或 64 位)和 arm。我们以前也有 i386(或 x86 或 32 位),但已经淘汰了(其他一些是 MIPS、Power ISA(IBM)、SPARC(SUN)、Itanium(HP),但这些在消费硬件上并不常见)。较新的 Ubuntu 不再能安装在 32 位平台上,尽管 32 位软件可以在 64 位机器上运行。

但我还必须检查它是否能用特定的处理器运行

在操作系统内部,除非您指示它选择其他架构,否则软件的安装将针对该类型的架构完成。但个人下载应考虑架构。arm 软件无法在 amd 上运行,amd 软件也无法在 arm 上运行。

而不是像在 Windows 中那样假设我可以运行任何专门为在该特定版本的 Windows 上运行而设计的程序,而不管运行 Windows 操作系统的处理器是什么,欢迎澄清这个问题

不对。硬件才是最重要的。无论操作系统是什么,amd64 机器都不会运行 arm 软件。要运行此类软件,您需要下载源代码,然后针对所需的体系结构进行编译。

我有一台运行 Ubuntu 20.04 操作系统的 Raspberry Pi 4

为此,您需要 ARM。

有趣的读物

问:为什么你们使用 ARM 处理器而不是像英特尔这样的 x86 处理器?为什么不与 AMD 合作?Raspberry 上的 Ryzen!

答:这是一个有趣的想法,主要是因为它允许我们运行“常规”Windows。但现在已经没有以前那么有用了,而 ARM 架构的功耗/价格/性能/面积优势相当有说服力。

相关内容