Làm thế nào để nâng cấp glibc đúng cách?


10

Phần sụn của NAS của tôi đi kèm với một phiên bản khá cũ glibc, cụ thể là 2.5. Để đối phó với một số nhị phân được biên dịch sẵn được liên kết * đến glibc2.15, tôi muốn nâng cấp nó. Từ một số thử nghiệm đơn giản trong chrootmôi trường tôi đã học được chỉ cần thêm cái mới hơn libc-2.15.sovà cập nhật symlink libc.so.6sẽ mang lại một hệ thống không thể sử dụng được; có lẽ do libc-2.15.sođược liên kết ld-linux.so.3lần lượt, tất nhiên cũng sẽ yêu cầu phiên bản 2.15 thay vì phiên bản 2.5. Nhưng trước khi tôi rơi vào quá nhiều thử thách và sai sót,

các thủ tục chính xác để nâng cấp thủ công glibc là gì?


* mặc dù được liên kết "tĩnh", họ vẫn tự động liên kết với glibc ...


"Để đối phó với một số nhị phân được biên dịch sẵn (mặc dù được liên kết" tĩnh ", chúng vẫn tự động liên kết với glibc ...) được liên kết với glibc 2.15." Lấy ra các dấu ngoặc, điều này giảm xuống "Để đối phó với một số nhị phân được biên dịch sẵn được liên kết với glibc 2.15.". Tôi không chắc điều đó có nghĩa là gì.
Faheem Mitha

@FaheemMitha Cảm ơn bạn đã chỉ ra rằng, tôi chưa bao giờ nhận ra mình đã quên hoàn thành câu đó - hy vọng nó có ý nghĩa hơn bây giờ
Tobias Kienzler

Vâng, nó đọc tốt hơn bây giờ, mặc dù có khung nhúng đó không giúp rõ ràng. Tôi cho rằng việc xây dựng lại firmware với libc mới hơn không phải là một lựa chọn?
Faheem Mitha

@FaheemMitha Debrqueted ngay bây giờ. Không, phần sụn không may chứa một số thành phần độc quyền: /
Tobias Kienzler

Thành phố Nitpick. Bạn đánh dấu văn bản của mình bằng dấu *, nhưng đang sử dụng 1 trong "chú thích". Vâng, đó là (một phần lý do tại sao) phần mềm độc quyền hút. Tìm phần mềm miễn phí của bên thứ ba có lẽ? Hoặc phát triển của riêng bạn. Nói dễ hơn làm, cấp.
Faheem Mitha

Câu trả lời:


7

Nâng cấp thư viện chuẩn là rủi ro, vì một số chương trình và thư viện có thể phụ thuộc vào phiên bản hiện tại.

Tôi đề nghị nếu bạn cần để chạy các chương trình mới hơn là cài đặt đầy đủ chroot phân phối. Điều này đòi hỏi nhiều không gian đĩa hơn, nhưng đơn giản hơn và ít rủi ro hơn so với việc cố gắng cập nhật libc. Debian cung cấp một công cụ để hỗ trợ cài đặt trong một chroot: debootstrap . Xem Cài đặt hai glibc cùng với debian / ubfox (một tình huống rất giống nhau) để biết thêm giải thích và Làm cách nào để tôi chạy các chương trình 32 bit trên Debian / Ubuntu 64 bit? cho một hướng dẫn đầy đủ trong một tình huống hơi khác.


2
Tôi sợ càng nhiều ... Thật sự tôi đang hiện đang sử dụng một cài đặt Gentoo chroot. Để biên dịch các nhị phân ngoài luồng, có lẽ việc hạ cấp glibc của Gentoo sẽ dễ dàng hơn, hoặc sử dụng một phiên bản đủ cũ ... Sau đó, tôi lại nghi ngờ một cách nghiêm túc (hoặc ít nhất là không hy vọng) đây là câu trả lời cuối cùng.
Tobias Kienzler

Ý bạn là gì khi nói nâng cấp glibc "có rủi ro"? Glibc tương thích ngược, vì vậy nó thường hoạt động hoặc tôi không hiểu điều gì ở đây?
Nils

3
@Nils Điều bạn đang thiếu là sự khác biệt giữa nênkhông . Các chương trình đôi khi phụ thuộc vào hành vi không có giấy tờ mà thay đổi giữa các phiên bản.
Gilles 'SO- ngừng trở nên xấu xa'
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.