我正在运行 Debian Squeeze,如何确定我的处理器是 64 位还是 32 位?我正在考虑下载 64 位操作系统,因为据说它的性能更好。
我看到的所有问题都是指在 64 位系统中运行 32 位应用程序。
我正在运行 32 位 Ubuntu 12.04(实际上是基于它的基本 OS Luna)并且我正在尝试运行一个拒绝打开的 64 位应用程序。跑步:
./64bit_app.run
Run Code Online (Sandbox Code Playgroud)
(64bit_app.run我尝试运行的 64 位应用程序在哪里)导致:
bash: ./64bit_app.run: no se puede ejecutar el fichero binario
Run Code Online (Sandbox Code Playgroud)
转换为“无法执行/运行/打开二进制文件”。
我应该能够运行它吗?是否可以在 32 位系统中运行 64 位应用程序?如果是这样,如何?
在 Linux 和 Windows 上,我已经习惯了需要 64 位内核才能拥有具有多架构/WoW 的系统的情况,我可以在其中并行运行 32 位和 64 位软件。
然后,几年前,当有人向我展示 MacOS 10.6 Snow Leopard 可以使用 32 位模式内核运行 64 位应用程序时,这让我大吃一惊。现在这可能在很大程度上被遗忘了,因为它是一次性的技术过渡。由于硬件在移动领域处于领先地位,据我所知,在 iOS 和 Android 向 64 位的迁移过程中从未需要这样做。
我的问题:在 32 位 Linux 内核(i386 或 armhf)中获得相同的功能需要什么?
我明白这可能不是微不足道的。如果是这样,微软本可以将该功能放入 32 位 Windows XP 中。但是一般要求是什么?是否曾经有过提议的补丁或概念验证?
在嵌入式世界中,我认为这会特别有用,因为 64 位支持在设备驱动程序中可能会滞后很长时间。
输出uname:
root@debian:~ # uname -a
Linux 5asnb 2.6.32-5-amd64 #1 SMP Mon Jun 13 05:49:32 UTC 2011 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
但是,/sbin/init可执行文件显示为 32 位:
root@debian:~ # file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
Run Code Online (Sandbox Code Playgroud)
该系统的其他方面似乎也有矛盾:
root@debian:~ # echo $HOSTTYPE
i486
root@debian:~ # getconf LONG_BIT
32
Run Code Online (Sandbox Code Playgroud) 我在 Raspberry Pi 3 B+ (2017) 或 Pi 4 上有aarch64/版本的 Debian(使用此处的图像)。现在我想运行一些应用程序/库的 32 位 ( / ) 版本,但它们似乎不起作用。特别是来自 Raspbery Pi 用户区应用程序。arm64armhfarmv7raspistill
问题:如果可能的话,如何让raspistill(以及其他 32 位 Arm 二进制文件)在 64 位操作系统上运行?
我尝试过的:
armhf Raspberry Pi 的源代码raspistill:https://raspberrypi.stackexchange.com/a/67157。
not a dynamic executable。No such file or directory。 …在 64 位 Linux 上运行 32 位应用程序时是否有任何性能缺陷(CPU、内存或 IO)?
我主要担心的是指针和内存块的低效利用。
简介
我刚刚转移到 64 位安装,我在内存使用方面遇到了很大的不同(特别是对于像 chrome、firefox、mysql 和 java 应用程序这样的应用程序):
这是 64 位操作系统众所周知的副作用,无论如何 64 位还带来了其他一些优势。
除了 ram 非常便宜之外,还有一些上网本仍然配备 1/2gb ram ......它来了x32 ABI:一个内核功能,旨在限制这个问题。
什么是 x32 ABI:
根据此 pdf,与 64 位普通操作系统相比,它提供了巨大的内存优势(甚至增强了 40%)。
现在,如果我了解x32-ABI 要求:
我知道 Debian 和其他发行版,他们实际上提供了支持 32x-ABI 的库,但我找不到任何文档来设置此功能(我使用的是 Ubuntu 14.04 64bit)
我想用这个问题来帮助我和其他人收集信息,因为我认为这是一个非常有趣的功能。
特别是我的目标是使用 x32-ABI 运行一个应用程序(例如 chrome 或 firefox 或 mysql )。
我很好奇。是否可以在具有 64 位处理器的 32 位操作系统上安装 64 位程序?
我在 raspberry pi 3 上运行 Linux,并尝试安装较新版本的 MongoDB:
armv7l GNU/Linux
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=raspbian
ID_LIKE=debian
Run Code Online (Sandbox Code Playgroud) 我在 32 位 Kali Linux PC 上安装 PowerShell 时遇到一些问题。我遵循了本指南并开始于:
apt update && apt -y install curl gnupg apt-transport-https
Run Code Online (Sandbox Code Playgroud)
接下来,我下载并添加了公共存储库 GPG 密钥,因此 APT 将信任这些包并提醒用户注意包签名的任何问题。
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)
添加 GPG 密钥后,我将 Microsoft 包存储库添加到其自己的包列表文件下/etc/apt/sources.list.d/并更新了可用包的列表。
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" \
> /etc/apt/sources.list.d/powershell.list
apt update
Run Code Online (Sandbox Code Playgroud)
到目前为止,更新过程中没有显示错误,Microsoft 源在我的 source.list 中,一切都应该顺利进行。
当我执行:
apt -y install powershell
Run Code Online (Sandbox Code Playgroud)
我得到:
root@kali:/opt# apt -y install powershell
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package …Run Code Online (Sandbox Code Playgroud) 为什么大多数软件的 i386 版本与 x86_64 版本一起安装在 CentOS 64 位系统上?
# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Package php-xml-5.3.12-5.el5.art.x86_64 already installed and latest version
Package php-xml-5.3.12-5.el5.art.i386 already installed and latest version
Nothing to do
Run Code Online (Sandbox Code Playgroud) 32bit ×10
64bit ×9
linux ×3
arm ×2
debian ×2
centos ×1
kali-linux ×1
kernel ×1
linux-kernel ×1
memory ×1
multiarch ×1
powershell ×1
raspberry-pi ×1
ubuntu ×1
x86 ×1