Điều gì có thể đi sai với nâng cấp GLIBC?


9

Gần đây tôi đã cài đặt một phần mềm mà nhóm của tôi cần cho một dự án nghiên cứu bắt đầu vào tháng 9 tới. Hóa ra phần mềm có lỗi sự cố đã biết khi sử dụng với glibc 2.12.1. Sếp tôi hỏi liệu chúng tôi có thể nâng cấp glibc trên máy chủ được cho là chạy nó không. Đưa ra sự im lặng hoài nghi của tôi ....

Tại một số thời điểm, tôi đã đưa nó vào não rằng việc gây rối với glibc là một ý tưởng tốt như việc gây rối với một puma đói; tuy nhiên, tôi không thể xác định nguồn gốc của niềm tin này. Vì vậy, nếu tôi đi trước với điều này:

  1. Tôi đang làm điều gì đó thật ngu ngốc (ví dụ: tôi sẽ không khắc phục vấn đề của mình, tôi sẽ gạch máy chủ của mình, hoặc tôi sẽ bắt đầu một ngày tận thế zombie)?
  2. Cái mà có thể sai lầm?
  3. Điều gì có khả năng đi sai?
  4. Làm cách nào để tránh câu trả lời cho 2 và 3?

3
Trước tiên, hãy kiểm tra xem bản phân phối của bạn có nâng cấp glibc để sửa lỗi không. Một glibc cụ thể của một distro có thể chứa nhiều backport / bugfix cho glibc của nó so với glibc chính thức, nhưng phiên bản distro vẫn giống nhau.
số

1
Miễn là bạn có một số phương tiện có thể tháo rời có thể khởi động (USB flash stick, CD, DVD), máy không thực sự bị brick. Cứu hộ sẽ có thể bằng cách cài đặt lại glibc từ đó. Để tránh mọi nguy hiểm, bạn có thể thử biên dịch một glibc mới với tư cách là người dùng không root bằng cách --prefix=$HOMEsau đó chỉ LD_LIBRARY_PATHvào nó và xem nó có hoạt động không. Là người dùng không root, bạn không thể làm hỏng toàn bộ hệ thống cho dù bạn có làm phiền đến mức nào. Nếu điều đó không hiệu quả, hãy thay đổi nó --prefix=/usr/local/bleeding-edge-glibcvà ghi lại LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/libnhư một yêu cầu cho dự án nghiên cứu
Alan Curry

1
Bạn không thể nâng cấp phân phối? Và bạn nên nói sử dụng glibclỗi mà bạn sợ là gì và loại phần mềm nào bạn đang sử dụng. Bạn có thể vá phần mềm của mình (giả sử bạn có mã nguồn của nó) hoặc cấu hình theo cách khác là hệ thống của bạn, để phá vỡ phần mềm.

Tránh sử dụng phần mềm máy chủ cũ cho các dự án mới bất cứ khi nào có thể.
Michael Hampton

Câu trả lời:


5

Thường có thể biên dịch một libc mới hơn và có một phần mềm sử dụng một thư viện khác cho mọi người khác.

Điểm đau lớn nhất giữa các phiên bản libc là lưu trữ cục bộ luồng, IIRC. Nếu bạn vượt qua mốc này, tất cả các cược đã tắt.

Đã nói tất cả những điều đó - tôi thực sự khuyên bạn chỉ cần nâng cấp bản phân phối lên một cái gì đó hiện đại. Thực hiện nâng cấp từng phần có thể dẫn đến loại đau đớn mà bạn phải theo đuổi trong nhiều tháng.


2

Bạn có thể tham khảo bảng tương thích để xác định các phiên bản tương thích nhị phân.

Thông thường, việc nâng cấp glibc lên phiên bản mới hơn không phải là vấn đề, nhưng bạn nên xây dựng nó với các cờ cấu hình tương tự như được sử dụng trong bản phân phối của bạn (xem tệp đặc tả trong gói SRPM phù hợp).

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.