为什么我的 32 位机器需要 lib64?

为什么我的 32 位机器需要 lib64?

我正在尝试在运行 Ubuntu 10.4 的 32 位计算机上安装 Oracle。我正在关注在 Ubuntu 上安装 Oracle教程。第一步需要手动安装库 libstdc++5。作者执行了 2 步:

  1. 从以下位置下载 libstdc++5_3.3.6-17ubuntu1_amd64.deb这里
  2. 下载 ia32-libs_2.7ubuntu6.1_amd64.deb这里

您可能已经注意到,这两个文件包含“_amd64”后缀,这表明作者使用的是 64 位 amd 处理器。作者将这两个文件分别复制到 /usr/lib64 和 /usr/lib32 文件夹中,并在这两个文件夹中创建软链接 libstdc++.so.5。

因为我运行的是 32 位机器,所以我只下载了没有“_amd64”后缀的这 2 个文件。

令我出乎意料的是,我还在 /usr 文件夹中发现了 2 个 lib 文件夹:/usr/lib64 和 /usr/lib。

所以这是我的问题:我不明白我必须复制哪些文件以及在哪里:

1)我是否必须执行与作者相同的步骤,即下载带有“_amd64”后缀的文件并将它们放在我的 /usr/lib64 和 /usr/lib 文件夹中?

2)或者我必须使用没有“_amd64”后缀的库?

还有一个问题:我为什么有 /usr/lib64?

答案1

答案是部分的,由三部分组成

第 1 部分。关于配备 AMD64 处理器的机器

本教程的作者所做的是:

  1. 他在配备 AMD64 处理器的机器上使用原生 libstdc++5_3.3.6-17ubuntu1_amd64.deb 库。
  2. 另外还有 ia32-libs_2.7ubuntu6.1_amd64.deb,我想,模仿IA-32 架构的库,用于 AMD64 处理器

他为什么要采取第二步还不清楚。任何评论都非常感谢。

第 2 部分 关于英特尔 32 位处理器的机器(i386/i686)

最可能对于安装了 Ubuntu 10.4 的英特尔 32 位计算机,只有一个库(libstdc++5_3.3.6-20~lucid1_i386.deb,请注意,撰写本文时版本较高)是必需的,并且必须放在 /usr/lib 目录中

第 3 部分。为什么 32 位机器上会有 lib64 仍然不清楚,非常感谢任何评论。

相关内容