Якби це була для будь-якої іншої бібліотеки, але glibc ... Я думаю, не може бути швидких шляхів, тому що glibc - це місце, де речі "важко закодовані". Glibc підходить до вашої версії ядра, а його завантажувач - це екземпляр, який насправді робить правильно (TM) LD_LIBRARY_PATH
.
Можливо, правильний спосіб:
LD_LIBRARY_PATH="/opt/myglibc/;..." /opt/myglibc/ld-linux.so.2 the_program`
Не впевнений, чи працює це, однак.
У будь-якому випадку, я думаю, що використання альтернативного glibc вимагає ще застосовувати рамки, тому що шляхи пошуку інколи підключені, і glibc завжди повинен відповідати вашій ОС / ядру, тому не може бути загальних бінарних файлів, IMO. Мультиарх Debian показує, що це не банально, але все ж можна зробити. Якби у вас є інші засоби розпізнавання бібліотек, крім цільової архітектури.
Веб-сайт просто дав мені цю іншу пов’язану тему:
Там прийнята відповідь включає посилання на програму під назвою rtldi , яка, здається, вирішує проблему glibc. Це з 2004 року, тому він більше не може працювати з лінкера, але, можливо, варто його вивчити. Його джерелом є GPLv2.
Єхова, Єхова
Мій друг одного разу придумав, що фактичне використання спільних бібліотек завищено. І в нього є сенс: спільні бібліотеки добре не заповнювати пам’ять вашого комп'ютера дублікатами, але, враховуючи окремий екземпляр програми, це лише кілька Мб.
Є лише кілька додатків, де ми вдамося до таких дій, як надання їм власного glibc. Заощаджуючи нам тривалий аналіз, давайте назвемо їх «негайними програмами», які самі корисні, в сенсі отримання роботи. Наприклад, веб-браузери, агенти поштового користування, офісні костюми та музичні плеєри дозволяють користувачеві отримувати те, що вони хочуть, і є лише кілька примірників на користувача. Щоб зобразити іншу сторону, дуже важливі системні служби, менеджери вікон, навіть цілі робочі середовища, але вони просто підтримують і часто не є достатньо рідкісними або критичними, щоб люди готові дати їм власний glibc.
Кількість "негайних додатків" досить мала, абсолютно на кожного користувача, і порівняно з тим, що "породили" основні ОС та DE в ці дні. Якби негайні програми, такі як Chrome, Firefox, були складені статично, додаткова потреба в пам'яті для середньої системи становила б кілька 100 Мб. Аргумент, який не є дуже далеко в багатьох сучасних системах ГБ, тому статичне з'єднання для негайних додатків може бути варіантом.
Існують також концепції простору підкачки та SSD, які дозволяють помітно швидко заміняти / виходити, що також допомагає працювати з підвищеною потребою в пам'яті.
Проблема glibc, що обговорюється тут, насправді не вирішена, хоч і є статичним зв'язком, але для таких додатків, як веб-браузер, можливий своєрідний формат розповсюдження, де X протокол, деякий звуковий демон і деякі методи ядра є єдиним інтерфейсом. Перевагою буде менше сумісності версій бібліотеки.
du -h /lib
), майте на увазі, що якби вони були складені статично, ця кількість оперативної пам’яті буде потрібно для кожної і кожен додаток, складений з ними. Так що якщо, напр. у вас є два додатки, що використовують один і той же стек бібліотеки, тепер вам знадобиться вдвічі більше пам’яті. Три програми? Утричі більше. Не кажучи вже про це, це значною мірою заперечує переваги кешування ...