数年前、私は複数の32ビットLinodeサーバーを64ビットカーネルに切り替えました(ここの指示に従って)。https://www.linode.com/docs/platform/disk-images/switch-to-a-64-bit-linux-kernel)。それ以来、ほとんどは64ビットで実行されます。コマンド出力は、これらの64ビットについて次のものを表示します。
[root@host1 ~]# getconf LONG_BIT
64
[root@host1 ~]# uname -a
Linux host1.mydomain.co.uk 4.6.5-x86_64-linode71 #2 SMP Fri Jul 29 16:16:25 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
ただし、64ビットカーネルも使用している一部のサーバーは、getconfで32を表示します。
[root@host2 ~]# getconf LONG_BIT
32
[root@host2 ~]# uname -a
Linux host2.mydomain.co.uk 4.9.15-x86_64-linode81 #1 SMP Fri Mar 17 09:47:36 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
Linodeは、パッケージがある時点でそれを変更した可能性があることを示唆しています。
問題はyumを介していくつかのパッケージをインストールできないことです。たとえば、64ビットサーバーではPHP7をインストールできますが、32ビットサーバーではPHP7をインストールするために必要なリポジトリをインストールできません。このリポジトリは32ビットサーバーには存在しません。
サーバーは非常に似ている必要があります。数年前に最大32ビットに設定し、数年前にすべて64ビットカーネルに変更しましたが、最近はほとんどのサーバーがPHP7をインストールできますが、32ビットとして報告されているため、サーバーの一部しかインストールできないことに気づきました。
なぜこれが起こるのか知っている人がいますか? getconfの出力を変更できますか?
32ビットサーバーのgetconfディレクトリファイル:
[root@host2 ~]# ls -l /usr/libexec/getconf
total 96
lrwxrwxrwx 1 root root 20 Jun 11 2016 default -> POSIX_V6_ILP32_OFF32
-rwxr-xr-x 4 root root 23740 May 10 2016 POSIX_V6_ILP32_OFF32
-rwxr-xr-x 4 root root 23740 May 10 2016 POSIX_V6_ILP32_OFFBIG
-rwxr-xr-x 4 root root 23740 May 10 2016 POSIX_V7_ILP32_OFF32
-rwxr-xr-x 4 root root 23740 May 10 2016 POSIX_V7_ILP32_OFFBIG
64ビットサーバーのgetconfディレクトリファイル:
[root@host1 ~]# ls -l /usr/libexec/getconf
total 48
lrwxrwxrwx 1 root root 19 Apr 25 10:56 default -> POSIX_V6_LP64_OFF64
-rwxr-xr-x 2 root root 22808 Apr 11 16:49 POSIX_V6_LP64_OFF64
-rwxr-xr-x 2 root root 22808 Apr 11 16:49 POSIX_V7_LP64_OFF64