为什么我的系统架构是 i386 在 64 位处理器上?

Leo*_*ano 10 64bit debian cpu-architecture

最近,我的 Gmail 上出现一条小消息,通知我我的 google chrome 版本不再兼容。所以我尝试更新我的 chrome(我有一段时间没有关心我的 chrome 版本,我的版本是 45.0.2454.99)。

所以我按照 chrome 本身给出的说明进行操作,并google-chrome-stable_current_amd64.deb为我的 Debian下载了它。

当我尝试使用以下方法安装它时:

dpkg -i google-chrome-stable_current_amd64.deb    
Run Code Online (Sandbox Code Playgroud)

它给我带来了一个错误:

 dpkg: error processing archive google-chrome-stable_current_amd64.deb
 (--install):  package architecture (amd64) does not match system
 (i386)
Run Code Online (Sandbox Code Playgroud)

直到今天我怀疑我的电脑是 64 位的,所以我跑了 uname -a

Linux MyComp 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) x86_64 GNU/Linux

“free”命令显示我的 SO 知道有 8gigs 的内存:

            total       used       free     shared    buffers     cached
 Mem:       8071684    5521740    2549944     325624     360696    1918748
Run Code Online (Sandbox Code Playgroud)

添加编辑:仍然dpkg --print-architecture 产生i386

我的操作系统怎么了?是不是 x64?为什么我的 chrome 无法升级?

我知道 chrome 停止了 32 位支持,但这对我来说应该不是问题,是吗?

启动apt-get install google-chrome-stable给了我:

google-chrome-stable is already the newest version.
Run Code Online (Sandbox Code Playgroud)

编辑:

因此,在按照以下说明进行操作后:

sudo dpkg --add-architecture amd64
sudo apt-get update

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

就更乱了。

$google-chrome
Run Code Online (Sandbox Code Playgroud)

[1:1:0323/093649:ERROR:image_metadata_extractor.cc(114)] 无法加载 libexif。libexif.so.12:无法打开共享对象文件:没有那个文件或目录 [26967:26967:0323/093649:ERROR:browser_main_loop.cc(245)] GTK 主题错误:无法在 module_path 中找到主题引擎:“xfce” , (10倍)

中止

我启动时一样 google-chrome-stable

现在我正在使用 chronium 45,因为我在“正确”安装 chrome 之前安装了它。

试图删除架构,但:

dpkg:错误:无法删除数据库当前使用的架构“amd64”

Whitch 有点受宠若惊,但也不可取。

结果:

好吧,它最终完全重新安装,chrome 并不是唯一给我带来问题的应用程序,因为这似乎是某种错误/错误安装的综合,我决定花时间从 0 开始,保留一些/home/backupuser 上的文件并格式化 root。

感谢所有的帮助

Ste*_*itt 13

您的系统具有 64 位内核和 32 位用户空间,这是完全有效的。由于 Chrome 不再针对 32 位系统进行更新,因此您需要启用对 64 位用户空间的支持;在 Debian 上这很简单

sudo dpkg --add-architecture amd64
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

然后你应该能够安装 Chrome 包,可能会出现错误,因为你没有安装库;但

sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)

应该解决这个问题;不幸的是,google-chrome包中的依赖项列表不完整,因此您可能需要安装

sudo apt-get install libexif12:amd64 libpulse0:amd64
Run Code Online (Sandbox Code Playgroud)

让 Chrome 正常运行。

i386用户空间进行交叉分级amd64也是可能的,但它要复杂得多且风险更大。