Apa yang salah dengan upgrade GLIBC?

9

Saya baru-baru ini menginstal perangkat lunak yang dibutuhkan grup saya untuk proyek penelitian mulai September mendatang. Ternyata perangkat lunak ini memiliki bug kerusakan yang dikenal saat digunakan dengan glibc 2.12.1. Bos saya bertanya apakah kami dapat memutakhirkan glibc di server yang seharusnya menjalankannya. Isyarat kesunyian skeptis saya ....

Pada titik tertentu, saya tersadar bahwa mengacaukan glibc sama baiknya dengan mengacaukan puma yang lapar; namun, saya tidak dapat menentukan sumber kepercayaan ini. Jadi, jika saya lanjutkan dengan ini:

  1. Apakah saya melakukan sesuatu yang sangat bodoh (misalnya saya tidak akan memperbaiki masalah saya, saya akan menutup server saya, atau saya akan memulai kiamat zombie)?
  2. Apa yang salah?
  3. Apa yang kemungkinan salah?
  4. Bagaimana saya menghindari jawaban 2 dan 3?
Tanpa tujuh
sumber
3
Pertama, periksa apakah distro Anda memiliki pemutakhiran glibc yang memperbaiki bug. Glibc tertentu dari sebuah distro mungkin mengandung banyak backport / perbaikan bug ke glibc-nya dibandingkan dengan glibc resmi, tetapi versi distronya masih sama.
no
1
Selama Anda memiliki beberapa media yang dapat dilepas yang dapat di-boot (stik USB, CD, DVD), mesin tersebut tidak benar-benar rusak. Penyelamatan akan dimungkinkan dengan menginstal ulang glibc dari sana. Untuk menghindari bahaya apa pun, Anda dapat mencoba mengkompilasi glibc baru sebagai pengguna non-root dengan --prefix=$HOMElalu arahkan Anda LD_LIBRARY_PATHpadanya dan lihat apakah itu berfungsi. Sebagai pengguna non-root Anda tidak dapat mengacaukan seluruh sistem tidak peduli seberapa buruk Anda mengacaukannya. Jika itu berhasil, ubah --prefix=/usr/local/bleeding-edge-glibcdan dokumentasikan LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/libsebagai persyaratan untuk proyek penelitian
Alan Curry
1
Tidak bisakah Anda meningkatkan distribusi? Dan Anda harus mengatakan menggunakan glibcbug apa yang Anda takuti, dan jenis perangkat lunak apa yang Anda gunakan. Anda dapat menambal perangkat lunak Anda (dengan asumsi Anda memiliki kode sumbernya), atau mengonfigurasi sebaliknya sistem Anda, untuk menghindarinya.
Hindari menggunakan perangkat lunak server lama untuk proyek-proyek baru bila memungkinkan.
Michael Hampton

Jawaban:

5

Seringkali mungkin untuk menyusun libc yang lebih segar, dan memiliki satu perangkat lunak menggunakan pustaka yang berbeda untuk orang lain.

Titik nyeri terbesar antara versi libc adalah penyimpanan lokal thread, IIRC. Jika Anda melewati tonggak ini, semua taruhan dibatalkan.

Setelah mengatakan semua itu - saya akan sangat menyarankan Anda hanya meningkatkan distro ke sesuatu yang modern. Melakukan peningkatan sedikit demi sedikit kemungkinan akan menyebabkan rasa sakit yang membuat Anda mengejar ekor selama berbulan-bulan.

Tom Newton
sumber
2

Anda bisa merujuk ke tabel kompatibilitas untuk menentukan versi yang kompatibel dengan biner.

Biasanya bukan masalah untuk memutakhirkan glibc ke versi yang lebih baru, tetapi Anda harus membangunnya dengan flag konfigurasi yang sama seperti yang digunakan dalam distribusi Anda (lihat file spesifikasi dalam paket SRPM yang sesuai).

masukkan deskripsi gambar di sini

linuxbuild
sumber