Текст книги "Linux From Scratch"
Автор книги: Gerard Beekmans
Жанр:
ОС и Сети
сообщить о нарушении
Текущая страница: 8 (всего у книги 18 страниц)
Приблизительное время компиляции: 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.
pic
pic compiles descriptions of pictures embedded within troff or TeX input files into commands that are understood by TeX or troff.
pre-grohtml and post-grohtml
pre– and post-grohtml translate the output of GNU troff to html.
refer
refer copies the contents of a file to the standard output, except that lines between .[ and .] are interpreted as citations, and lines between .R1 and .R2 are interpreted as commands about how citations are to be processed.
soelim
soelim reads files and replaces lines of the form .so file by the contents of file.
tbl
tbl compiles descriptions of tables embedded within troff input files into commands that are understood by troff.
tfmtodit
tfmtodit creates a font file for use with groff -Tdvi.
troff
troff is highly compatible with Unix troff. Usually it should be invoked using the groff command, which will also run preprocessors and post-processors in the appropriate order and with the appropriate options.
zsoelim
zsoelim is the GNU implementation of soelim.
Groff Installation Dependencies
Last checked against version 1.17.2.
Bash: sh Binutils: ar, as, ld, ranlib Bison: bison Diffutils: cmp Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, touch Gcc: cc1, cc1plus, collect2, cpp0, g++, gcc Grep: egrep, grep Make: make Gawk: awk Sed: sed Sh-utils: basename, date, echo, expr, hostname, uname Textutils: cat, tr
Установка Textutils-2.1Приблизительное время компиляции: 0.83 SBU Необходимое дисковое пространство: 17 MB
Инсталляция Textutils
Для инсталляции Textutils выполните:
./configure –prefix=/usr && make && make install && mv /usr/bin/{cat,head} /bin
Содержимое Textutils
Последняя проверка: версия 2.0.
Программы
cat, cksum, comm, csplit, cut, expand, fmt, fold, head, join, md5sum, nl, od, paste, pr, ptx, sort, split, sum, tac, tail, tr, tsort, unexpand, uniq и wc
Описание
cat
cat выводит файлы на стандартный вывод.
cksum
cksum выводит контрольную сумму CRC и объем в байтах каждого указанного файла.
comm
comm построчно сравнивает два отсортированных файла.
csplit
csplit выводит части файла, разделенные заданными строками, в файлы xx01, xx02, ..., и размер каждой части на стандартный вывод.
cut
cut выводит указанные строки из указанных файлов на стандартный вывод.
expand
expand конвертирует знаки табуляции в файле в пробелы и выводит результат на стандартный вывод.
fmt
fmt форматирует каждый абзац в указанных файлах и выводит результат на стандартный вывод.
fold
fold делает переносы вводимых строк из указанных файлов (по умолчанию, со стандартного ввода) и выводит результат на стандартный вывод.
head
head выводит первые x (по умолчанию 10) строк каждого указанного файла на стандартный вывод.
join
join соединяет строки двух файлов в поля.
md5sum
md5sum выводит или проверяет контрольные суммы MD5.
nl
nl выводит каждый указанный файл на стандартный вывод, добавляя номера строк.
od
od выводит файл в различных форматах, по умолчанию в восьмеричном, на стандартный вывод.
paste
paste выводит строки, соответствующие заданным образцам из указанных файлов и разделенные символами табуляции, на стандартный вывод.
pr
pr разделяет файлы на страницы или колонки для распечатки.
ptx
ptx составляет оглавление файла.
sort
sort выводит на стандартный вывод построчно отсортированное слияние файлов.
split
split разбивает входной файл на части заданного размера PREFIXaa, PREFIXab, ...
sum
sum выводит контрольную сумму и количество занимаемых блоков каждого указанного файла.
tac
tac выводит каждый указанный файл на стандартный вывод last line first.
tail
tail выводит последние xx (по умолчанию 10) строк каждого указанного файла на стандартный вывод.
tr
tr заменяет, вставляет, и/или удаляет символы из стандартного ввода, выводя результат на стандартный вывод.
tsort
tsort выводит полностью упорядоченные списки, учитывая уже проведенную сортировку указанных файлов.
unexpand
unexpand конвертирует пробелы в каждом файле в символы табуляции, выводя результат на стандартный вывод.
uniq
uniq удаляет повторяющиеся строки из отсортированного файла.
wc
wc выводит количество строк, слов и размер в байтах каждого указанного файла и сумму результатов, если указано более одного файла.
Зависимости Textutils
Последняя проверка: версия 2.0.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, install, ls, mv, rm Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Net-tools: hostname Perl: perl Sed: sed Sh-utils: basename, echo, expr, sleep, uname Tar: tar Texinfo: install-info, makeinfo Textutils: cat, tr
Установка Sed-3.02Приблизительное время компиляции: 0.09 SBU Необходимое дисковое пространство: 2 MB
Инсталляция Sed
Для инсталляции Sed выполните:
./configure –prefix=/usr –bindir=/bin && make && make install
Содержимое Sed
Последняя проверка: версия 3.02.
Программы
sed
Описания
sed
sed – редактор потоков. Он используется для основных преобразований текста на потоке ввода (файл или ввод из другого процесса).
Зависимости Sed
Последняя проверка: версия 3.02.
Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, install, ls, mv, rm Gcc: cc1, collect2, cpp0, gcc Glibc: getconf Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: echo, expr, hostname, sleep Texinfo: install-info, makeinfo Textutils: cat, tr
Установка Flex-2.5.4aПриблизительное время компиляции: 0.05 SBU Необходимое дисковое пространство: 3 MB
Инсталляция Flex
Для инсталляции Flex выполните:
./configure –prefix=/usr && make && make install
Некоторые программы не знают о существовании flex и пытаются найти программу lex (flex – альтернатива (предпочтительная) команде lex). Итак, для устранения возможных проблем, создадим скрипт bash под названием lex. Он будет вызывать команду flex и эмулировать lex.
Создадим файл /usr/bin/lex:
cat > /usr/bin/lex << «EOF»
#!/bin/sh
# Begin /usr/bin/lex
exec /usr/bin/flex -l «$@»
# End /usr/bin/lex
EOF chmod 755 /usr/bin/lex
Содержимое Flex
Последняя проверка: версия 2.5.4a.
Program Files
flex, flex++ (ссылка на flex) and lex
Descriptions
flex
flex – инструмент для генерации программ, распознающих заданные образцы в тексте. Распознавание образцов часто используется во многих приложениях. Пользователь задает правила поиска, и flex создает программу для поиска образцов. Причина, по которой люди используют flex, состоит в том, что гораздо проще задать правила, чем писать собственную программу.
flex++
flex++ вызывает версию flex, используемую для сканеров C++.
lex
Мы создали скрипт lex, вызывающий flex с опцией -l. Это необходимо для совместимости с программами, использующими lex вместо flex.
Библиотеки
libfl.a
Описания
libfl
libfl – библиотека flex.
Зависимости Flex
Последняя проверка: версия 2.5.4a.
Bash: sh Binutils: ar, as, ld, ranlib Bison: bison Diffutils: cmp Fileutils: chmod, cp, install, ln, mv, rm, touch Gcc: cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: echo, hostname Textutils: cat, tr