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

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

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


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


Жанр:

   

ОС и Сети


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

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

Установка Diffutils-2.8.1

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

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

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

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

Содержимое Diffutils

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

Программы

cmp, diff, diff3 и sdiff

Описания

cmp и diff

cmp и diff сравнивают пару файлов и сообщают об их различиях. Обе программы имеют дополнительные опции сравнения файлов в различных ситуациях.

diff3

Разница между diff и diff3 состоит в том, что diff сравнивает 2 files, а diff3 – 3.

sdiff

sdiff выполняет слияние 2 файлов и интерактивно выводит результаты.

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

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

Bash: sh Binutils: ld, as Diffutils: cmp Fileutils: chmod, cp, install, mv, rm Gcc: cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: date, hostname Textutils: cat, tr

Установка E2fsprogs-1.27

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

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

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

mkdir ../e2fsprogs-build && cd ../e2fsprogs-build && ../e2fsprogs-1.27/configure –prefix=/usr –with-root-prefix="" –enable-elf-shlibs && make && make install && make install-libs && install-info /usr/share/info/libext2fs.info /usr/share/info/dir

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

–with-root-prefix="": Причина использования данной опции – настройка файла Makefile. Выполнение некоторых программ, когда к примеру, /usr еще не монтирован, жизненно важно. (например выполнение программы e2fsck). Соответственно, такие программы и библиотеки должны находиться в каталогах /lib и /sbin. Если не использовать данную опцию, эти программы по умолчанию помещаются в каталог /usr, что нас не устраивает.

–enable-elf-shlibs: Создает shared-библиотеки для некоторых программ пакета

make install-libs: Инсталлирует скомпилированные библиотеки.

Содержимое E2fsprogs

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

Программы

badblocks, chattr, compile_et, debugfs, dumpe2fs, e2fsck, e2image, e2label, fsck, fsck.ext2, fsck.ext3, lsattr, mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mklost+found, resize2fs, tune2fs и uuidgen

Описания

badblocks

badblocks используется для поиска сбойных блоков на устройстве (обычно, дисковом разделе).

chattr

chattr изменяет атрибуты файлов в файловых системах Linux second extended.

compile_et

compile_et используется для преобразования таблицы, листинга кодов ошибок и связанных сообщений в исходный код C, что удобно для использования с библиотекой com_err.

debugfs

debugfs – файловый отладчик. Используется для исследования и изменения состояния файловой системы ext2.

dumpe2fs

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

e2fsck and fsck.ext2

e2fsck и fsck.ext2 используются для проверки и исправления файловых систем Linux second extended.

e2image

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

e2label

e2label выводит и изменяет метку файловой системы ext2 filesystem, расположенной на указанном устройстве.

fsck

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

fsck.ext3

fsck.ext3 используется для проверки и исправления файловых систем Linux ext3.

lsattr

lsattr выводит атрибуты файла на second extended file system.

mk_cmds

mk_cmd, получая таблицу команд на входе, выводит исходный код C, который задается для использования с подсистемной библиотекой, libss.

mke2fs and mkfs.ext2

mke2fs используется для создания Linux second extended file system на устройстве (обычно, разделе диска). mkfs.ext2 выполняет те же функции, что и mke2fs.

mkfs.ext3

mkfs.ext3 используется для создания файловой системы ext3.

mklost+found

mklost+found создает каталог lost+found в текущем рабочем каталогу в Linux second extended file system. mklost+found заранее выделяет блоки диска для этого каталога, делая его доступным для e2fsck.

resize2fs

resize2fs используется для изменения размеров файловой системы ext2.

tune2fs

tune2fs изменяет настраиваемые параметры Linux second extended filesystem.

uuidgen

uuidgen создает новый универсальный уникальный идентификатор (UUID), используя библиотеку libuuid. Новый UUID будет уникален среди всех созданных UUID на любой системе и в любое время.

Библиотеки

libcom_err.[a,so], libe2p.[a,so], libext2fs.[a,so], libss.[a,so], libuuid.[a,so]

Описания

libcom_err

Вывод стандартных ошибок.

libe2p

libe2p используется dumpe2fs, chattr и lsattr.

libext2fs

Библиотека ext2fs создана для работы пользовательских программ с файловыми системами ext2.

libss

libss используется debugfs.

libuuid

Библиотека libuuid используется для генерации уникальных идентификаторов для объектов, которые могут быть доступны извне.

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

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

Bash: sh Binutils: ar, as, ld, ranlib, strip Diffutils: cmp Fileutils: chmod, cp, install, ln, mkdir, mv, rm, sync Gcc: cc, cc1, collect2, cpp0 Glibc: ldconfig Grep: egrep, grep Gzip: gzip Make: make Gawk: awk Sed: sed Sh-utils: basename, echo, expr, hostname, uname Texinfo: makeinfo Textutils: cat, tr

Установка Grep-2.5

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

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

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

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

Содержимое Grep

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

Программы

egrep (ссылка на grep), fgrep (ссылка на grep) и grep

Описания

egrep

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

fgrep

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

grep

grep выводит строки файлов, соответствующие регулярному выражению.

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

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

Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chmod, install, ls, mkdir, mv, rm Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf 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, tr

Установка Gzip-1.2.4a

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

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

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

patch -Np1 -i ../gzip-1.2.4b.patch && ./configure –prefix=/usr && cp gzexe.in{,.backup} && sed 's%"BINDIR"%/bin%' gzexe.in.backup > gzexe.in && make && make install && mv /usr/bin/gzip /bin && rm /usr/bin/{gunzip,zcat} && ln -s gzip /bin/gunzip && ln -s gzip /bin/zcat && ln -s gunzip /bin/uncompress

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

patch -Np1 -i ../gzip-1.2.4b.patch: Этот патч устраняет возможную ошибку переполнения буфера, возникающую когда имя файла превышает 1020 символов.

Содержимое Gzip

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

Программы

gunzip (ссылка на gzip), gzexe, gzip, uncompress (ссылка на gunzip), zcat (ссылка на gzip), zcmp, zdiff, zforce, zgrep, zmore и znew

Описание

gunzip, uncompress

gunzip и uncompress распаковывают файлы, сжатые gzip.

gzexe

gzexe позволяет сжать исполняемые файлы и автоматически распаковывать их при запуске (уменьшается производительность ).

gzip

gzip уменьшает размер указанных файлов используя код Lempel-Ziv (LZ77).

zcat

zcat распаковывает и выводит на стандартный вывод либо файлы из заданного списка, либо файл со стандартного ввода.

zcmp

zcmp применяет cmp к сжатым файлам.

zdiff

zdiff применяет diff к сжатым файлам.

zforce

zforce присваивает расширение .gz всем файлам gzip, так что они не будут сжаты дважды. Может быть полезно для файлов, чьи имена были изменены после их передачи.

zgrep

zgrep применяет grep к сжатым файлам.

zmore

zmore – фильтр, позволяющий поэкранный просмотр (не)сжатых текстовых файлов (вроде more).

znew

znew конвертирует файлы формата .Z (compress) в .gz (gzip).

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

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

Bash: sh Binutils: as, ld, nm Fileutils: chmod, cp, install, ln, mv, rm Gcc: cc1, collect2, cpp, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: hostname Textutils: cat, tr

Установка Man-1.5k

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

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

Для установки man выполните:

patch -Np1 -i ../man-1.5k.patch && PATH=$PATH:/usr/bin:/bin ./configure -default -confdir=/etc && make && make install

Примечание: Если вы хотите отключить последовательность выхода SGR, отредактируйте файл man.conf и добавьте к команде nroff аргумент -c.

Для получения информации по форматированию и сжатию страниц руководства (man pages), см. http://hints.linuxfromscratch.org/hints/man.txt.

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

PATH=$PATH:/usr/bin:/bin ./configure -default: В файлы man прописываются пути к некоторым программам. К сожалению, скрипт configure выбирает не первое (где находится программа), а последнее местонахождение программы в PATH. С помощью добавления /usr/bin:/bin к PATH для команды ./configure, вероятность использования командой man статических версий программ будет устранена.

patch -Np1 -i ../man-1.5k.patch: Данный патч убирает один из файлов в man.conf (MANPATH /usr/man), т.к. он создает избыточные результаты при использовании программ типа whatis. Для корректного отображения страниц руководства, патч также добавляет к переменной PAGER опцию –R.

Содержимое Man

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

Программы

apropos, makewhatis, man, man2dvi, man2html и whatis

Описания

apropos

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

makewhatis

makewhatis читает страницы руководства, находящиеся в заданных частях manpath, или преформатированные страницы, находящиеся в заданных частях catpath. Для каждой страницы делается запись в базе whatis. Каждая запись состоит из имени страницы и краткого описания, разделенных дефисом. Описание извлекается, используя содержимое секции NAME страницы руководства.

man

man форматирует и выводит запрашиваемые страницы руководства.

man2dvi

man2dvi конвертирует страницу руководства в формат dvi.

man2html

man2html конвертирует страницу руководства в гипертекст.

whatis

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

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

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

Bash: sh Binutils: as, ld Fileutils: chmod, cp, install, mkdir, rm Gcc: c11, collect2, cpp0, gcc Grep: grep Make: make Gawk: awk Sed: sed Sh-utils: echo Textutils: cat

Установка Lilo-22.2

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

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

Мы выбрали LILO в качестве загрузчика, потому что с ним на комфортно, однако вы можете выбрать другой. Fabio Fracassi написал руководство по установке GRUB, см. http://hints.linuxfromscratch.org/hints/grub-howto.txt.

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

make && make install

При компиляции этого пакета с опцией -g на некоторых компьютерах возникают проблемы. В случае если LILO не компилируется, удалите -g из значения переменной CFLAGS в файле Makefile.

В самом конце инсталляции, процедура make install выведет на экран сообщение о том, что необходимо выполнить команду /sbin/lilo для обновления. Не делайте этого, т.к. на данной стадии это бессмысленно: не существует файла /etc/lilo.conf. Завершение процесса установки LILO описано в Главе 8.

Стандартное приглашение (меню) LILO можно заменить логотипом LFS или любым другим по вашему усмотрению. См. руководство Мартина Имоберстега на http://hints.linuxfromscratch.org/hints/bootlogo.txt.

Содержимое Lilo

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

Программы

lilo, mkrescue и keytab-lilo.pl

Описания

lilo

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

mkrescue

mkrescue создает загрузочную дискету, используя существующее ядро и любой инициализационный ramdisk.

keytab-lilo.pl

keytab-lilo.pl компилирует определения keytable в формат, который lilo может использовать для настройки клавиатуры во время загрузки.

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

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

Bash: sh Bin86: as86, ld86 Binutils: as, ld, strip Fileutils: cp, dd, ln Gcc: cc, cc1, collect2, cpp0 Make: make Sed: sed Textutils: cat

Установка Make-3.79.1

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

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

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

./configure –prefix=/usr && make && make install && chgrp root /usr/bin/make && chmod 755 /usr/bin/make

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

По умолчанию, /usr/bin/make принадлежит к той же группе kmem. На некоторых системах это необходимо для проверки средней загрузки системы командой /dev/kmem. Однако, для Linux-систем это не нужно, и мы удаляем make из группы kmem. Это также решает проблему игнорирования командой make переменных типа LD_LIBRARY_PATH.

Содержимое Make

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

Программы

make

Описания

make

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

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

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

Autoconf: autoconf, autoheader Automake: aclocal, automake Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chgrp, chmod, install, ls, mv, rm Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf 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, tr

Установка Modutils-2.4.19

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

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

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

./configure && make && make install

Содержимое Modutils

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

Программы

depmod, genksyms, insmod, insmod_ksymoops_clean, kallsyms (ссылка на insmod), kernelversion, ksyms (ссылка на insmod), lsmod (ссылка на insmod), modinfo, modprobe (ссылка на insmod) и rmmod (ссылка на insmod)

Описания

depmod

depmod управляет деревьями зависимостей загружаемых модулей.

genksyms

genksyms читает вывод от gcc -E source.c и генерирует файл, содержащий информацию о версиях.

insmod

insmod включает модуль в ядро.

insmod_ksymoops_clean

insmod_ksymoops_clean удаляет сохраненные ksym'ы и модули, не использующиеся минимум 2 дня.

kallsyms

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

kernelversion

kernelversion выводит номер основной версии ядра.

ksyms

ksyms показывает экспортированные символы ядра.

lsmod

lsmod показывает информацию о загруженных модулях.

modinfo

modinfo просматривает объектный файл, ассоциированный с модулем ядра, и выводит любую доступную информацию.

modprobe

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

rmmod

rmmod выгружает модули из ядра.

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

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

Bash: sh Binutils: ar, as, ld, ranlib, strip Bison: bison Diffutils: cmp Fileutils: chmod, install, ln, mkdir, mv, rm Flex: flex Gcc: cc, cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Sed: sed Sh-utils: basename, expr, hostname, uname Textutils: cat, tr

Установка Netkit-base-0.17

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

Инсталляция Netkit-base

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

./configure && make && make install && cp etc.sample/{services,protocols} /etc

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

Содержимое Netkit-base

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

Программы

inetd и ping

Описания

inetd

inetd – родитель всех демонов. Прослушивает соединения и передает вызов соответствующему демону.

ping

ping посылает ICMP пакеты ECHO_REQUEST хосту и определяет время ответа.

Зависимости Netkit-base

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

Bash: sh Binutils: as, ld, strip Fileutils: cp, install, rm Make: make Gcc: cc1, collect2, cpp0, gcc Sed: sed Sh-utils: date Textutils: cat

Установка Patch-2.5.4

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

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

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

CPPFLAGS=-D_GNU_SOURCE ./configure –prefix=/usr && make && make install

Содержимое Patch

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

Программы

patch

Описания

patch

patch модифицирует файл в соответствии с патчем. Патч обычно является списком, созданным diff, содержащим инструкции к изменению. Patch часто используется для исправлений в исходном коде, поскольку сохраняет время и место на диске. Например, имеется пакет объемом 1 MB. Следующая версия пакета имеет изменения только в 2 файлах. Новая версия может быть как новым пакетом в 1 MB или патчем в 1 KB. Таким образом, патчи позволяют избежать объемных загрузок.

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

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

Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chmod, install, mv, rm Gcc: cc, cc1, collect2, cpp0, gcc Glibc: getconf Grep: egrep, grep Make: make Sed: sed Sh-utils: echo, expr, hostname, uname Textutils: cat, tr

Установка Procinfo-18

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

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

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

make LDLIBS=-lncurses && make install

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

make LDLIBS=-lncurses : Использовать -lncurses вместо -ltermcap при компиляции procinfo, т.к. libtermcap считается устаревшей по отношению к libncurses.

Содержимое Procinfo

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

Программы

lsdev, procinfo и socklist

Описания

lsdev

lsdev получает информацию об установленном оборудовании из файлов interrupts, ioports и dma в каталоге /proc directory, составляя краткий обзор используемых адресов I/O и каналов IRQ и DMA.

procinfo

procinfo получает системную информацию из каталога /proc и выводит отформатированный результат на стандартный вывод.

socklist

Скрипт Perl, выводящий список открытых сокетов, включающий тип, порт, inode, uid, pid, fd и программу, к которой принадлежит сокет.

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

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

Binutils: as, ld Fileutils: install, mkdir Gcc: cc1, collect2, cpp0, gcc Make: make

Установка Procps-2.0.7

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

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

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

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

patch -Np1 -i ../procps-2.0.7.patch && make && make XSCPT="" install && mv /usr/bin/kill /bin

Command explanations

patch -Np1 -i ../procps-2.0.7.patch: Этот патч устраняет проблему локали, когда программа top дает сбой при определенных настройках локали.

make XSCPT="" install: Обнуляет значение переменной XSCPT в Makefile для отключения инсталляции XConsole. В обратном случае, команда «make install» попытается скопировать файл XConsole в каталог /usr/X11R6/lib/X11/app-defaults, который не существует, т.к. X Window System не установлена.

Содержимое Procps

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

Программы

free, kill, oldps, pgrep, pkill, ps, skill, snice, sysctl, tload, top, vmstat, w и watch

Descriptions

free

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

kill

kills посылает сигналы процессам.

oldps and ps

ps выводит список процессов.

pgrep

pgrep выводит список процессов, основываясь на заданных именах и атрибутах.

pkill

pkill посылает сигналы процессам, основываясь на заданных именах и атрибутах.

skill

skill посылает сигналы процессам, попадающим под критерий.

snice

snice меняет приоритет процесса, попадающего под критерий.

sysctl

sysctl меняет параметры ядра во время его работы.

tload

tload выводит статистику загрузки системы на указанный tty (или текущий, если не).

top

top позволяет отслеживать активность процессора в реальном времени.

vmstat

vmstat выводит информацию о процессах, памяти, разделе подкачки, блоках IO, и активности процессора.

w

w показывает информацию о зарегистрировавшихся пользователях и их процессах.

watch

watch многократно выполняет команду, отображая ее вывод.

Библиотеки

libproc.so

Описания

libproc

libproc – библиотека, с которой связано большинство программ из этого пакета.

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

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

Bash: sh Binutils: as, ld, strip Fileutils: install, ln, mv, rm Gcc: cc1, collect2, cpp0, gcc Grep: grep Make: make Gawk: awk Sed: sed Sh-utils: basename, pwd Textutils: sort, tr


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

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