몇 년 전 저는 여러 개의 32비트 Linode 서버를 64비트 커널로 전환했습니다(여기 지침에 따라).https://www.linode.com/docs/platform/disk-images/switch-to-a-64-bit-linux-kernel). 그 이후로는 대부분 64bit로 운영되고 있습니다. 명령 출력은 이러한 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