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.
   libcrypt, libcrypt_p
   libcrypt – криптографическая библиотека.
   libdl, libdl_p
   libdl – библиотека интерфейсов динамической линковки.
   libg
   libg – библиотека времени исполнения g++.
   libieee
   libieee – IEEE библиотека операций с числами с плавающей запятой.
   libm, libm_p
   libm – математическая библиотека.
   libmcheck
   libmcheck – содержит код, выполняемый при загрузке.
   libmemusage
   libmemusage – используется memusage для сбора информации о памяти, используемой программой.
   libnsl, libnsl_p
   libnsl – библиотека сетевых сервисов.
   libnss_compat, libnss_dns, libnss_files, libnss_hesiod, libnss_nis, libnss_nisplus
   Основная идея – поместить реализацию различных сервисов доступа к базам данных в отдельные модули. Преимущества:
   поставщики могут добавлять новые сервисы, не включая их в C библиотеку GNU,
   модули могут быть независимо обновлены,
   Библиотека C имеет меньший размер.
   libpcprofile
   Код, используемый ядром для отслеживания времени, затрачиваемого процессором на исполнение функций, отдельных строк кода и инструкций.
   libpthread, libpthread_p
   POSIX библиотека потоков.
   libresolv, libresolv_p
   Библиотека позволяет DNS-серверам создавать, посылать и интерпретировать пакеты.
   librpcsvc, librpcsvc_p
   Библиотека предоставляет различные сервисы RPC.
   librt, librt_p
   Библиотека предоставляет большинство интерфейсов, описанных POSIX.1b Realtime Extension.
   libthread_db
   Библиотека полезна для создания отладчиков для многопотоковых приложений.
   libutil, libutil_p
   Содержит код «стандартных» функций, используемых многими утилитами Unix.
   Зависимости Glibc
   Последняя проверка: версия 2.2.5.
   Bash: sh Binutils: ar, as, ld, ranlib, readelf Diffutils: cmp Fileutils: chmod, cp, install, ln, mknod, mv, mkdir, rm, touch Gcc: cc, cc1, collect2, cpp, gcc Grep: egrep, grep Gzip: gzip Make: make Gawk: gawk Sed: sed Sh-utils: date, expr, hostname, pwd, uname Texinfo: install-info, makeinfo Textutils: cat, cut, sort, tr
   Установка GCC-3.2
   Приблизительное время компиляции: 13.26 SBU Необходимое дисковое пространство: 221 MB
 
   Инсталляция GCC
   Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
   Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). GCC рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета GCC. Изменяя оптимизации для GCC, вы действуете на свой страх и риск.
   Для инсталляции GCC выполните приведенные ниже команды, собирающие компиляторы языка Си и С++. Также можно установить компиляторы других языков программирования из пакета GCC. В случае, если вы хотите инсталлировать все компиляторы из пакета GCC, уберите опцию –enable-languages=c,c++ из команды configure. Для получения информации о доступных компиляторах, см документацию пакета GCC.
   Примечание: инсталляция других компиляторов не тестировалась разработчиками проекта LFS.
    patch -Np1 -i ../gcc-3.2.patch && mkdir ../gcc-build && cd ../gcc-build && ../gcc-3.2/configure –prefix=/usr –enable-shared \ –enable-languages=c,c++ –enable-threads=posix \ –with-slibdir=/lib –enable-__cxa_atexit \ –enable-clocale=gnu && make bootstrap && make install && ln -s ../usr/bin/cpp /lib && ln -s ../bin/cpp /usr/lib && ln -s gcc /usr/bin/cc
 
   Пояснение команд
    –enable-threads=posix:Эта опция включает обработку исключений в многопоточном коде на С++.
    –enable-__cxa_atexit:Эта опция позволит использовать shared-библиотеки C++ и программы, написанные на C++, с другими дистрибутивами Linux.
    –enable-clocale=gnu:Существует опасность, что у некоторых пользователей будут компилироваться ABI-несовместимые библиотеки С++, если glibc localedata не установлен полностью. Использование опции –enable-clocale=gnu гарантирует корректную компиляцию во всех случаях. Если вы не хотите использовать эту опцию, удостоверьтесь, что по крайней мере, устанавливается локаль de_DE. Когда GCC находит эту конкретную локаль, выполняется верный режим локали ( gnu).
   Содержимое GCC
   Последняя проверка: версия 3.1.
   Программы
   c++, c++filt, cc (link to gcc), cc1, cc1plus, collect2, cpp, cpp0, g++, gcc, gccbug, gcov и tradcpp0
   Описания
   cc, cc1, cc1plus, gcc
   Компилятор C. Компилятор переводит код из текстового формата в формат, понятный компьютеру. После того, как исходный код скомпилирован в объектный файл, линкер создаст исполняемый файл из одного или нескольких объектных.
   c++, cc1plus, g++
   Компилятор C++, эквивалент cc, gcc etc.
   c++filt
   Язык C++ позволяет осуществлять перезагрузку функций, делая возможным написание многих функций с одним именем (с разным набором параметром). Все имена функций C++ закодированы в низкоуровневые метки ассемблера (этот процесс известен как mangling). c++filt совершает обратное действие: низкоуровневые имена переводятся (demangling) в имена, понятные пользователю, так что линкер избегает конфликта между перезагруженными функциями.
   collect2
   collect2 помогает в компиляции конструкторов.
   cpp, cpp0
   cpp осуществляет препроцессинг исходных файлов, например включает в них содержимое заголовочных файлов. Просто добавьте в ваш исходный файл строку вроде #include <filename>. Препроцессор вставит содержимое заголовочного файла.
   gccbug
   gccbug – скрипт, облегчающий создание сообщений об ошибках.
   gcov
   gcov анализирует программы, чтобы помочь в создании более эффективного и быстрого кода путем его оптимизации.
   tradcpp0
   На данный момент описания нет.
   Библиотеки
   libgcc.a, libgcc_eh.a, libgcc_s.so, libiberty.a, libstdc++.[a,so], libsupc++.a
   Описания
   libgcc, libgcc_eh, libgcc_s
   Файлы поддержки gcc времени исполнения.
   libiberty
   libiberty – коллекция подпрограмм, используемых различными программами GNU, включая getopt, obstack, strerror, strtol и strtoul.
   libstdc++
   libstdc++ – библиотека C++. Она используется программами на C++ и содержит часто используемые функции. Таким образом, программисту не нужно писать стандартные функции (например, вывод строки текста на экран) с нуля при каждом создании программы.
   libsupc++
   libsupc++ предоставляет поддержку языка программирования C++. Помимо прочего, libsupc++ содержит функции для обработки исключений.
   Зависимости GCC
   Последняя проверка: версия 2.95.3.
   Bash: sh Binutils: ar, as, ld, nm, ranlib Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, touch Find: find Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Patch: patch Sed: sed Sh-utils: basename, dirname, echo, expr, hostname, sleep, true, uname Tar: tar Texinfo: install-info, makeinfo Textutils: cat, tail, tr

Установка Zlib-1.1.4

   Приблизительное время компиляции: 0.07 SBU Необходимое дисковое пространство: 1 MB
 
   Инсталляция Zlib
   Для инсталляции Zlib выполните:
    ./configure –prefix=/usr –shared && make LIBS="libz.so.1.1.4 libz.a" && make LIBS="libz.so.1.1.4 libz.a" install && mv /usr/lib/libz.so.* /lib && ln -sf ../../lib/libz.so.1 /usr/lib/libz.so && cp zlib.3 /usr/share/man/man3
 
   Содержимое Zlib
   Последняя проверка: версия 1.1.4.
   Библиотеки
   libz[a,so]
   Описания
   libz
   Библиотека zlib, используемая многими программами, и реализующая методы (де)компрессии данных.
   Зависимости Zlib
   Зависимости еще не проверялись.

Установка Findutils-4.1

   Приблизительное время компиляции: 0.10 SBU Необходимое место на диске: 3 MB
 
   Инсталляция Findutils
   Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
   Для инсталляции Findutils выполните:
    patch -Np1 -i ../findutils-4.1.patch && ./configure –prefix=/usr && make libexecdir=/usr/bin && make libexecdir=/usr/bin install
 
   Замечания по соответствию FHS
   По умолчанию, база данных updatedb находится /usr/var. Если вы хотите полного соответствия со стандартом FHS, установите ее в другом месте. Приведенные ниже команды используют совместимый с FHS файл базы данных /var/lib/misc/locatedb.
    patch -Np1 -i ../findutils-4.1.patch && ./configure –prefix=/usr && make localstatedir=/var/lib/misc libexecdir=/usr/bin && make localstatedir=/var/lib/misc libexecdir=/usr/bin install
 
   Пояснения команд
    patch -Np1 -i ../findutils-4.1.patch: Этот патч исправляет некоторые ошибки при компиляции, избегая конфликта переменных и поправляя синтаксис.
   Содержимое Findutils
   Последняя проверка: версия 4.1.
   Программы
   bigram, code, find, frcode, locate, updatedb и xargs
   Описания
   bigram
   bigram используется вместе с code для создания поисковых баз старого типа. Больше информации об этих программах приведено на locatedb.5 man page.
   code
   code – предшественник frcode. Он использовался в старых поисковых базах.
   find
   find ищет файлы, отвечающие заданному критерию. Если критерий не задан, выводится список файлов в текущем каталоге и каталогах нижнего уровня.
   frcode
   frcode вызывается updatedb для сжатия списка файлов, используя front-compression и уменьшая размер базы данных в 4-5 раз.
   locate
   locate просматривает базу данных, содержащую сведения обо всех файлах и каталогах на файловой системе. Программа выводит имена файлов и каталогов в базе, совпадающие с заданным критерием. Если пользователь ищет файлы, программа просмотрит базу и сообщит, где находятся запрошенные файлы. Поиск даст результаты, только если база часто обновляется, иначе будет выдана устаревшая информация.
   updatedb
   updatedb обновляет поисковую базу. Просматривается вся файловая система (включая все смонтированные, если не указано обратное), каждый найденный файл и каталог записывается в базу, используемую locate. Неплохо обновлять базу хотя бы раз в день, чтобы избежать ее устаревания.
   xargs
   xargs выполняет команду относительно списка файлов. Список должен содержать одно имя в строке.
   Зависимости Findutils
   Последняя проверка: версия 4.1.
   Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, cp, install, mv, rm Grep: egrep, grep Gcc: cc1, collect2, cpp0, gcc Make: make Patch: patch Sed: sed Sh-utils: basename, date, echo, hostname Textutils: cat, tr

Установка Gawk-3.1.1

   Приблизительное время компиляции: 0.39 SBU Необходимое дисковое пространство: 15 MB
 
   Инсталляция Gawk
   Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
   Предупреждение: Ни в коем случае не выполняйте команду make uninstallдля этого пакета, если вы установили патч, изменяющий определение директории libexec. Правило uninstallв скрипте Makefile выполнит команду rm -rf <libexecdir>/*. Так как мы определили директорию libexec как /usr/bin, скрипт выполнит rm -rf /usr/bin/*
   Для инсталляции Gawk выполните:
    patch -Np1 -i ../gawk-3.1.1-2.patch && ./configure –prefix=/usr –libexecdir=/usr/bin && make && make install
 
   Пояснение команд
    patch -Np1 -i ../gawk-3.1.1-2.patch:Этот патч изменяет определение местоположения директории libexec. Он позволит нам переопределить ее с помощью опции –libexecdirк скрипту configure.
   Содержимое Gawk
   Последняя проверка: версия 3.1.1.
   Программы
   awk, gawk, gawk-3.1.1, grcat, igawk, pgawk, pgawk-3.1.1, pwcat
   Описания
   awk
   awk – символьная ссылка на gawk.
   gawk, gawk-3.1.1
   gawk – GNU реализация awk, языка поиска и обработки текстовых образцов.
   grcat
   grcat выполняет слияние базы групп, /etc/group.
   igawk
   igawk – скрипт, дающий gawk возможность включения файлов.
   pgawk, pgawk-3.1.1
   pgawk – профильная версия gawk.
   pwcat
   pwcat выполняет слияние базы паролей, /etc/passwd.
   Зависимости Gawk
   Последняя проверка: версия 3.1.0.
   (Зависимости пока не проверены)

Установка Ncurses-5.2

   Приблизительное время компиляции: 1.88 SBU Необходимое дисковое пространство: 22 MB
 
   Инсталляция Ncurses
   Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
   Для инсталляции Ncurses выполните:
    patch -Np1 -i ../ncurses-5.2-2.patch && ./configure –prefix=/usr –with-shared && make && make install && chmod 755 /usr/lib/*.5.2 && mv /usr/lib/libncurses.so.5* /lib && ln -s libncurses.a /usr/lib/libcurses.a && ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so && ln -sf ../../lib/libncurses.so.5 /usr/lib/libcurses.so
 
   Пояснения команд
    patch -Np1 -i ../ncurses-5.2-patch:Этот патч устраняет проблему компиляции пакета с GCC-3.2, т.к. Ncurses использует конструкции, более недействительные в новом стандарте С++.
    –with-shared:Эта опция указывает компилировать библиотеки ncurses совместного пользования.
    chmod 755 *.5.2:Библиотеки совместного пользования должны быть исполняемыми. Однако процедура инсталляции Ncurses неверно устанавливает права, и приходится изменять их вручную.
    ln -sf libncurses.a libcurses.a:Некоторые программы для компоновки используют -lcurses вместо -lncurses. Создание этой символической ссылки устраняет проблему.
   Содержимое Ncurses
   Последняя проверка: версия 5.2.
   Программы
   captoinfo (ссылка на tic), clear, infocmp, infotocap (ссылка на tic), reset (ссылка на tset), tack, tic, toe, tput и tset.
   Описания
   captoinfo
   captoinfo конвертирует описания termcap в описания terminfo.
   clear
   clear очищает экран, если это возможно. Тип терминала ищется в переменных окружения и базе terminfo, процедура очистки экрана зависит от найденного типа.
   infocmp
   infocmp используется для сравнения бинарной записи terminfo с другими записями, перезаписать описание terminfo, использовать поле terminfo use=, или вывести описание terminfo из бинарного файла (term) в различных форматах (противоположность тому. что делает tic).
   infotocap
   infotocap конвертирует описания terminfo в описания termcap.
   reset
   reset устанавливает режимы cooked и echo, отключает режимы cbreak и raw, включает трансляцию символов новой строки и сбрасывает все неустановленные специальные символы на значения по умолчанию перед инициализацией терминала вроде tset.
   tack
   tack – проверяет действия terminfo.
   tic
   tic – компилятор описаний записей terminfo. Программа транслирует файл terminfo из исходного в бинарный формат для использования библиотекой ncurses. Файлы terminfo содержат информацию о возможностях терминала.
   toe
   toe перечисляет все доступные типы терминалов по основному имени вместе с описаниями.
   tput
   tput использует базу terminfo, чтобы сделать информацию о терминале доступной командному интерпретатору, инициализировать или сбросить терминал, либо вернуть полное имя запрошенного типа терминала.
   tset
   tset инициализирует терминалы, что уже не используется широко. Необходимо для совместимости с 4.4BSD.
   Библиотеки
   libcurses.[a,so] (ссылка на libncurses.[a,so]), libform.[a,so], libform_g.a, libmenu.[a,so], libmenu_g.a, libncurses++.a, libncurses.[a,so], libncurses_g.a, libpanel.[a,so] и libpanel_g.a
   libcurses, libncurses++, libncurses, libncurses_g
   Это – основные библиотеки пакета, используются для отображения текста на экране (зачастую нестандартным способом). Пример использования ncurses – процедура «make menuconfig» сборки ядра.
   libform, libform_g
   libform используется для реализации форм в ncurses.
   libmenu, libmenu_g
   libmenu используется для реализации меню в ncurses.
   libpanel, libpanel_g
   libpanel используется для реализации панелей в ncurses.
   Зависимости Ncurses
   Последняя проверка: версия 5.2.
   Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, cp, install, ln, mkdir, mv, rm Gcc: c++, cc1, cc1plus, collect2, cpp0, gcc Glibc: ldconfig Grep: egrep, fgrep, grep Make: make Gawk: gawk Sed: sed Sh-utils: basename, date, echo, expr, hostname, uname Textutils: cat, sort, tr, wc

Установка Vim-6.1

   Приблизительное время компиляции: 0.81 SBU Необходимое дисковое пространство: 24 MB
 
   Инсталляция Vim
   Перед установкой пакета примените патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.
   Если вам не по душе Vim, см. инструкции по инсталляции других редакторов http://beyond.linuxfromscratch.org/view/cvs/postlfs/editors.html. На данный момент есть инструкции для редакторов Emacs, nano, и joe.
   Для установки Vim выполните:
    patch -Np1 -i ../vim-6.1.patch && ./configure –prefix=/usr && make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" && make install && ln -s vim /usr/bin/vi
 
   Если вы планируете установить систему X Window для LFS, вам понадобится перекомпилировать Vim после установки Х. Vim поставляется с GUI версией редактора, требующей установленной системы X Window и некоторых дополнительных библиотек. Для получения подробной информации обратитесь к документации Vim.
   Пояснения команд
    patch -Np1 -i ../vim-6.1.patch:Этот патч устраняет проблему компиляции с GCC-3.2.
    make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\":Эта опция приводит к тому, что vim берет глобальные настройки из файла /etc/vimrc. Обычно этот файл берется из /usr/share/vim, однако каталог /etc – более логичное место для этого файла.
   Содержимое Vim
   Последняя проверка: версия 6.1.
   Программы
   efm_filter.pl, efm_perl.pl, ex (ссылка на vim), less.sh, mve.awk, pltags.pl, ref, rview (ссылка на vim), rvim (ссылка на vim), shtags.pl, tcltags, vi (ссылка на vim), view (ссылка на vim), vim, vim132, vim2html.pl, vimdiff (ссылка на vim), vimm, vimspell.sh, vimtutor и xxd
   Описания
   efm_filter.pl
   efm_filter.pl – фильтр, читающий из стандартного ввода, пишущий на стандартный вывод и создающий файл ошибок, обрабатываемый vim.
   efm_perl.pl
   efm_perl.pl форматирует сообщения об ошибках интерпретатора Perl для использования в quickfix режиме vim.
   ex
   ex запускает vim в режиме Ex.
   less.sh
   less.sh – скрипт, запускающий vim, используя less.vim.
   mve.awk
   mve.awk обрабатывает ошибки vim.
   pltags.pl
   pltags.pl создает файл тегов кода Perl для использования vim.
   ref
   ref проверяет написание параметров.
   rview
   rview – ограниченная версия view. Нельзя передавать команды интерпретатору и vim не может быть приостановлен.
   rvim
   rvim is the restricted version of vim. Нельзя передавать команды интерпретатору и vim не может быть приостановлен.
   shtags.pl
   shtags.pl генерирует файл тегов для скриптов perl.
   tcltags
   tcltags генерирует файл тегов кода TCL.
   vi
   vi запускает vim в режиме совместимости с vi.
   view
   view запускает vim в режиме «только для чтения».
   vim
   vim запускает vim в стандартном режиме.
   vim132
   vim132 запускает vim в терминале в 132 колонки.
   vim2html.pl
   vim2html.pl конвертирует документацию vim в HTML.
   vimdiff
   vimdiff сравнивает две или три версии файла и показывает различия.
   vimm
   vimm включает модель ввода DEC locator на удаленном терминале.
   vimspell.sh
   vimspell.sh просматривает файл и генерирует синтаксические выражения, выделяемые в vim.
   vimtutor
   vimtutor запускает обучение работе с Vim.
   xxd
   xxd конвертирует бинарный ввод из файла в шестнадцатеричный и обратно.
   Зависимости Vim
   Последняя проверка: версия 6.0.
   Bash: sh Binutils: as, ld, strip Diffutils: cmp, diff Fileutils: chmod, cp, ln, mkdir, mv, rm, touch Find: find Gcc: cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Net-tools: hostname Sed: sed Sh-utils: echo, expr, uname, whoami Textutils: cat, tr, wc

Установка Bison-1.35

   Приблизительное время компиляции: 0.27 SBU Необходимое дисковое пространство: 6 MB
 
   Инсталляция Bison
   Для инсталляции Bison выполните:
    ./configure –prefix=/usr && make && make install
 
   Некоторые программы не знают о существовании bison и пытаются найти программу yacc (bison – альтернатива (предпочтительная) команде yacc). Итак, для устранения возможных проблем, создадим скрипт bash под названием yacc. Он будет вызывать команду bison и эмулировать имена выходных файлов в соответствии со стандартами yacc.
   Создадим файл /usr/bin/yacc:
    cat > /usr/bin/yacc << «EOF»
   #!/bin/sh
   # Begin /usr/bin/yacc
 
   exec /usr/bin/bison -y «$@»
 
   # End /usr/bin/yacc
    EOF chmod 755 /usr/bin/yacc
 
   Содержимое Bison
   Последняя проверка: версия 1.35.
   Программы
   bison и yacc
   Описания
   bison
   bison – генератор анализаторов синтаксиса (parser) выражений (заменяет yacc – Yet Another Compiler Compiler). Что же делает bison? Это программа, генерирующая программу, анализирующую структуру текстового файла. Вместо написания собственной программы пользователь указывает, как соотносятся объекты, и основываясь на данных правилах, создается анализатор. Существует множество примеров анализа синтаксиса, например калькулятор.
   Дано выражение:
   1 + 2 * 3
   Человек легко получит результат 7. Почему? Because of the structure. Наш мозг знает, как интерпретировать выражение. Компьютер этого не знает, и bison инструмент, представляющий выражение компьютеру в следующем виде:
   + / \ * 1 / \ 2 3
   Начиная с вершины дерева и обрабатывая 2 and 3, соединенных знаком умножения, компьютер перемножает 2 и 3. Результат умножения запоминается и следующее, что обрабатывается – 2*3 и 1, соединенные знаком сложения. Сложение 1 и предыдущего результата дает 7. Все составные выражения могут быть преобразованы в подобное дерево и вычислены. Конечно же, bison используется не только в калькуляторах.
   yacc
   Мы написали скрипт bash с именем yacc, вызывающий bison с опцией -y. Это необходимо для совместимости с программами, использующими yacc вместо bison.
   Зависимости Bison
   Последняя проверка: версия 1.31.
   Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, fgrep, grep Make: make Sed: sed Sh-utils: basename, dirname, echo, expr, hostname, sleep, uname Texinfo: install-info Textutils: cat, head, tr, uniq

Установка Less-374

   Приблизительное время компиляции: 0.13 SBU Необходимое дисковое пространство: 2 MB
 
   Инсталляция Less
   Для инсталляции Less выполните:
    ./configure –prefix=/usr –bindir=/bin –sysconfdir=/etc && make && make install
 
   Содержимое Less
   Последняя проверка: версия 374.
   Программы
   less, lessecho и lesskey
   Description
   less
   less – текстовый просмотрщик. Отображает содержимое файла с возможностью прокрутки. Less – улучшение утилиты more. Имеется возможность обратной прокрутки, нет необходимости считывать весь файл при его загрузке, что облегчает чтение больших файлов.
   lessecho
   lessecho необходим для подстановок метасимволов, вроде * и ?, в именах файлов на системах Unix.
   lesskey
   lesskey используется для установок клавиш less.
   Зависимости Less
   Последняя проверка: версия 358.
   Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chmod, install, mv, rm, touch Grep: egrep, grep Gcc: cc1, collect2, cpp0, gcc Make: make Sed: sed Sh-utils: expr, hostname, uname Textutils: cat, tr

Установка Groff-1.18

   Приблизительное время компиляции: 1.08 SBU
   Необходимое дисковое пространство: 18 MB
 
   Инсталляция Groff
   Для инсталляции Groff выполните:
    ./configure –prefix=/usr &&
    make PROCESSEDEXAMPLEFILES="" &&
    make PROCESSEDEXAMPLEFILES="" install &&
    ln -s soelim /usr/bin/zsoelim &&
    ln -s eqn /usr/bin/geqn &&
    ln -s tbl /usr/bin/gtbl
 
   Пояснения команд
    make PROCESSEDEXAMPLEFILES="":У Groff существует несколько зависимостей, которые мы не будем устанавливать. Эта опция отключает потребность в них.
    ln -s ...: Эти символические ссылки необходимы для корректной работы некоторых программ xmanи других программ работы с документами groff/man.
   Contents of Groff
   Last checked against version 1.17.2.
   Program Files
   addftinfo, afmtodit, eqn, geqn (link to eqn), grn, grodvi, groff, grog, grolbp, grolj4, grops, grotty, gtbl (link to tbl), hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, post-grohtml, pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to soelim)
   Descriptions
   addftinfo
   addftinfo reads a troff font file and adds some additional font-metric information that is used by the groff system.
   afmtodit
   afmtodit creates a font file for use with groff and grops.
   eqn
   eqn compiles descriptions of equations embedded within troff input files into commands that are understood by troff.
   geqn
   geqn is the GNU implementation of eqn.
   grn
   grn is a groff preprocessor for gremlin files.
   grodvi
   grodvi is a driver for groff that produces TeX dvi format.
   groff
   groff is a front-end to the groff document formatting system. Normally it runs the troff program and a post-processor appropriate for the selected device.
   grog
   grog reads files and guesses which of the groff options -e, -man, -me, -mm, -ms, -p, -s, and -t are required for printing files, and prints the groff command including those options on the standard output.
   grolbp
   grolbp is a groff driver for Canon CAPSL printers (LBP-4 and LBP-8 series laser printers).
   grolj4
   grolj4 is a driver for groff that produces output in PCL5 format suitable for an HP Laserjet 4 printer.
   grops
   grops translates the output of GNU troff to Postscript.
   grotty
   grotty translates the output of GNU troff into a form suitable for typewriter-like devices.
   gtbl
   gtbl is the GNU implementation of tbl.
   hpftodit
   hpftodit creates a font file for use with groff -Tlj4 from an HP tagged font metric file.
   indxbib
   indxbib makes an inverted index for the bibliographic databases a specified file for use with refer, lookbib, and lkbib.
   lkbib
   lkbib searches bibliographic databases for references that contain specified keys and prints any references found on the standard output.
   lookbib
   lookbib prints a prompt on the standard error (unless the standard input is not a terminal), reads from the standard input a line containing a set of keywords, searches the bibliographic databases in a specified file for references containing those keywords, prints any references found on the standard output and repeats this process until the end of input.
   mmroff
   mmroff is a simple preprocessor for groff.
   neqn
   The neqn script formats equations for ascii output.
   nroff
   The nroff script emulates the nroff command using groff.
   pfbtops
   pfbtops translates a Postscript font in .pfb format to ASCII.