355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Gerard Beekmans » Linux From Scratch » Текст книги (страница 9)
Linux From Scratch
  • Текст добавлен: 24 сентября 2016, 07:05

Текст книги "Linux From Scratch"


Автор книги: Gerard Beekmans


Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 9 (всего у книги 18 страниц)

Установка Binutils-2.13

Приблизительное время компиляции: 2.48 SBU Необходимое дисковое пространство: 94 MB

Инсталляция Binutils

Этот пакет известен своим нестабильным поведением при компиляции с измененными опциями оптимизации (включая опции -march и -mcpu). Binutils рекомендуется компилировать с настройками по умолчанию. Следовательно, если вы задали переменные такие как CFLAGS или CXXFLAGS, изменяющие уровень оптимизации по умолчанию, рекомендуется убрать их при сборке пакета Binutils. Изменяя оптимизации для Binutils, вы действуете на свой страх и риск.

Для инсталляции Binutils выполните:

mkdir ../binutils-build && cd ../binutils-build && ../binutils-2.13/configure –prefix=/usr –enable-shared && make tooldir=/usr && make tooldir=/usr install && make tooldir=/usr install-info && cp ../binutils-2.13/include/libiberty.h /usr/include

Пояснение команд

tooldir=/usr: Обычно директория tooldir (та директория, куда помещаются исполняемые файлы) определяется как $(exec_prefix)/$(target_alias), например /usr/i686-pc-linux-gnu. Так как мы компилируем binutils для нашей системы, необходимость target-директории в /usr отпадает. Она бы нам понадобилась в случае кросс-компиляции (т.е. компиляции программы на платформе Intel с созданием кода, который можно запустить на системах Apple PowerPC).

make tooldir=/usr install-info: Установка информационных страниц binutils.

cp ../binutils-2.13/include/libiberty.h /usr/include: Некоторые программы для компиляции требуют файл заголовков libiberty.h.

Содержимое Binutils

Последняя проверка: версия 2.12.1.

Программы

addr2line, ar, as, gasp, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings and strip

Описания

addr2line

addr2line переводит программные адреса в имена файлов и номера строк. Given an address and an executable, используется отладочная информация исполняемого файла, чтобы определить, какое имя файла и номер строки связаны с данным адресом.

ar

ar создает и изменяет архивы, а также производит их распаковку. Архив – файл, содержащий несколько файлов в виде, позволяющем восстановить оригинал.

as

as используется для ассемблирования вывода the GNU C Compiler, gcc для использования с линкером ld.

gasp

gasp – Assembler Macro Preprocessor.

gprof

gprof отображает статистику системных вызовов.

ld

ld объединяет несколько объектных и архивных файлов и устанавливает символьные отношения. Последний шаг в сборке скомпилированной программы – запуск ld.

nm

nm перечисляет символы из объектных файлов.

objcopy

objcopy utility копирует содержимое одного объектного файла в другой. objcopy использует библиотеку GNU BFD для чтения/записи объектных файлов. Возможна запись конечного объектного файла в формате, отличном от исходного.

objdump

objdump выводит информацию об одном или нескольких объектных файлах. Опции указывают, какую информацию выводить. Эта информация полезна для программистов, разрабатывающих компиляторы, в противоположность тем, кому нужно просто скомпилировать и запустить программу.

ranlib

ranlib генерирует оглавление содержимого архива и сохраняет его в архиве. Список будет содержать все символы, определенные членами архива, that is a relocatable object file.

readelf

readelf выводит информацию об бинарных файлах типа elf.

size

size выводит размеры секций –и общий размер– каждого указанного объектного файла. По умолчанию, генерируется одна строка для каждого объектного файла или модуля в архиве.

strings

Для каждого заданного файла strings выводит последовательность отображаемых символов длиной минимум 4 знака (или указанной длины), завершающуюся непечатным символом. По умолчанию, выводятся лишь строки из инициализированных и загруженных частей объектных файлов. Для других типов файлов выводятся строки из всего файла.

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

strip

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

Библиотеки

libbfd.[a,so] и libopcodes.[a,so]

Описания

libbfd

libbfd – библиотека Binary File Descriptor.

libopcodes

libopcodes – библиотека для работы с опкодами, используется в сборке утилит вроде objdump. Опкоды – «читаемые» версии инструкций процессора.

Зависимости Binutils

Последняя проверка: версия 2.11.2.

Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, nm, ranlib, strip Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, rmdir, touch Flex: flex Gcc: cc, cc1, collect2, cpp0, gcc Glibc: ldconfig Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, true, uname Texinfo: install-info, makeinfo Textutils: cat, sort, tr, uniq

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

Приблизительное время компиляции: 0.68 SBU Необходимое дисковое пространство: 17 MB

Инсталляция Fileutils

Для инсталляции Fileutils выполните:

./configure –prefix=/usr –bindir=/bin && make && make install && ln -s ../../bin/install /usr/bin

Содержимое Fileutils

Последняя проверка: версия 4.1.

Программы

chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch и vdir

Описания

chgrp

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

chmod

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

chown

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

cp

cp копирует файлы.

dd

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

df

df показывает количество свободного места на файловых системах, содержащих указанные файлы. Если файлы не заданы, показывается свободное место на всех смонтированных файловых системах.

dir, ls and vdir

dir и vdir – версии ls с разными форматами вывода по умолчанию. Эти программы выводят список заданных файлов и каталогов. Содержимое каталога сортируется по алфавиту. ls, по умолчанию, перечисляет файлы в столбцах если стандартный вывод – терминал, иначе идет перечисление по одному в строке. dir, по умолчанию, перечисляет файлы в столбцах. vdir, по умолчанию перечисляет файлы в полном формате.

dircolors

dircolors выводит значение LS_COLOR. Переменная LS_COLOR используется для установки цветовой схемы, используемой ls и прочими утилитами.

du

du выводит количество дискового пространства, занятого указанными файлами и каталогами (включая подкаталоги).

install

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

ln

ln создает жесткие или мягкие (символические) ссылки на файлы.

mkdir

mkdir создает каталог с заданным именем.

mkfifo

mkfifo создает FIFO с заданным именем.

mknod

mknod создает FIFO, символьный или блочный файл с заданным именем.

mv

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

rm

rm удаляет файлы или каталоги.

rmdir

rmdir удаляет пустые каталоги.

shred

shred безопасно удаляет файл, перезаписывая занимаемые им блоки, так что содержимое невозможно восстановить.

sync

sync принудительно записывает изменившиеся блоки на диск и обновляет superblock.

touch

touch изменяет время доступа и изменения каждого заданного файла на текущее время. Если файл не существует, то создается пустой файл.

Зависимости Fileutils

Последняя проверка: версия 4.1.

Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, fgrep, grep Make: make Perl: perl Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info Textutils: cat, tr

Установка Sh-utils-2.0

Приблизительное время компиляции: 0.42 SBU Необходимое дисковое пространство: 12 MB

Инсталляция Sh-utils

Перед установкой пакета примените hostname-патч. Удостоверьтесь, что патч и пакет распакованы перед инсталляцией.

Для инсталляции Sh-utils выполните:

patch -Np1 -i ../sh-utils-2.0-hostname.patch && ./configure –prefix=/usr && make && make install && mv /usr/bin/{basename,date,echo,false,pwd} /bin && mv /usr/bin/{sleep,stty,su,test,true,uname} /bin && mv /usr/bin/chroot /usr/sbin

Замечания по соответствию FHS

В составе данного пакета присутствует команда test. Она часто используется скриптами оболочки для оценки условия, и чаще встречается в виде [ условие]. Квадратные скобки встроены в интерпретатор команд bash, однако по стандарту FHS должна присутствовать команда [. Создадим ее:

ln -s test /bin/[

Пояснения команд

patch -Np1 -i ../sh-utils-2.0-hostname.patch: Этот патч запрещает компиляцию программы hostname, которая будет установлена позже, в рамках пакета net-tools. Программа hostname из пакета net-tools является предпочтительной (а в некоторых случаях обязательной, т.к. поддерживает опции требуемые некоторыми программами, например XFree86).

Содержимое Sh-utils

Последняя проверка: версия 2.0.

Программы

basename, chroot, date, dirname, echo, env, expr, factor, false, groups, hostid, id, logname, nice, nohup, pathchk, pinky, printenv, printf, pwd, seq, sleep, stty, su, tee, test, true, tty, uname, uptime, users, who, whoami и yes

Описания

basename

basename удаляет каталоги и суффиксы из имен файлов.

chroot

chroot запускает команду или оболочку в указанном корневом каталоге.

date

date выводит текущее время в указанном формате или устанавливает.

dirname

dirname удаляет суффиксы, не относящиеся к каталогам, из имен файлов.

echo

echo выводит строку текста.

env

env запускает программу в измененном окружении.

expr

expr вычисляет выражения.

factor

factor выводит разложение на простые множители всех указанных целых чисел.

false

false всегда завершается с кодом «ошибка».

groups

groups выводит группу, к которой принадлежит пользователь.

hostid

hostid выводит числовой идентификатор (шестандцатеричный) текущего хоста.

id

id выводит пользовательский и групповой ID текущего или заданного пользователя.

logname

logname выводит регистрационное имя текущего пользователя.

nice

nice запускает программу с заданным приоритетом.

nohup

nohup выполняет команду, защищенную от зависаний, с выводом в журнальный файл.

pathchk

pathchk проверяет наличие файла.

pinky

pinky – простая утилита finger, показывающая информацию о конкретном пользователе.

printenv

printenv выводит значения переменных окружения.

printf

printf выводит форматированные данные (аналогично функции printf в C).

pwd

pwd выводит имя текущего каталога.

seq

seq выводит числа в заданном диапазоне с заданным шагом.

sleep

sleep делает задержку на указанное количество времени.

stty

stty выводит и изменяет настройки терминала.

su

su запускает командный интерпретатор с правами указанного пользователя и группы.

tee

tee считывает данные со стандартного ввода и записывает их на стандартный вывод и в файлы.

test

test проверяет типы файлов и сравнивает значения.

true

true всегда завершается с кодом «успех».

tty

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

uname

uname выводит информацию о системе.

uptime

uptime сообщает, как долго активна система.

users

users выводит имена пользователей, зарегистрированных на локальном хосте.

who

who показывает зарегистрированных пользователей.

whoami

whoami выводит имя пользователя, ассоциированное с текущим пользовательским ID.

yes

yes выводит 'y' или заданную строку до принудительного завершения.

Зависимости Sh-utils

Последняя проверка: версия 2.0.

Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, chown, 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 Perl: perl Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Tar: tar Texinfo: install-info, makeinfo Textutils: cat, tr

Установка Gettext-0.11.5

Приблизительное время компиляции: 0.99 SBU Необходимое дисковое пространство: 39 MB

Инсталляция Gettext

Для инсталляции Gettext выполните:

./configure –prefix=/usr && make && make install

Содержимое Gettext

Последняя проверка: версия 0.11.2.

Программы

config.charset, config.rpath, gettext, gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, project-id, team-address, trigger, urlget, user-email и xgettext

Описания

config.charset

config.charset выводит зависящую от системы таблицу кодов символов.

config.rpath

config.rpath выводит зависящий от системы набор переменных, describing how to set the run time search path of shared libraries in an executable.

gettext

gettext используется для интернационализации (aka i18n) и локализации (aka l10n). Программы могут быть скомпилированы с поддержкой Native Language Support (NLS), что позволяет им выводить сообщения на родном языке пользователя вместо стандартного английского.

gettextize

gettextize копирует все стандартные файлы gettext в каталог. Используется для создания пакетов с переводами gettext.

hostname

hostname выводит имя системы в разных форматах.

msgattrib

msgattrib фильтрует сообщения каталога переводов, основываясь на их атрибутах, а также оперирует их атрибутами.

msgcat

msgcat находит сообщения, встречающиеся в нескольких переводах.

msgcmp

msgcmp сравнивает 2 файла перевода.

msgcomm

msgcomm ищет сообщения, появляющиеся в нескольких файлах .po. Используется для сравнения переводов.

msgconv

msgconv конвертирует каталог перевода в другую кодировку.

msgen

msgen создает каталог переводов для английского языка.

msgexec

msgexec применяет команду ко всем переводам из каталога перевода.

msgfilter

msgfilter применяет фильтр ко всем переводам из каталога переводов.

msgfmt

msgfmt program компилирует перевод в машинный код. Используется для создания окончательного перевода программы или пакета.

msggrep

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

msginit

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

msgmerge

msgmerge объединяет два перевода в один файл. Используется для обновления перевода при помощи исходных файлов.

msgunfmt

msgunfmt декомпилирует файлы перевода. Возможно использование, только если есть скомпилированные версии.

msguniq

msguniq приводит к единому образцу дублирующиеся переводы в каталоге переводов.

ngettext

ngettext выводит переводы текстового сообщения, чья грамматическая форма зависит от числа на основной язык.

project-id

project-id выводит идентификационную информацию пакета.

team-address

team-address выводит адрес команды переводчиков на стандартный вывод и выдает дополнительные инструкции.

trigger

trigger проверяет, является ли пакет пакетом GNOME или KDE.

urlget

urlget получает содержимое URL.

user-email

user-email выводит адрес электронной почты пользователя, с подтверждением.

xgettext

xgettext извлекает строки сообщений из файлов C. Используется для создания шаблона перевода.

Библиотеки

libgettextlib[a,so], libgettextsrc[a,so]

Описания

libgettextlib

На данный момент нет описания.

libgettextsrc

На данный момент нет описания.

Зависимости Gettext

Последняя проверка: версия 0.10.40.

Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: ar, as, ld, nm, ranlib, strip Bison: bison Diffutils: cmp Fileutils: chmod, install, ln, ls, mkdir, mv, rm, rmdir Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, fgrep, grep M4: m4 Make: make Gawk: gawk Sed: sed Sh-utils: basename, echo, expr, hostname, sleep, uname Texinfo: install-info, makeinfo Textutils: cat, sort, tr, uniq

Установка Net-tools-1.60

Приблизительное время компиляции: 0.16 SBU Необходимое дисковое пространство: 5 MB

Инсталляция Net-tools

Для инсталляции Net-tools выполните:

make && make update

Если вы согласны со всеми ответами по умолчанию, выполните следующие команды взамен вышеприведеных:

yes "" | make && make update

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

Настройки по умолчанию активируют наиболее распространенные сетевые протоколы, такие как TCP, PPP и т.д. Однако впоследствии вам необходимо добавить их поддержку в ядре. На данном этапе, вы указываете программам, какие протоколы следует использовать, в то время как задача ядра сделать их доступными для системы.

Пояснения команд

make update: Выполняет ту же функцию, что и команда make install, за исключением того, что make update не сохраняет резервные копии заменяемых файлов. Например, net-tools заменяет программу пакета sh-utils /bin/hostname (версия этой программы из пакета net-tools намного лучшее ее аналога из sh-utils).

Если вы захотите переустановить пакет net-tools, команда make update не сохранит резервные копии файлов предыдущей инсталляции net-tools.

Contents of Net-tools

Последняя проверка: версия 1.60.

Программы

arp, dnsdomainname (ссылка на hostname), domainname (ссылка на hostname), hostname, ifconfig, nameif, netstat, nisdomainname (ссылка на hostname), plipconfig, rarp, route, slattach и ypdomainname (ссылка на hostname)

Описания

arp

arp используется для манипулирования ARP кэшем ядра, обычно для добавления/удаления записей, или вывода его содержимого.

dnsdomainname

dnsdomainname выводит DNS доменное имя системы.

domainname

domainname выводит или изменяет NIS/YP доменное имя системы.

hostname

hostname выводит или изменяет имя текущего хоста.

ifconfig

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

nameif

nameif указывает сетевые интерфейсы, основанные на адресах MAC.

netstat

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

nisdomainname

nisdomainname выводит или изменяет NIS/YP доменное имя системы.

plipconfig

plipconfig – используется для тонкой настройки устройств PLIP device, возможно ускоряя ее.

rarp

Как и arp, rarp манипулирует таблицей RARP.

route

route – основная утилита для управления таблицами IP роутинга.

slattach

slattach активирует сетевой интерфейс на последовательной линии, т.е. переводит обычную терминальную линию в один из нескольких «сетевых» режимов.

ypdomainname

ypdomainname выводит или изменяет NIS/YP доменное имя системы.

Зависимости Net-tools

Последняя проверка: версия 1.60.

Bash: bash, sh Binutils: ar, as, ld Fileutils: install, ln, ls, mv, rm Gcc: cc, cc1, collect2, cpp0 Make: make Sh-utils: echo

Установка Perl-5.8.0

Приблизительное время компиляции: 3.81 SBU Необходимое дисковое пространство: 52 MB

Инсталляция Perl

Для инсталляции Perl выполните:

./configure.gnu –prefix=/usr && make && make install

Если вы хотите контролировать настройку perl, можете выполнить интерактивный скрипт Configure, для внесения изменений в установки по умолчанию. Если же настройки по умолчанию вас устраивают, просто выполните команды, приведенные выше.

Содержимое Perl

Последняя проверка: версия 5.6.1.

Программы

a2p, c2ph, dprofpp, find2perl, h2ph, h2xs, perl, perl5.6.1, perlbug, perlcc, perldoc, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage, podchecker, podselect, pstruct, s2p и splain

Описания

a2p

a2p – траслятор с awk на perl.

c2ph

c2ph выводит структуры C как сгенерированные «cc -g -S».

dprofpp

dprofpp отображает профили perl.

find2perl

find2perl транслирует командные строки find в код Perl.

h2ph

h2ph конвертирует заголовочные файлы C в заголовки Perl.

h2xs

h2xs конвертирует заголовочные файлы C в расширения Perl.

perl, perl5.6.1

perl – Practical Extraction and Report Language (Язык Практичных Извлечений и Докладов :)). Сочетает достоинства C, sed, awk и sh в одном мощном языке.

perlbug

perlbug генерирует сообщение об ошибке perl или его модулей и отправляет их по почте.

perlcc

perlcc генерирует исполняемые файлы из программ на Perl.

perldoc

perldoc просматривает документацию .pod, поставляемую с perl или скриптом perl и выводит как «pod2man | nroff -man | $PAGER».

pl2pm

pl2pm – утилита для помощи в конвертировании библиотек Perl4 в модули библиотек Perl5.

pod2html

pod2html конвертирует файлы из формата pod в формат HTML.

pod2latex

pod2latex конвертирует файлы из формата pod в формат LaTeX.

pod2man

pod2man конвертирует файлы из формата pod в форматированный ввод *roff.

pod2text

pod2text конвертирует файлы из формата pod в форматированный текст ASCII.

pod2usage

pod2usage выводит в файлы сообщения об использовании из встроенной документации pod.

podchecker

podchecker проверяет синтаксис файлов документации в формате pod.

podselect

podselect выводит выбранные части документации pod на стандартный вывод.

pstruct

pstruct выводит структуры C как сгенерированные «cc -g -S».

s2p

s2p – транслятор с sed на perl.

splain

splain служит для пропуска полных диагностических сообщений perl.

Библиотеки

attrs.so, B.so, ByteLoader.so, DProf.so, Dumper.so, DynaLoader.a, Fcntl.so, Glob.so, Hostname.so, IO.so, libperl.a, Opcode.so, Peek.so, POSIX.so, re.so, SDBM_File.so, Socket.so, Syslog.so и SysV.so

Descriptions

attrs

На данный момент описания нет.

B

На данный момент описания нет.

ByteLoader

На данный момент описания нет.

DProf

На данный момент описания нет.

Dumper

На данный момент описания нет.

DynaLoader

На данный момент описания нет.

Fcntl

На данный момент описания нет.

Glob

На данный момент описания нет.

Hostname

На данный момент описания нет.

IO

На данный момент описания нет.

libperl

На данный момент описания нет.

Opcode

На данный момент описания нет.

Peek

На данный момент описания нет.

POSIX

На данный момент описания нет.

re

На данный момент описания нет.

SDBM_File

На данный момент описания нет.

Socket

На данный момент описания нет.

Syslog

На данный момент описания нет.

SysV

На данный момент описания нет.

Зависимости Perl

Последняя проверка: версия 5.6.1.

Bash: sh Binutils: ar, as, ld, nm Diffutils: cmp Fileutils: chmod, cp, ln, ls, mkdir, mv, rm, touch Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Gawk: awk Sed: sed Sh-utils: basename, date, echo, expr, hostname, pwd, uname, whoami Textutils: cat, comm, sort, split, tr, uniq, wc


    Ваша оценка произведения:

Популярные книги за неделю