Что такое glibc linux

Glibc

Для получения инструкций по установке смотрите Раздел Установка Glibc-2.3.2 в Главе 6.

Официальный адрес пакета

Содержимое Glibc

Glibc — это библиотека C, которая обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и другие. Библиотеку C используют все динамически скомпонованые программы.

Устанавливаемые программы: catchsegv, gencat, getconf, getent, glibcbug, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, mtrace, nscd, nscd_nischeck, pcprofiledump, pt_chown, rpcgen, rpcinfo, sln, sprof, tzselect, xtrace, zdump и zic

Устанавливаемые библиотеки: ld.so, libBrokenLocale.[a,so], libSegFault.so, libanl.[a,so], libbsd-compat.a, libc.[a,so], libc_nonshared.a, libcrypt.[a,so], libdl.[a,so], libg.a, libieee.a, libm.[a,so], libmcheck.a, libmemusage.so, libnsl.a, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], libresolv.[a,so], librpcsvc.a, librt.[a,so], libthread_db.so и libutil.[a,so]

Краткие описания

catchsegv может использоваться для слежения за состоянием стека, когда программа завершается из-за ошибки распределения памяти (segmentation fault).

gencat генерирует каталоги сообщений.

getconf выводит параметры системной конфигурации для переменных, зависящих от файловой системы.

getent получает записи из административных баз данных.

glibcbug cсоздает отчет об ошибке и отсылает его по указанномы адресу.

iconv обеспечивает преобразование кодировки.

iconvconfig создает файл конфигурации для модуля iconv.

ldconfig настраивает временные привязки динамического компоновщика.

ldd возвращает список разделяемых библиотек, требующихся для указанной программы или библиотеки.

lddlibc4 используется ldd для объектных файлов.

locale — программа на Perl, которая указывает компилятору использовать или нет локали POSIX для встроеных операций.

localedef компилирует спецификации локали.

nscd — имя демона сервиса кеширования, предоставляющий кеш для большинства запросов DNS.

nscd_nischeck проверяет необходимость защищенного или простого запроса к NIS+.

pcprofiledump — делает дамп информации, генерируемой профилем PC.

pt_chown — вспомогательная программа для grantpt. Устанавливает владельца, группу и права доступа дополнительного терминала pseudo.

rpcgen генерирует код C для реализации протокола RPC.

rpcinfo создает RPC вызов на сервер RPC.

sln используется для создания символических ссылок. Программа скомпонована статически, так что она используется для создания символических ссылок на динамические библиотеки если система динамической компоновки по каким-либо причинам нефункциональна.

sprof читает и отображает профильные данные распределяемого объекта.

tzselect спрашивает пользователя о его местонахождении и возвращает описание соответствующей временной зоны.

xtrace трассирует выполнение программы печатая исполняемую в данный момент функцию.

zdump делает дамп временной зоны.

zic — компилятор временных зон.

ld.so — вспомогательная программа для исполняемых файлов распределяемых библиотек.

libBrokenLocale используется программами, такими как Mozilla, для использования поврежденных локалей.

libSegFault обрабатывает ошибки распределения памяти (segmentation fault). Она пытается их перехватить.

libanl — библиотека асинхронных запросов DNS.

libbsd-compat — поддерживает портируемость, необходимую для запуска некоторых BSD программ под Linux.

libc — главная библиотека C — набор часто используемых функций.

libcrypt — криптографическая библиотека.

libdl — библиотека интерфейса динамического подключения.

libg — библиотека времени выполнения для g++.

libieee — библиотека IEEE для операцией с числами с плавающей запятой.

libm — математическая библиотека.

libmcheck содержит код запуска при загрузке.

libmemusage используется memusage для сбора информации о памяти, используемой программой.

libnsl — библиотека сетевых сервисов.

libnss* — библиотеки Name Service Switch, содержащие функции для работы с именами хостов, пользователей и групп, псевдонимами, сервисами, протоколами и всем чем можно.

libpcprofile содержит профили функций, используемых для отслеживания времени, затрациваемого процессором на выполнения строк кода.

libpthread — библиотека потоков POSIX.

libresolv содержит функции для создания, отправки и интерпритации пакетов серверов доменных имен (DNS) Internet.

librpcsvc содержит функции, обеспецивающие различные сервисы RPC.

librt содержит функции, обеспечивающие большинство интерфейсов, описанных в POSIX.1b Realtime Extension.

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

Читайте также:  Transmission remote gui mac os big sur

libutil содержит код «стандартных» функций, использующихся во многих утилитах Unix.

Зависимости установки Glibc

Glibc зависит от: Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Gettext, Grep, Make, Perl, Sed, Texinfo.

Источник

glibc

В этой статье не хватает ссылок на источники информации.

glibc — GNU C Library (GNU библиотека). Glibc является библиотекой Си, которая обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и т.д. Библиотека C используется для всех динамически скомпонованых программ. Она написана Free Software Foundation для GNU операционных систем. glibc выпущена под лицензией GNU LGPL.

Содержание

История

Вначале glibc была написана Роландом Макгратом (Roland McGrath), работавшим в FSF в 1980-x годах. В феврале 1988 года FSF представила glibc как библиотеку, имеющую наиболее полную функциональность, требуемую для ANSI C.

Временный форк glibc

В начале 1990-х годов разработчики ядра Linux создали форк glibc. Он был назван «Linux libc». Когда FSF выпустила в 1996 году glibc 2.0, которая поддерживала IPv6, 64-битный доступ к данным, многопотоковые приложения, совместимость с будущими версиями и более переносимый исходный код, разработчики Linux прервали разработку Linux libc и начали использовать glibc от FSF.

Поддерживаемые архитектуры и ядра

Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто glibc используется на x86-машинах с ОС Linux. Также официально поддерживаются следующие архитектуры: SPARC, Motorola 68k, DEC Alpha, PowerPC, ARM, ETRAX CRIS, s390.

Критика

glibc часто критикуют за её «раздутость» и низкую скорость работы по сравнению с другими прошлыми библиотеками. Поэтому были созданы несколько альтернативных стандартных библиотек языка Си (dietlibc, uClibc и Newlib). Так же под критику попадает мейнтейнер Ульрих Драппер и его отношение к ошибкам в Glibc.

В 2009 году в таких популярных дистрибутивах, как Debian [2] , Ubuntu и ArkLinux [3] glibc был заменён на альтернативную библиотеку eglibc, изначально ориентированную на встраиваемые системы. Eglibc является вариантом glibc более дружелюбно относящийся к приёму сторонних патчей.

Источник

The GNU C Library (glibc)

The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel. These libraries provide critical APIs including ISO C11, POSIX.1-2008, BSD, OS-specific APIs and more. These APIs include such foundational facilities as open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit and more.

The GNU C Library is designed to be a backwards compatible, portable, and high performance ISO C library. It aims to follow all relevant standards including ISO C11, POSIX.1-2008, and IEEE 754-2008.

The project was started circa 1988 and is more than 30 years old. You can see the complete project release history on the wiki.

Despite the project’s age there is still a lot to do so please Get Started and Get Involved!

Contact

You can contact the developer community by emailing the developer list libc-alpha@sourceware.org.

You can privately contact the project stewards by emailing libc-maintainers@gnu.org.

Current Status

The GNU C Library releases every 6 months. See the NEWS file in the glibc sources for more information.

  • The current stable version of glibc is 2.34, released on August 1st, 2021.
  • The current development version of glibc is 2.35, releasing on or around February 1st, 2022.

Latest News

People

The GNU C Library is currently maintained by a community of developers many of whom are listed on the MAINTAINERS page of the project wiki.

Many others have contributed as documented in the glibc manual under: Contributors.

Thank you to all who have contributed, either in bug reports, or by answering a question, your help is appreciated.

Источник

Glibc

glibc

GNU C Library
Тип Библиотека исполнения
Разработчик Проект GNU
Написана на C
ОС кроссплатформенная
Аппаратная платформа кроссплатформенная
Версия 2.11 (30 октября 2009 [1] )
Лицензия GNU Lesser General Public License
Сайт http://www.gnu.org/software/libc

glibc — GNU C Library (GNU библиотека Си). Стандартная библиотека языка Си из проекта GNU. Она написана Free Software Foundation для GNU операционных систем. Glibc выпущена под лицензией GNU LGPL.

Читайте также:  Недостаточно памяти windows 2003

Содержание

История

Вначале glibc была написана Роландом Макгратом (Roland McGrath), работавшем в FSF в 1980-x годах. В феврале 1988 года FSF представила glibc как библиотеку, имеющую наиболее полную функциональность, требуемую для ANSI C.

Временный форк glibc

В начале 1990-х годов разработчики ядра Linux создали форк glibc. Он был назван «Linux libc». Когда FSF выпустила в 1996 году glibc 2.0, которая поддерживала IPv6, 64-битный доступ к данным, многопотоковые приложения, совместимость с будущими версиями и более переносимый исходный код, разработчики Linux прервали разработку Linux libc и начали использовать glibc от FSF.

Поддерживаемые архитектуры и ядра

Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто glibc используется на x86-машинах с ОС GNU/Linux. Также официально поддерживаются следующие архитектуры: SPARC, Motorola 68k, DEC Alpha, PowerPC, ARM, ETRAX CRIS, s390.

Критика

glibc часто критикуют за её «раздутость» и медленную скорость работы по сравнению с другими прошлыми библиотеками. Поэтому были созданы несколько альтернативных стандартных библиотек языка Си (dietlibc, uClibc и Newlib).

Примечания

  1. Drepper, Ulrichglibc 2.11. Список рассылки libc-alpha (30 октября 2009). Проверено 11 ноября 2009.

Ссылки

В Википедии есть портал
«Свободное программное обеспечение»

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «Glibc» в других словарях:

Glibc — Basisdaten Entwickler: Free Software Foundation Aktuelle Version … Deutsch Wikipedia

Glibc — GNU C Library Développeur Projet GNU Dernière version … Wikipédia en Français

glibc — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью … Википедия

Glibc — No debe confundirse con GLib. GNU C Library Desarrollador Proyecto GNU … Wikipedia Español

Glibc — Introducción Glibc es la biblioteca estándar de C GNU, también es conocidad como libc6, bajo licencia LGPL. Glibc es la biblioteca de C que proporciona y define las llamadas al sistema y otras funciones básicas, también es utilizada por todos los … Enciclopedia Universal

GLibc — … Википедия

glibc — Generalized LibraryC Routinenbibliothek, Nachfolgeversion von libc5 (LINUX) … Acronyms

glibc — ● sg. np. f. ►LINUX GNU Library C. bibliothèque C du projet GNU. En version 2 actuellement … Dictionnaire d’informatique francophone

glibc — Generalized LibraryC Routinenbibliothek, Nachfolgeversion von libc5 (LINUX) … Acronyms von A bis Z

GNU-C-Bibliothek — glibc Basisdaten Entwickler Free Software Foundation Aktuelle Version … Deutsch Wikipedia

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

glibc

GNU C Library

Создатели: Roland McGrath
Разработчики: GNU Project
Выпущена: 1987 ; 34 years ago ( 1987 )
Постоянный выпуск: 2.25 / 5 February 2017 года ; 4 years ago ( 2017-02-05 )
Состояние разработки: Активное
Написана на: C
Операционная система: UNIX-подобная
Тип ПО: Библиотека исполнения
Лицензия: GNU LGPL (Lesser General Public License)
Веб-сайт gnu .org

glibc — сокращение названия проекта GNU C Library, главная цель которого реализовать основные библиотеки для систем GNU, GNU\Linux, а так же для любых других систем, которые используют ядро Linux. Библиотеки glibc предоставляют реализацию API описываемое стандартами ISO C11, POSIX.1-2008, а так же API для BSD систем, и разные другие API для систем. Так glibc поддерживает реализацию функций для библиотек C++. Среди этих функций open, read, write, malloc, printf, getaddrinfo, dlopen, pthread_create, crypt, login, exit. [Источник 1]

glibc — распространяется под лицензией GNU LGPL.

Содержание

История

Первоначально большую часть библиотек glibc написал Роланд Макграт в 1980 годах, во время работы в Free Software Foundation (FSF).

В феврале 1988, фонд FSF объявил, что glibc имеет практически полный функционал требуемый стандартом ANSI C. [Источник 2] Уже в 1992, glibc поддерживал стандарты ANSI C-1989 и POSIX.1-1990, и шла активная работа над стандартом POSIX.2. [Источник 3] В сентябре 1995 Ульрих Дреппер внёс свой первый вклад в проект glibc и постепенно в течении 1990 годов стал основным разработчиком glibc. [Источник 4] Дреппер занимал руководящие должности долгие годы, к 2012 году 65% всех коммитов проекта принадлежало ему. [Источник 5]

Читайте также:  Форматирование жесткого диска windows 10 что это

Форк Linux libc

В начале 1990 годов, разработчики ядра Linux форкнули glibc 1.x. Этот форк, названный «Linux libc», сокращённо «libc», разрабатывался изолированно несколько лет, в течении этого времени были выпущены версии со второй по пятую. Разработчики объясняли свои действия тем, что по их мнению glibc не удовлетворял все потребности Linux. [Источник 6]

В январе 1997 года, FSF выпустила glibc 2.0. Новая версия glibc точнее соответствовала стандарту POSIX, поддерживала интернационализацию, IPv6, 64-разрядный доступ к данным, многопоточные приложения, совместимость будущих версий, так же код новой версии glibc был более переносимым. Таким образом, новая версия glibc явно превосходила во всех отношениях libc, поэтому все крупные дистрибутивы Linux, которые начали использовать libc, вернулись на glibc. [Источник 6]

Последняя используемая версия Linux libc, использовала внутренние имя (soname) libc.so.5. Версия glibc 2.x использует soname libc.so.6 [Источник 7] (на архитектурах Alpha и IA64 вместо этого используется имя libc.so.6.1). Имя файла *.so часто сокращаются до libc6 (как например имя соответствующего пакета в Debian), следуя обычным соглашениям для библиотек.

По словам Ричарда Столлмана, изменения из Linux libc нельзя перенести обратно в glibc, потому что авторство этого кода неясно, а проект GNU довольно строго относится к сохранению записей об авторских правах. [Источник 8]

Создание руководящего комитета

Начиная с 2001 года развитие библиотеки контролировалось комитетом [Источник 9] с Ульрихом Дреппером в качестве ведущего программиста. Создание управляющего комитета было окружено публичной полемикой, в дальнейшем описанной Ульрихом Дреппером, как неудачная попытка Ричарда Столлмана враждебного поглощения. [Источник 10]

Миграция на Git

До 2009 года проект glibc пользовался Concurrent Versions System, однако после 2009 glibc мигрировал на Git на Sourceware. [Источник 11]

Переход Debian на EGLIBC и обратно

После долгих споров о стиле руководства Дреппера, и принятие внешних коммитов, Debian перешёл на открытый форк библиотеки glibc: EGLIBC в 2009 году. [Источник 12] Обратно на основную ветку разработчики перешли с версии Debian 8.0 (Jessie) в апреле 2015. [Источник 13]

Расформирование руководящего комитета

В марте 2012 года, руководящий комитет проголосовал, за то чтобы расформировать себя и остранить Дреппера, вместе с Райаном Арнольдом, Максимом Кувырковым, Джозефом Майерсом, Карлосом О’Донеллем и Александром Оливой, несущих ответственность за поддержку GNU. Разработка glibc оставлена открытому сообществу разработчиков. [Источник 14] [Источник 15]

После изменения поддержки glibc Debian и другие проекты, ранее переключившиеся на альтернативные реализации библиотеки Си, вернулись к glibc. [Источник 16] Кроме того с начала 2014 года, форк EGLIBC прекратил своё существование.

Функциональность

glibc предоставляет функциональные возможности, требуемые Single UNIX Specification, POSIX (1c, 1d и 1j) и некоторые функциональные возможности, необходимые для ISO C11, ISO C99, BSD Interface, System V Interface Definition, X/Open Portability Guide (XPG), Issue 4.2.

Кроме того, Glibc также предоставляет расширения, которые были сочтены полезными или необходимыми при разработке GNU.

Поддерживаемое оборудование и ядра

glibc используется в системах, которые используют различные ядра и оборудование. Наиболее часто glibc используется в системах с ядром Linux на x86 архитектуре, однако, официально поддерживаются следующие архитектуры [Источник 17] : 32-битный ARM и более новая версия 64-битный ISA (AArch64), DEC Alpha, PA-RISC, IA-64, Motorola m68k, MicroBlaze, MIPS, Nios II, PowerPC, s390, SPARC, TILE, и x86. Так официально поддерживаются ядро Hurd и ядро Linux. Вдобавок, существуют сильно изменённые версии, которые работает на ядрах FreeBSD и NetBSD. Так же изменённая версия glibc, под именем libroot.so используется в BeOS и Haiku. [Источник 18]

Использование в небольших устройствах

glibc в прошлом, подвергался критике (например, Линусом Торвальдсом [Источник 19] ), как «раздутая» и медленная реализация библиотек по сравнению с другими реализация. По этой причине, было создано несколько альтернативных стандартных библиотек Си, которые ставили одной из своих целей небольшой размер. Тем не менее, проекты с небольшими устройствами всё ещё используют glibc, а не альтернативы, из-за лучшей поддержке приложений, более полного соответствия стандарту и всеобъемлимости. В качестве примера можно привести Openmoko [Источник 20] и Familiar Linux для карманных компьютеров iPaq. [Источник 21]

Источник

Оцените статью