Linux From Scratch
Шрифт:
Данный патч также устраняет некоторые другие ошибки, например, «errlist», «dns resolver», «xdr_array», «calloc», «thread exit», «udivdi3», «math test», «restrict_arr» и «divbyzero». Для получения более подробной информации, см. http://www.zipworld.com.au/~gschafer/lfs-tweaks.html.
touch /etc/ld.so.conf: Один из заключительных шагов установки Glibc installation – выполнение команды ldconfig для обновления динамического кэша загрузки. Если этот файл не существует, инсталляция завершится с ошибкой, что не может прочесть файл. Для избегания подобной ошибки, мы просто создаем пустой
–disable-profile: Отменяет компиляцию библиотек с профильной информацией. Если вы собираетесь использовать профили, пропустите эту опцию.
–enable-add-ons: Включает дополнительные модули, в нашем случае linuxthreads.
–libexecdir=/usr/bin: Инсталлирует программу pt_chown в каталог /usr/bin.
echo «cross-compiling = no» > configparms: Этой командой мы даем понять, что компилируем пакет только для нашей системы. Кросс-компиляция используется, например, для того, чтобы скомпилировать пакет для системы Apple Power PC на Intel-совместимом компьютере. Glibc по умолчанию полагает, что мы кросс-компилируем, потому что не может скомпилировать тестовую программу для проверки, т.к. сам пакет Glibc еще не установлен.
exec /static/bin/bash –login: Данная программа запустит новый сеанс оболочки bash вместо текущего. Мы, таким образом, избавимся от приглашения «I have no name!» командной строки, которое было вызвано невозможностью bash получить имя пользователя из userid (из-за отсутствия Glibc).
Содержимое Glibc
Последняя проверка: версия 2.2.5.
Программы
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
Описания
catchsegv
catchsegv может быть использования для слежения за состоянием стека, когда выполнение программы прерывается из-за ошибки распределения памяти.
gencat
gencat генерирует каталоги сообщений.
getconf
getconf отображает значения переменных, зависящих от системной конфигурации.
getent
getent позволяет получить записи административной базы данных.
glibcbug
glibcbug создает сообщение об ошибке в glibc и отправляет по указанному адресу сообщения об ошибках.
iconv
iconv осуществляет преобразование наборов символов.
iconvconfig
iconvconfig создает конфигурационные файлы для модулей iconv.
ldconfig
ldconfig настраивает привязки времени исполнения динамического линкера.
ldd
ldd выводит список разделяемых библиотек, необходимых заданным программам.
lddlibc4
lddlibc4 используется ldd при работе с объектными файлами.
locale
locale – скрипт на Perl, разрешающий (или запрещающий) компилятору использование локалей POSIX для встроенных операций.
localedef
localedef компилирует спецификации локалей.
mtrace
mtrace выводит путь multicast от источника к получателю (запрос IP trace).
nscd
nscd – демон, предоставляющий кэш для большинства запросов DNS.
nscd_nischeck
nscd_nischeck
pcprofiledump
pcprofiledump выводит информацию, полученной из профиля PC.
pt_chown
pt_chown устанавливает владельца, группу и права доступа подчиненного псевдотерминала в соответствии с основным псевдотерминалом, переданном в описании `3'. Это вспомогательная программа для функции `grantpt'. Не предназначается для прямого запуска из командной строки.
rpcgen
rpcgen генерирует код C для реализации протокола RPC.
rpcinfo
rpcinfo делает запрос RPC к серверу.
sln
sln символически связывает dest и source. Программа собрана статически. Использование sln полезно для создания символических ссылок на динамические библиотеки, если система динамического связывания по какой-то причине нефункциональна.
sprof
sprof выводит информацию о разделяемом объекте.
tzselect
tzselect получает от пользователя информацию от его местоположении и выводит на стандартный вывод значение текущей временной зоны.
xtrace
xtrace отслеживает исполнение программы, выводя исполняемые в данный момент функции.
zdump
zdump – сохраняет значение временной зоны.
zic
zic – компилятор временных зон.
Библиотеки
ld.so, libBrokenLocale.[a,so], libBrokenLocale_p.a, libSegFault.so, libanl.[a,so], libanl_p.a, libbsd-compat.a, libc.[a,so], libc_nonshared.a, libc_p.a, libcrypt.[a,so], libcrypt_p.a, libdl.[a,so], libdl_p.a, libg.a, libieee.a, libm.[a,so], libm_p.a, libmcheck.a, libmemusage.so, libnsl.a, libnsl_p.a, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libnss_nis.so, libnss_nisplus.so, libpcprofile.so, libpthread.[a,so], libpthread_p.a, libresolv.[a,so], libresolv_p.a, librpcsvc.a, librpcsvc_p.a, librt.[a,so], librt_p.a, libthread_db.so, libutil.[a,so] и libutil_p.a
Описания
ld.so
ld.so – вспомогательная программа для исполняемых файлов разделяемых библиотек.
libBrokenLocale, libBrokenLocale_p
Используется многими программами, например Mozilla, для использования поврежденных локалей.
libSegFault
libSegFault управляет сигналами ошибок распределения памяти, также пытается их перехватить.
libanl, libanl_p
libanl – библиотека асинхронных запросов DNS.
libbsd-compat
libbsd-compat предоставляет переносимость, необходимую для запуска некоторых программ в Linux.
libc, libc_nonshared, libc_p
Эти файлы образуют основную библиотеку C. Библиотека C – набор часто используемых в программах функций. Таким образом, программисту не нужно писать свои функции для каждой задачи. Большинство стандартных операций вроде вывода строки на экран уже готовы к использованию.
Библиотека C (в общем случае, любая библиотека) существует как в динамическом, так и статическом виде. Вкратце, когда программа использует статическую библиотеку, код из библиотеки копируется в исполняемый файл. При использовании динамической библиотеки, код из библиотеки не добавляется в исполняемый файл, а загружается только во время исполнения программы. Это позволяет уменьшить размер программ. За подробностями обращайтесь к документации библиотеки C.