Linux From Scratch - Gerard Beekmans
Шрифт:
Интервал:
Закладка:
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 всегда завершается с кодом «успех».