Nếu đó là cho bất kỳ thư viện nào khác, nhưng glibc ... tôi cho rằng không thể có cách nhanh chóng, bởi vì glibc là nơi mà công cụ được "mã hóa cứng". Glibc phù hợp với phiên bản kernel của bạn và trình tải của nó là ví dụ thực sự làm đúng (TM) với LD_LIBRARY_PATH
.
Có lẽ cách chính xác là:
LD_LIBRARY_PATH="/opt/myglibc/;..." /opt/myglibc/ld-linux.so.2 the_program`
Không chắc chắn nếu điều này làm việc, mặc dù.
Ở mức độ nào, tôi nghĩ rằng việc sử dụng glibc thay thế đòi hỏi phải có khung triển khai, bởi vì đường dẫn tìm kiếm đôi khi có dây và glibc luôn phải phù hợp với hệ điều hành / kernel của bạn, vì vậy không thể có nhị phân chung, IMO. Multiarch của Debian cho thấy nó không tầm thường, nhưng vẫn có thể được thực hiện. Nếu người ta có một số phương tiện khác của các thư viện sành điệu bên cạnh kiến trúc đích.
Trang web chỉ cho tôi chủ đề liên quan khác này:
Ở đó, câu trả lời được chấp nhận bao gồm một liên kết đến một chương trình gọi là rtldi , dường như để giải quyết vấn đề glibc. Đó là từ năm 2004 vì vậy nó có thể không hoạt động ngay từ liên kết nữa, nhưng có lẽ nó đáng để xem xét. Nguồn của nó là GPLv2.
Jehova, Jehova
Một người bạn của tôi đã từng nghĩ ra ý tưởng rằng việc sử dụng thực tế các thư viện chia sẻ được đánh giá cao. Và anh ta có một điểm: các thư viện dùng chung rất tốt để không lấp đầy bộ nhớ máy tính của bạn bằng các bản sao, nhưng xem xét trường hợp ứng dụng riêng lẻ thì đây chỉ là một vài MB.
Chỉ có một vài ứng dụng mà chúng tôi sẽ sử dụng các hành động như cung cấp cho họ glibc của riêng họ. Tiết kiệm cho chúng tôi một phân tích dài, hãy gọi chúng là "các ứng dụng ngay lập tức", được sử dụng bởi chính chúng, theo nghĩa là hoàn thành công việc. Ví dụ: trình duyệt web, tác nhân người dùng thư, bộ đồ công sở và trình phát nhạc cho phép người dùng nhận được những gì họ muốn và chỉ có một vài trường hợp cho mỗi người dùng. Đối với mặt khác, các dịch vụ hệ thống, quản lý cửa sổ, thậm chí toàn bộ môi trường máy tính để bàn đều rất quan trọng, nhưng chỉ hỗ trợ và thường không đủ phổ biến hoặc quan trọng, để mọi người sẵn sàng cung cấp cho họ glibc của riêng họ.
Số lượng "ứng dụng tức thời" khá ít, hoàn toàn trên mỗi người dùng và tương đối so với những hệ điều hành và DE "cơ bản" sinh ra trong những ngày này. Nếu các ứng dụng ngay lập tức, như Chrome, Firefox được biên dịch tĩnh, yêu cầu bộ nhớ bổ sung cho hệ thống trung bình sẽ là vài 100 MB. Một đối số không mang rất xa trên các hệ thống nhiều GB ngày nay vì vậy liên kết thống kê cho các ứng dụng ngay lập tức có thể là một lựa chọn.
Ngoài ra còn có các khái niệm về không gian hoán đổi và SSD cho phép hoán đổi / rút tiền nhanh chóng, điều này cũng giúp xử lý yêu cầu bộ nhớ tăng.
Vấn đề glibc được thảo luận ở đây không thực sự được giải quyết mặc dù liên kết tĩnh, nhưng đối với các ứng dụng như trình duyệt web, một loại định dạng phân phối độc lập có thể hiểu được, trong đó giao thức X, một số daemon âm thanh và một số đáp ứng kernel là giao diện duy nhất. Ưu điểm sẽ là không tương thích phiên bản thư viện ít hơn.
du -h /lib
), hãy nhớ rằng nếu chúng được biên dịch tĩnh, thì sẽ cần một lượng RAM cho mỗi và mọi ứng dụng được biên dịch với chúng. Vì vậy, nếu, ví dụ. bạn có hai ứng dụng sử dụng cùng một thư viện, bây giờ bạn sẽ cần gấp đôi bộ nhớ. Ba ứng dụng? Ba lần như vậy. Chưa kể nó sẽ phủ nhận phần lớn lợi ích của bộ nhớ đệm ...