Существует ли легкий метод для установки двоичных сборок glibc?

Я советовал бы для создания именованного канала (mkfifo) и затем запишите в тот файл. Затем читайте из него. Можно всегда делать это с вещами как tail, минимизировать вывод, и т.д. Каждый раз, когда Вы очищаете канал (чтение от него), это очищено, таким образом, вывод не сохраняется.

Другая опция состояла бы в том, чтобы записать все в файл (во многом как файл журнала) и затем проанализировать его любое время. Это было бы предпочтительным действием, если Вы хотите сохранить весь вывод.

13
13.04.2017, 15:36
1 ответ

Если это было для какой-либо другой библиотеки, но glibc... Я предполагаю, что не может быть быстрых путей, потому что glibc является местом, где материал "трудно кодируется". Соответствия glibc к Вашей версии ядра и ее загрузчику являются экземпляром, который на самом деле делает правильную вещь (ТМ) с LD_LIBRARY_PATH.

Возможно, корректный путь к:

LD_LIBRARY_PATH="/opt/myglibc/;..." /opt/myglibc/ld-linux.so.2 the_program`

Не уверенный, если это работает, все же.

Во всяком случае я думаю с помощью альтернативы glibc, требует все же реализовывать платформу, потому что пути поиска иногда соединяются проводом, и glibc всегда должен соответствовать ОС/ядру, таким образом, не может быть универсальных двоичных файлов, IMO. Мультидуга Debian показывает, что это не тривиально, но все еще может быть сделано. Если нужно было иметь некоторые другие средства проницательных библиотек помимо целевой архитектуры.

Веб-сайт просто дал мне этот другой связанный поток:

Там, принятый ответ включает ссылку на программу, названную rtldi, который, кажется, решает проблему glibc. Это с 2004, таким образом, это не может больше работать правильно из компоновщика, но возможно, который стоит изучить. Его источник является GPLv2.

Jehova, Jehova

Мой друг однажды придумал идею, что фактическое использование общих библиотек переоценено. И у него действительно есть точка: общие библиотеки хороши для не заполнения памяти компьютера дубликатами, но рассмотрения, что отдельное приложение инстанцирует, это - только некоторые MBS.

Существует только несколько приложений, где мы обратились бы к действиям такой как если их их собственный glibc. Сохранение нас, долгий анализ позволяет нам назвать их "непосредственными приложениями", которые полезны собой, в смысле получения сделанной работы. Например, веб-браузеры, почтовые агенты пользователя, офисные иски и аудиоплееры позволяют пользователю получать то, что они хотят и существует только несколько экземпляров на пользователя. К портрету другая сторона, системные службы, менеджеры окон, даже все настольные среды являются все очень важными, но просто поддержка и часто не достаточно редкими или очень важными, так, чтобы люди были бы готовы дать им свой очень собственный glibc.

Количество "непосредственных приложений" является довольно небольшим, абсолютно на пользователя и относительно по сравнению с тем, что "основное" OSs и DES порождают в эти дни. Если бы непосредственные приложения, как Chrome, Firefox был скомпилирован статически, то дополнительное требование к памяти для средней системы составило бы несколько 100 МБ. Аргументом, который не несет очень далеко на сегодняшнем много систем ГБ так статическое соединение для непосредственных приложений, может быть опция.

Существует также понятие области подкачки и SSD, которые допускают смехотворно быстрый swapin/-out, который также помогает обработке increaed требования к памяти.

Вопрос glibc, обсужденный здесь, действительно не решен, хотя статическое подключение, но для приложений как веб-браузер своего рода сам содержавший формат распределения мыслимый, где X-протокол, некоторый звуковой демон и некоторые методы ядра как единственный интерфейс. Преимуществом было бы меньше несовместимостей версии библиотеки.

1
27.01.2020, 19:54
  • 1
    "мы говорим о нескольких 100 МБ здесь" Мм, нет. Хотя объем самих библиотек не может быть так очень (но вероятно порядок величины или два больше чем 100 МБ - попытка du -h /lib), имейте в виду что, если бы они были скомпилированы в статически, что сумма RAM требовалась бы для каждого приложения, скомпилированного с ними. Таким образом, если, например, у Вас будет два приложения с помощью той же стопки библиотеки, то теперь Вам будет нужно вдвое больше памяти. Три приложения? В три раза больше. Не говоря уже о нем в основном инвертировал бы преимущества кэширования... –  goldilocks 14.11.2013, 22:26
  • 2
    ... с тех пор, конечно, Вы не могли только кэшировать glibc - необходимо будет кэшировать копии каждого приложения, которые это запустило (== смешной). Короче говоря, современные операционные системы были бы простой и простой быть полностью невозможными на современных аппаратных средствах если бы не современные методы, такие как общие объекты. Вам не было бы нужно просто немного больше памяти - Вам будет нужно в 10 или 100 раз больше памяти. –  goldilocks 14.11.2013, 22:28
  • 3
    Мой Debian имеет 235 МБ в /lib, из которых 202 МБ являются модулями ядра. Да, /usr/lib 4 ГБ, но это не позволяет точно заключения на том, какого количества требует отдельная программа. Кэши процессоров - только некоторые МБ. С потреблением памяти чего-то как недавний веб-браузер влияние статически связанных двоичных файлов на кэшировании является также не настолько большим и уменьшается с суммой, одновременно запускающей программы; также по причине относительно маленьких кэшей. Мои оценки кажутся более точными, чем Ваши. Мм, да. –  Bananguin 14.11.2013, 23:48
  • 4
    Не говоря уже о другой огромной проблеме со статическим подключением — обновлениями является ЛАВАШ. Если существует проблема безопасности в glibc, никаком грандиозном предприятии: обновите glibc, перезапустите Ваши программы. OTOH, были Ваши программы, статически связанные, необходимо будет загрузить новую версию каждой программы. И Ваш дистрибутив должен был бы перекомпилировать (или по крайней мере повторно связаться, если они сохранили все.o файлы, вряд ли из-за огромного размера), весь дистрибутив. –  derobert 15.11.2013, 00:44
  • 5
    @derobert: Кажется справедливым. Очевидно мои требования были гиперболическими - здесь с 1,8 ГБ, фиксировавшими, который выложил 521 МБ. Таким образом, это было бы 30%-м увеличением. Конечно, это все еще не коммерческий аргумент для стратегии, которая не имеет никаких преимуществ (но "только требует на 30% большего количества RAM"). –  goldilocks 15.11.2013, 16:57

Теги

Похожие вопросы