diff options
Diffstat (limited to 'lfs-12.0-sysv/chapter08/glibc.html')
-rw-r--r-- | lfs-12.0-sysv/chapter08/glibc.html | 1229 |
1 files changed, 0 insertions, 1229 deletions
diff --git a/lfs-12.0-sysv/chapter08/glibc.html b/lfs-12.0-sysv/chapter08/glibc.html deleted file mode 100644 index c0a7dbb..0000000 --- a/lfs-12.0-sysv/chapter08/glibc.html +++ /dev/null @@ -1,1229 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 8.5. Glibc-2.38 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.0"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.0 - </h4> - <h3> - Глава 8. Установка базового системного программного обеспечения - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="iana-etc.html" title= - "Iana-Etc-20230810">Пред.</a> - <p> - Iana-Etc-20230810 - </p> - </li> - <li class="next"> - <a accesskey="n" href="zlib.html" title="Zlib-1.2.13">След.</a> - <p> - Zlib-1.2.13 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - <div class="wrap" lang="en" xml:lang="en"> - <h1 class="sect1"> - <a id="ch-system-glibc" name="ch-system-glibc"></a>8.5. Glibc-2.38 - </h1> - <div class="package" lang="en" xml:lang="en"> - <p> - Пакет Glibc содержит основную библиотеку C. Эта библиотека - предоставляет основные процедуры для выделения памяти, поиска в - каталогах, открытия и закрытия файлов, чтения и записи файлов, - обработки строк, сопоставления с образцом, арифметики и так далее - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">11 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">3.0 GB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="en" xml:lang="en"> - <h2 class="sect2"> - 8.5.1. Установка пакета Glibc - </h2> - <p> - Некоторые программы Glibc используют не совместимый с FHS каталог - <code class="filename">/var/db</code> для хранения своих данных во - время выполнения. Примените следующий патч, чтобы эти программы - хранили свои данные в каталогах, совместимых с FHS: - </p> - <pre class="userinput"><kbd class= - "command">patch -Np1 -i ../glibc-2.38-fhs-1.patch</kbd></pre> - <p> - Теперь исправьте регрессию, из-за которой функция posix_memalign() - в некоторых условиях работала очень медленно: - </p> - <pre class="userinput"><kbd class= - "command">patch -Np1 -i ../glibc-2.38-memalign_fix-1.patch</kbd></pre> - <p> - Документация Glibc рекомендует выполнять компиляцию в отдельном - каталоге: - </p> - <pre class="userinput"><kbd class="command">mkdir -v build -cd build</kbd></pre> - <p> - Убедитесь, что утилиты <span class= - "command"><strong>ldconfig</strong></span> и <span class= - "command"><strong>sln</strong></span> будут установлены в - <code class="filename">/usr/sbin</code>: - </p> - <pre class="userinput"><kbd class= - "command">echo "rootsbindir=/usr/sbin" > configparms</kbd></pre> - <p> - Подготовьте Glibc к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">../configure --prefix=/usr \ - --disable-werror \ - --enable-kernel=4.14 \ - --enable-stack-protector=strong \ - --with-headers=/usr/include \ - libc_cv_slibdir=/usr/lib</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--disable-werror</code></em></span> - </dt> - <dd> - <p> - Отключает параметр -Werror, передаваемый GCC. Это необходимо - для запуска набора тестов. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-kernel=4.14</code></em></span> - </dt> - <dd> - <p> - Этот параметр сообщает системе сборки, что Glibc может - использоваться с ядрами старше 4.14. Это значение - используется для создание обходных путей на случай, если - системный вызов, представленный в более поздней версии, - нельзя будет использовать. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-stack-protector=strong</code></em></span> - </dt> - <dd> - <p> - Этот параметр повышает безопасность системы за счет - добавления дополнительного кода для проверки переполнения - буфера. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-headers=/usr/include</code></em></span> - </dt> - <dd> - <p> - Сообщает системе сборки местоположение заголовочных файлов - API ядра - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>libc_cv_slibdir=/usr/lib</code></em></span> - </dt> - <dd> - <p> - Эта переменная устанавливает правильную библиотеку для всей - системы. Мы не хотим, чтобы использовалась lib64 - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте пакет: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <div class="admon important"> - <img alt="[Важно]" src="../images/important.png" /> - <h3> - Важно - </h3> - <p> - В этом разделе набор тестов для Glibc считается критически - важным. Ни в коем случае не пропускайте его. - </p> - </div> - <p> - Как правило, несколько тестов не проходят. Ошибки тестирования, - перечисленные ниже, можно игнорировать. - </p> - <pre class="userinput"><kbd class="command">make check</kbd></pre> - <p> - Вы можете увидеть, что ряд тестов завершились неудачей. Набор - тестов Glibc в некоторой степени зависит от хост-системы. Несколько - ошибок из более чем 5000 тестов можно игнорировать. Список наиболее - распространенных проблем последних версий LFS: - </p> - <div class="itemizedlist"> - <ul> - <li class="listitem"> - <p> - Известно, что <span class= - "emphasis"><em>io/tst-lchmod</em></span> не работает в среде - chroot LFS. - </p> - </li> - <li class="listitem"> - <p> - Известно что тест <span class= - "emphasis"><em>stdlib/tst-arc4random-thread</em></span> - завершается неудачей, если ядро хоста относительно старое. - </p> - </li> - <li class="listitem"> - <p> - Некоторые тесты, например, <span class= - "emphasis"><em>nss/tst-nss-files-hosts-multi</em></span> не - работают на относительно медленных системах из-за внутреннего - тайм-аута. - </p> - </li> - <li class="listitem"> - <p> - Кроме того, некоторые тесты могут завершиться неудачно при - использовании относительно старой модели процессора или - версии ядра хоста. - </p> - </li> - </ul> - </div> - <p> - На этапе установки Glibc будет жаловаться на отсутствие файла - <code class="filename">/etc/ld.so.conf</code>, хотя это безобидное - сообщение, предотвратить его появление можно с помощью команды: - </p> - <pre class="userinput"><kbd class= - "command">touch /etc/ld.so.conf</kbd></pre> - <p> - Исправьте Makefile, чтобы пропустить устаревшую проверку - работоспособности, которая завершается неудачей в современной - конфигурации Glibc: - </p> - <pre class="userinput"><kbd class= - "command">sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile</kbd></pre> - <p> - Установите пакет: - </p> - <pre class="userinput"><kbd class="command">make install</kbd></pre> - <p> - Исправьте жестко заданный путь к исполняемому загрузчику в скрипте - <span class="command"><strong>ldd</strong></span>: - </p> - <pre class="userinput"><kbd class= - "command">sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd</kbd></pre> - <p> - Установите файл настроек и создайте рабочий каталог <span class= - "command"><strong>nscd</strong></span>: - </p> - <pre class="userinput"><kbd class= - "command">cp -v ../nscd/nscd.conf /etc/nscd.conf -mkdir -pv /var/cache/nscd</kbd></pre> - <p> - Затем установите локали, которые дадут возможность системе отвечать - на разных языках. Ни одна из локалей не требуется системе, но если - некоторые из них отсутствуют, то наборы тестов ряда пакетов будут - пропускать важные тестовые сценарии. - </p> - <p> - Отдельные локали можно установить с помощью программы <span class= - "command"><strong>localedef</strong></span>. Например, вторая - команда <span class="command"><strong>localedef</strong></span> - приведенная ниже, объединяет определение независимой от набора - символов локали <code class= - "filename">/usr/share/i18n/locales/cs_CZ</code> с набором символов - <code class="filename">/usr/share/i18n/charmaps/UTF-8.gz</code> и - добавляет результат в файл <code class= - "filename">/usr/lib/locale/locale-archive</code>. Следующие - инструкции установят минимальный набор локалей, необходимый для - оптимального охвата тестов - </p> - <pre class="userinput"><kbd class="command">mkdir -pv /usr/lib/locale -localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true -localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 -localedef -i de_DE -f ISO-8859-1 de_DE -localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro -localedef -i de_DE -f UTF-8 de_DE.UTF-8 -localedef -i el_GR -f ISO-8859-7 el_GR -localedef -i en_GB -f ISO-8859-1 en_GB -localedef -i en_GB -f UTF-8 en_GB.UTF-8 -localedef -i en_HK -f ISO-8859-1 en_HK -localedef -i en_PH -f ISO-8859-1 en_PH -localedef -i en_US -f ISO-8859-1 en_US -localedef -i en_US -f UTF-8 en_US.UTF-8 -localedef -i es_ES -f ISO-8859-15 es_ES@euro -localedef -i es_MX -f ISO-8859-1 es_MX -localedef -i fa_IR -f UTF-8 fa_IR -localedef -i fr_FR -f ISO-8859-1 fr_FR -localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro -localedef -i fr_FR -f UTF-8 fr_FR.UTF-8 -localedef -i is_IS -f ISO-8859-1 is_IS -localedef -i is_IS -f UTF-8 is_IS.UTF-8 -localedef -i it_IT -f ISO-8859-1 it_IT -localedef -i it_IT -f ISO-8859-15 it_IT@euro -localedef -i it_IT -f UTF-8 it_IT.UTF-8 -localedef -i ja_JP -f EUC-JP ja_JP -localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true -localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 -localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro -localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R -localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 -localedef -i se_NO -f UTF-8 se_NO.UTF-8 -localedef -i ta_IN -f UTF-8 ta_IN.UTF-8 -localedef -i tr_TR -f UTF-8 tr_TR.UTF-8 -localedef -i zh_CN -f GB18030 zh_CN.GB18030 -localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS -localedef -i zh_TW -f UTF-8 zh_TW.UTF-8</kbd></pre> - <p> - Кроме того, установите локаль для вашей страны, языка и набора - символов. - </p> - <p> - В качестве альтернативы, установите сразу все локали перечисленные - в файле <code class= - "filename">glibc-2.38/localedata/SUPPORTED</code> (он включает все - локали из списка выше и многие другие), выполнив команду: - </p> - <pre class="userinput"><kbd class= - "command">make localedata/install-locales</kbd></pre> - <p> - Затем используйте команду <span class= - "command"><strong>localedef</strong></span> для создания и - установки локалей, не перечисленных в файле <code class= - "filename">glibc-2.38/localedata/SUPPORTED</code>, когда они вам - понадобятся. Например, для некоторых тестов в этой главе - потребуются следующие две локали: - </p> - <pre class="userinput"><kbd class= - "command">localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true -localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true</kbd></pre> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - Glibc теперь использует libidn2 для разрешения - интернационализированных доменных имен. Если такая функция - необходима, то инструкцию по установке libidn2 можно найти на - странице <a class="ulink" href= - "https://mirror.linuxfromscratch.ru/blfs/view/12.0/general/libidn2.html"> - BLFS libidn2</a>. - </p> - </div> - </div> - <div class="configuration" lang="en" xml:lang="en"> - <h2 class="sect2"> - <a id="conf-glibc" name="conf-glibc"></a>8.5.2. Настройка Glibc - </h2> - <div class="sect3"> - <h3 class="sect3"> - 8.5.2.1. Добавление nsswitch.conf - </h3> - <p> - Необходимо создать файл <code class= - "filename">/etc/nsswitch.conf</code>, потому что настроенный по - умолчанию Glibc плохо работает в сетевой среде. - </p> - <p> - Создайте новый фай <code class= - "filename">/etc/nsswitch.conf</code>, выполнив следующие - действия: - </p> - <pre class="userinput"><kbd class= - "command">cat > /etc/nsswitch.conf << "EOF" -<code class="literal"># Begin /etc/nsswitch.conf - -passwd: files -group: files -shadow: files - -hosts: files dns -networks: files - -protocols: files -services: files -ethers: files -rpc: files - -# End /etc/nsswitch.conf</code> -EOF</kbd></pre> - </div> - <div class="sect3"> - <h3 class="sect3"> - 8.5.2.2. Добавление данных о часовом поясе - </h3> - <p> - Установите и настройте часовой пояс следующим образом: - </p> - <pre class="userinput"><kbd class= - "command">tar -xf ../../tzdata2023c.tar.gz - -ZONEINFO=/usr/share/zoneinfo -mkdir -pv $ZONEINFO/{posix,right} - -for tz in etcetera southamerica northamerica europe africa antarctica \ - asia australasia backward; do - zic -L /dev/null -d $ZONEINFO ${tz} - zic -L /dev/null -d $ZONEINFO/posix ${tz} - zic -L leapseconds -d $ZONEINFO/right ${tz} -done - -cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO -zic -d $ZONEINFO -p America/New_York -unset ZONEINFO</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение команд zic:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class="parameter"><code>zic -L - /dev/null ...</code></em></span> - </dt> - <dd> - <p> - Создаёт часовые пояса posix без секунд координации. Обычно - их помещают как в <code class="filename">zoneinfo</code> - так и в <code class="filename">zoneinfo/posix</code>. - Часовые пояса POSIX должны быть прописаны в <code class= - "filename">zoneinfo</code>, иначе различные тесты будут - сообщать об ошибках. На встраиваемых системах с небольшим - диском, где часовые пояса никогда не будут обновляться, - можно сэкономить примерно 1.9 MB не используя каталог - <code class="filename">posix</code>, однако некоторые - приложения или наборы тестов могут вызывать сбои. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>zic -L - leapseconds ...</code></em></span> - </dt> - <dd> - <p> - Создаёт правильные часовые пояса с секундами координации. - На встраиваемых системах с небольшим диском, где часовые - пояса никогда не будут обновляться, а правильность времени - неважна, можно выиграть примерно 1.9 MB, исключив каталог - <code class="filename">right</code>. - </p> - </dd> - <dt> - <span class="term"><em class="parameter"><code>zic ... -p - ...</code></em></span> - </dt> - <dd> - <p> - Создаёт файл <code class="filename">posixrules</code>. - Используется New York, потому что POSIX требует - соответствия правил летнего времени с правилами США. - </p> - </dd> - </dl> - </div> - <p> - Один из способов определить местный часовой пояс — запустить - следующий скрипт: - </p> - <pre class="userinput"><kbd class="command">tzselect</kbd></pre> - <p> - После нескольких вопросов о местоположении скрипт выдаст - наименование часового пояса (например <span class= - "emphasis"><em>America/Edmonton</em></span>). В файле - <code class="filename">/usr/share/zoneinfo</code> перечислены и - другие возможные часовые пояса, такие как <span class= - "emphasis"><em>Canada/Eastern</em></span> или <span class= - "emphasis"><em>EST5EDT</em></span>, которые не распознаются - скриптом, но могут быть использованы. - </p> - <p> - Создайте файл <code class="filename">/etc/localtime</code> - выполнив: - </p> - <pre class="userinput"><kbd class= - "command">ln -sfv /usr/share/zoneinfo/<em class= - "replaceable"><code><xxx></code></em> /etc/localtime</kbd></pre> - <p> - Замените <em class="replaceable"><code><xxx></code></em> на - имя выбранного часового пояса (например, Europe/Moscow). - </p> - </div> - <div class="sect3"> - <h3 class="sect3"> - <a id="conf-ld" name="conf-ld"></a>8.5.2.3. Настройка - динамического загрузчика - </h3> - <p> - По умолчанию, динамический загрузчик (<code class= - "filename">/lib/ld-linux.so.2</code>) ищет в каталоге - <code class="filename">/usr/lib</code>, нужные для работы - программ библиотеки. Однако, если библиотеки находятся в другом - каталоге, то его необходимо указать в файле <code class= - "filename">/etc/ld.so.conf</code>, чтобы динамический загрузчик - мог их найти. Два каталога - <code class= - "filename">/usr/local/lib</code> и <code class= - "filename">/opt/lib</code> часто используются для дополнительных - библиотек, поэтому добавьте их в пути поиска для динамического - загрузчика. - </p> - <p> - Создайте новый файл <code class="filename">/etc/ld.so.conf</code> - выполнив: - </p> - <pre class="userinput"><kbd class= - "command">cat > /etc/ld.so.conf << "EOF" -<code class="literal"># Begin /etc/ld.so.conf -/usr/local/lib -/opt/lib -</code> -EOF</kbd></pre> - <p> - Динамический загрузчик может выполнить поиск в каталоге и - включить содержимое найденных там файлов. Обычно такие файлы - состоят из одной строки и содержат путь к библиотеке. Чтобы - добавить эту возможность, выполните следующие команды: - </p> - <pre class="userinput"><kbd class= - "command">cat >> /etc/ld.so.conf << "EOF" -<code class="literal"># Add an include directory -include /etc/ld.so.conf.d/*.conf -</code> -EOF -mkdir -pv /etc/ld.so.conf.d</kbd></pre> - </div> - </div> - <div class="content" lang="en" xml:lang="en"> - <h2 class="sect2"> - <a id="contents-glibc" name="contents-glibc"></a>8.5.3. Содержимое - пакета Glibc - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные программы:</strong> - <span class="segbody">gencat, getconf, getent, iconv, - iconvconfig, ldconfig, ldd, lddlibc4, ld.so (symlink to - ld-linux-x86-64.so.2 or ld-linux.so.2), locale, localedef, - makedb, mtrace, nscd, pcprofiledump, pldd, sln, sotruss, sprof, - tzselect, xtrace, zdump и zic</span> - </div> - <div class="seg"> - <strong class="segtitle">Установленные библиотеки:</strong> - <span class="segbody">ld-linux-x86-64.so.2, ld-linux.so.2, - libBrokenLocale.{a,so}, libanl.{a,so}, libc.{a,so}, - libc_nonshared.a, libc_malloc_debug.so, libdl.{a,so.2}, libg.a, - libm.{a,so}, libmcheck.a, libmemusage.so, libmvec.{a,so}, - libnsl.so.1, libnss_compat.so, libnss_dns.so, libnss_files.so, - libnss_hesiod.so, libpcprofile.so, libpthread.{a,so.0}, - libresolv.{a,so}, librt.{a,so.1}, libthread_db.so и - libutil.{a,so.1}</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/usr/include/arpa, /usr/include/bits, - /usr/include/gnu, /usr/include/net, /usr/include/netash, - /usr/include/netatalk, /usr/include/netax25, - /usr/include/neteconet, /usr/include/netinet, - /usr/include/netipx, /usr/include/netiucv, - /usr/include/netpacket, /usr/include/netrom, - /usr/include/netrose, /usr/include/nfs, /usr/include/protocols, - /usr/include/rpc, /usr/include/sys, /usr/lib/audit, - /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, - /usr/share/i18n, /usr/share/zoneinfo, /var/cache/nscd и - /var/lib/nss_db</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Краткое описание - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="gencat" name="gencat"></a><span class= - "term"><span class= - "command"><strong>gencat</strong></span></span> - </p> - </td> - <td> - <p> - Создает каталоги сообщений - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="getconf" name="getconf"></a><span class= - "term"><span class= - "command"><strong>getconf</strong></span></span> - </p> - </td> - <td> - <p> - Отображает настройки системы для специфичных переменных - файловой системы - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="getent" name="getent"></a><span class= - "term"><span class= - "command"><strong>getent</strong></span></span> - </p> - </td> - <td> - <p> - Получает записи из административной базы данных - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="iconv" name="iconv"></a><span class= - "term"><span class= - "command"><strong>iconv</strong></span></span> - </p> - </td> - <td> - <p> - Выполняет преобразование набора символов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="iconvconfig" name="iconvconfig"></a><span class= - "term"><span class= - "command"><strong>iconvconfig</strong></span></span> - </p> - </td> - <td> - <p> - Создает быстрозагружаемые файлы настроек модуля - <span class="command"><strong>iconv</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ldconfig" name="ldconfig"></a><span class= - "term"><span class= - "command"><strong>ldconfig</strong></span></span> - </p> - </td> - <td> - <p> - Настраивает привязки времени выполнения динамического - компоновщика - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ldd" name="ldd"></a><span class= - "term"><span class="command"><strong>ldd</strong></span></span> - </p> - </td> - <td> - <p> - Сообщает, какие общие библиотеки требуются каждой - программе или общей библиотеке - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="lddlibc4" name="lddlibc4"></a><span class= - "term"><span class= - "command"><strong>lddlibc4</strong></span></span> - </p> - </td> - <td> - <p> - Помогает <span class= - "command"><strong>ldd</strong></span> работать с - объектными файлами. Он не существует на более новых - архитектурах, таких как x86_64 - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="locale" name="locale"></a><span class= - "term"><span class= - "command"><strong>locale</strong></span></span> - </p> - </td> - <td> - <p> - Выводит различную информацию о текущей локали - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="localedef" name="localedef"></a><span class= - "term"><span class= - "command"><strong>localedef</strong></span></span> - </p> - </td> - <td> - <p> - Компилирует спецификации локали - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="makedb" name="makedb"></a><span class= - "term"><span class= - "command"><strong>makedb</strong></span></span> - </p> - </td> - <td> - <p> - Создает простую базу данных на основе текстового ввода - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="mtrace" name="mtrace"></a><span class= - "term"><span class= - "command"><strong>mtrace</strong></span></span> - </p> - </td> - <td> - <p> - Читает и интерпретирует файл трассировки памяти; - отображает сводку в удобочитаемом формате - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="nscd" name="nscd"></a><span class= - "term"><span class= - "command"><strong>nscd</strong></span></span> - </p> - </td> - <td> - <p> - Демон, который обеспечивает кеширование наиболее - распространенных запросов к службе имен - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="pcprofiledump" name= - "pcprofiledump"></a><span class="term"><span class= - "command"><strong>pcprofiledump</strong></span></span> - </p> - </td> - <td> - <p> - Создает дамп информации, генерируемой при профилировании - ПК - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="pldd" name="pldd"></a><span class= - "term"><span class= - "command"><strong>pldd</strong></span></span> - </p> - </td> - <td> - <p> - Перечисляет динамические общие объекты, используемые - запущенными процессами. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="sln" name="sln"></a><span class= - "term"><span class="command"><strong>sln</strong></span></span> - </p> - </td> - <td> - <p> - Статически скомпонованная программа <span class= - "command"><strong>ln</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="sotruss" name="sotruss"></a><span class= - "term"><span class= - "command"><strong>sotruss</strong></span></span> - </p> - </td> - <td> - <p> - Отслеживает вызовы процедур общей библиотеки указанной - команды - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="sprof" name="sprof"></a><span class= - "term"><span class= - "command"><strong>sprof</strong></span></span> - </p> - </td> - <td> - <p> - Читает и отображает данные профилирования общих объектов. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="tzselect" name="tzselect"></a><span class= - "term"><span class= - "command"><strong>tzselect</strong></span></span> - </p> - </td> - <td> - <p> - Запрашивает у пользователя информацию о текущем - местоположении системы и выводит описание - соответствующего часового пояса. - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="xtrace" name="xtrace"></a><span class= - "term"><span class= - "command"><strong>xtrace</strong></span></span> - </p> - </td> - <td> - <p> - Отслеживает выполнение программы, отображая выполняемую в - данный момент функцию - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="zdump" name="zdump"></a><span class= - "term"><span class= - "command"><strong>zdump</strong></span></span> - </p> - </td> - <td> - <p> - Выдает дамп часового пояса - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="zic" name="zic"></a><span class= - "term"><span class="command"><strong>zic</strong></span></span> - </p> - </td> - <td> - <p> - Компилятор часовых поясов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ld.so" name="ld.so"></a><span class= - "term"><code class="filename">ld-*.so</code></span> - </p> - </td> - <td> - <p> - Вспомогательная программа для исполняемых файлов общей - библиотеки - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libBrokenLocale" name= - "libBrokenLocale"></a><span class="term"><code class= - "filename">libBrokenLocale</code></span> - </p> - </td> - <td> - <p> - Используется внутри Glibc как грубый хак для запуска - сломанных программ (например, некоторые приложения - Motif). Прочитайте комментарии в <code class= - "filename">glibc-2.38/locale/broken_cur_max.c</code> для - получения дополнительной информации - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libanl" name="libanl"></a><span class= - "term"><code class="filename">libanl</code></span> - </p> - </td> - <td> - <p> - Библиотека-заглушка, не содержащая функций. Ранее это - была библиотека асинхронного поиска имен, функции которой - теперь находятся в <code class="filename">libc</code> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libc" name="libc"></a><span class= - "term"><code class="filename">libc</code></span> - </p> - </td> - <td> - <p> - Основная библиотека C - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libc_malloc_debug" name= - "libc_malloc_debug"></a><span class="term"><code class= - "filename">libc_malloc_debug</code></span> - </p> - </td> - <td> - <p> - Включает проверку выделения памяти при предварительной - загрузке - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libdl" name="libdl"></a><span class= - "term"><code class="filename">libdl</code></span> - </p> - </td> - <td> - <p> - Библиотека-заглушка, не содержащая функций. Ранее была - библиотекой интерфейса динамической компоновки, функции - которой теперь находятся в <code class= - "filename">libc</code> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libg" name="libg"></a><span class= - "term"><code class="filename">libg</code></span> - </p> - </td> - <td> - <p> - Библиотека-заглушка без функций. Раньше была библиотекой - среды выполнения для <span class= - "command"><strong>g++</strong></span> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libm" name="libm"></a><span class= - "term"><code class="filename">libm</code></span> - </p> - </td> - <td> - <p> - Математическая библиотека - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libmvec" name="libmvec"></a><span class= - "term"><code class="filename">libmvec</code></span> - </p> - </td> - <td> - <p> - Библиотека векторных математических вычислений, - подключаемая по мере необходимости при использовании - <code class="filename">libm</code> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libmcheck" name="libmcheck"></a><span class= - "term"><code class="filename">libmcheck</code></span> - </p> - </td> - <td> - <p> - Включает проверку выделения памяти при подключении к - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libmemusage" name="libmemusage"></a><span class= - "term"><code class="filename">libmemusage</code></span> - </p> - </td> - <td> - <p> - Используется <span class= - "command"><strong>memusage</strong></span> для сбора - информации об использовании памяти программой - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libnsl" name="libnsl"></a><span class= - "term"><code class="filename">libnsl</code></span> - </p> - </td> - <td> - <p> - Библиотека сетевых служб, которая в настоящее время - устарела - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libnss" name="libnss"></a><span class= - "term"><code class="filename">libnss_*</code></span> - </p> - </td> - <td> - <p> - Модули Name Service Switch, содержащие функции для - разрешения имен хостов, имен пользователей, имен групп, - псевдонимов, служб, протоколов и т. д. Загружаются - <code class="filename">libc</code> в соответствии с - конфигурацией в <code class= - "filename">/etc/nsswitch.conf</code> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libpcprofile" name="libpcprofile"></a><span class= - "term"><code class="filename">libpcprofile</code></span> - </p> - </td> - <td> - <p> - Содержит функции профилирования, используемые для - отслеживания времени, потраченного процессором в - конкретных строках исходного кода - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libpthread" name="libpthread"></a><span class= - "term"><code class="filename">libpthread</code></span> - </p> - </td> - <td> - <p> - Библиотека-заглушка, не содержащая функций. Ранее - содержала функции, обеспечивающие большинство - интерфейсов, заданных POSIX.1c Threads Extensions - (расширения реализации потоков) и интерфейсы семафоров, - указанных в POSIX.1b Real-time Extension (расширения - реального времени), теперь эти функции находятся в - <code class="filename">libc</code> - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libresolv" name="libresolv"></a><span class= - "term"><code class="filename">libresolv</code></span> - </p> - </td> - <td> - <p> - Содержит функции создания, пересылки и интерпретации - пакетов, используемых на серверах доменных имен в сети - интернет - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="librt" name="librt"></a><span class= - "term"><code class="filename">librt</code></span> - </p> - </td> - <td> - <p> - Содержит функции, реализующие большую часть интерфейсов, - определяемых в POSIX.1b Real-time Extension (расширения - реального времени) - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libthread_db" name="libthread_db"></a><span class= - "term"><code class="filename">libthread_db</code></span> - </p> - </td> - <td> - <p> - Содержит функции, полезные для сборки отладчиков для - многопоточных программ - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libutil" name="libutil"></a><span class= - "term"><code class="filename">libutil</code></span> - </p> - </td> - <td> - <p> - Библиотека-заглушка, не содержащая функций. Ранее - содержал код для <span class="quote">«<span class= - "quote">стандартных</span>»</span> функций, используемых - во многих утилитах Unix. Эти функции теперь находятся в - <code class="filename">libc</code> - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="iana-etc.html" title= - "Iana-Etc-20230810">Пред.</a> - <p> - Iana-Etc-20230810 - </p> - </li> - <li class="next"> - <a accesskey="n" href="zlib.html" title="Zlib-1.2.13">След.</a> - <p> - Zlib-1.2.13 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - </body> -</html> |