SUSE 11 で glibc のバージョンをアップグレードする

SUSE 11 で glibc のバージョンをアップグレードする

SUSE 11 SP4 には glibc バージョン 2.11.3 が付属しています。私のアプリケーションでは、それよりも高いバージョンの glibc が必要です。SUSE 12 には glibc バージョン 2.19.x が付属しています。マシンに SUSE 12 ディスクをロードし、glibc-2.19 rpm を見つけました。しかし、インストールしようとすると、以下のエラーが発生します。

Preparing...                ########################################### [100%]
    file /etc/bindresvport.blacklist from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /etc/default/nss from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /etc/gai.conf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /etc/ld.so.conf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /etc/rpc from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/ld-linux-x86-64.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libBrokenLocale.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libSegFault.so from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libanl.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libc.so.6 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libcidn.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libcrypt.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libdl.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libm.so.6 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnsl.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_compat.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_dns.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_files.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_hesiod.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_nis.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libnss_nisplus.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libpthread.so.0 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libresolv.so.2 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/librt.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libthread_db-1.0.so from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /lib64/libutil.so.1 from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /sbin/ldconfig from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/gencat from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/getconf from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/getent from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/iconv from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/ldd from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/locale from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/bin/localedef from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/sbin/glibc_post_upgrade from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/sbin/iconvconfig from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/share/doc/packages/glibc/LICENSES from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/share/man/man1/getconf.1.gz from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64
    file /usr/share/man/man5/locale.alias.5.gz from install of glibc-2.19-31.9.x86_64 conflicts with file from package glibc-2.11.3-17.84.1.x86_64

そこで、これらの競合を解決するために、現在インストールされている glibc を削除することを考えました。そのためには、以下のコマンドを使用しました。

zypper remove glibc

このコマンドを実行すると、以下の警告が表示されます。

Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: This request will break your system!
  conflicting requests

 Solution 1: ignore the warning of a broken system (requires:glibc)
 Solution 2: keep glibc-2.11.3-17.84.1.x86_64

Choose from above solutions by number or cancel [1/2/c] (c):

1 を選択すると、同じメッセージが再度表示されます。

私のアプリケーションは SUSE 11 上で動作する必要があるため、SUSE 12 は使用できません。glibc をアップグレードする方法はありますか?

答え1

いいえ、glibc をアップグレードすることはできません。システム上の他のほぼすべてのプログラムは特定のバージョンの glibc に対してコンパイルされており、glibc が削除されたり、別のバージョンに置き換えられたりすると動作しなくなる可能性があります。1990 年代後半、一部のディストリビューションが実際にすべてを再コンパイルせずに同じディストリビューションで新しいバージョンの glibc を出荷しようとしたときに、私たちはこのことを身をもって学びました。

アプリケーションが SuSE 11 と、SuSE 11 に同梱されているバージョンよりも高いバージョンの glibc の両方を必要とすることはあり得ません。必要な場合は、その状態では明らかに使用できないため、開発者にバグ レポートを提出する必要があります。

関連情報