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

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

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


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


Жанр:

   

ОС и Сети


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

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

Установка Psmisc-21

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

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

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

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

Psmisc инсталлирует страницу руководства man в /usr/share/man/man1/pidof.1, однако сама программа pidof по умолчанию не устанавливается. Обычно это не вызывает проблем, потому что позже мы установим пакет Sysvinit, предлагающий улучшенную версию программы pidof.

Однако вам решать – использовать пакет Sysvinit, предлагающий улучшенную версию программы pidof, или нет. Если да, то удалите страницу руководства Рsmisc pidof, выполнив следующую команду:

rm /usr/share/man/man1/pidof.1

Если вы не собираетесь использовать Sysvinit, завершите инсталляцию данного пакета и создайте символическую ссылку /bin/pidof :

ln -s killall /bin/pidof

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

–exec-prefix=/: Устанавливаем программы в /bin, а не в /usr/bin . Программы, входящие в данный пакет, часто используются при загрузке системы, следовательно, они должны быть доступны в директории /bin до монтирования раздела /usr.

Содержимое Psmisc

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

Программы

fuser, killall и pstree

Заметьте, что в LFS мы не создаем ссылку на pidof по умолчанию, поскольку мы используем pidof из sysvinit.

Описания

fuser

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

killall

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

pstree

pstree показывает дерево текущих процессов.

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

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

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

Установка Shadow-4.0.3

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

Инсталляция Shadow Password Suite

Перед тем как перейти к инсталляции данного пакета, рекомендуем прочесть руководство по теневым паролям , которое рассказывает о том, как сделать систему более защищенной в отношении паролей, как включить поддержку паролей MD5 и как выжать из пакета Shadow максимум пользы для системы. См. http://hints.linuxfromscratch.org/hints/shadowpasswd_plus.txt.

Для инсталляции Shadow Password Suite выполните:

./configure –prefix=/usr –libdir=/usr/lib –enable-shared && make && make install && cp etc/{limits,login.access} /etc && sed 's%/var/spool/mail%/var/mail%' etc/login.defs.linux > /etc/login.defs && ln -s vipw /usr/sbin/vigr && rm /bin/vipw && mv /bin/sg /usr/bin && mv /usr/lib/lib{shadow,misc}.so.0* /lib && ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so && ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so

Sh-utils и Shadow Password Suite устанавливают свои программы groups. Если вы захотите удалить программу groups из пакета Shadow Password Suite выполните:

rm /bin/groups

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

cp limits login.access /etc: Эти файлы не инсталлируются при установке пакета, поэтому необходимо скопировать их вручную, т.к. они необходимы для настроек аутентификации системы.

sed «s%/var/spool/mail%/var/mail%» login.defs.linux > /etc/login.defs: /var/spool/mail устаревшее местонахождение почтовых ящиков пользователей. На сегодняшний день используется каталог /var/mail.

ln -s vipw vigr: В соответствии со страницей руководства команды vipw, на эту команду должна существовать символическая ссылка vigr. Так как при инсталляции Shadow эта символическая ссылка не создается, создадим ее вручную.

Содержимое Shadow

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

Программы

chage, chfn, chpasswd, chsh, dpasswd, expiry, faillog, gpasswd, groupadd, groupdel, groupmod, groups, grpck, grpconv, grpunconv, lastlog, login, logoutd, mkpasswd, newgrp, newusers, passwd, pwck, pwconv, pwunconv, sg (ссылка на newgrp), useradd, userdel, usermod, vigr (ссылка на vipw) и vipw

Описания

chage

chage изменяет число дней между сменами паролей и дату последнего изменения.

chfn

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

chpasswd

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

chsh

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

dpasswd

dpasswd добавляет, удаляет и обновляет пароли dial-up подключений для командных оболочек.

expiry

expiry просматривает и изменяет правила истечения срока действия паролей.

faillog

faillog форматирует содержимое журнала ошибок /var/log/faillog и поддерживает счетчики и лимиты ошибок.

gpasswd

gpasswd используется для редактирования /etc/group.

groupadd

groupadd создает новую группу, используя заданные параметры и параметры по умолчанию.

groupdel

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

groupmod

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

groups

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

grpck

grpck проверяет целостность системной информации об аутентификации.

grpconv

grpunconv конвертирует обычные файлы групп в теневые.

grpunconv

grpunconv конвертирует теневые файлы групп в обычные.

lastlog

lastlog форматирует и выводит содержимое журнала регистраций /var/log/lastlog. Выводится регистрационное имя, порт и время регистрации.

login

login используется для начала новой сессии работы с системой.

logoutd

logoutd контролирует время регистрации и прочие ограничения, указанные в /etc/porttime.

mkpasswd

mkpasswd читает файл в заданном формате и конвертирует его в базу данных соответствующего формата.

newgrp

newgrp изменяет текущую группу.

newusers

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

passwd

passwd меняет пароли пользователей и групп.

pwck

pwck проверяет целостность файлов паролей.

pwconv

pwconv конвертирует обычный файл паролей в теневой.

pwunconv

pwunconv конвертирует теневой файл паролей в обычный.

sg

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

useradd

useradd создает нового пользователя или обновляет данные по умолчанию о новых пользователях.

userdel

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

usermod

usermod изменяет файлы учетных записей пользователей, внося заданные изменения..

vipw и vigr

vipw и vigr позволяют безопасно редактировать /etc/passwd и /etc/group. С флагом -s будут редактироваться теневые версии файлов, /etc/shadow и /etc/gshadow.

Библиотеки

libmisc.[a,so], libshadow.[a,so]

Descriptions

libmisc

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

libshadow

libshadow предоставляет большинство функций для программ shadow.

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

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

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

Установка Sysklogd-1.4.1

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

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

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

make && make install

Содержимое Sysklogd

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

Программы

klogd and syslogd

Описания

klogd

klogd – системный демон, перехватывающий и сохраняющий в журнале сообщения ядра Linux.

syslogd

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

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

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

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

Установка Sysvinit-2.84

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

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

Когда изменяется уровень (runlevel) системы (например, при остановке работы системы), init посылает сигналы TERM и KILL процессам, которые он запустил. На экран init выдает сообщение «Sending processes the TERM signal». Создается впечатление, что init посылает данные сигналы всем запущенным процессам. Во избежание недоразумений, изменим файл init.c, что вывод на экране выглядел следующим образом: «Sending processes started by init the TERM signal». Для этого выполните нижеприведенные команды:

cp src/init.c{,.backup} && sed 's/Sending processes/Sending processes started by init/g' src/init.c.backup > src/init.c

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

make -C src && make -C src install

Содержимое Sysvinit

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

Программы

halt, init, killall5, last, lastb (ссылка на last), mesg, pidof (ссылка на killall5), poweroff (ссылка на halt), reboot (ссылка на halt), runlevel, shutdown, sulogin, telinit (ссылка на init), utmpdump и wall

Описания

halt

halt отмечает в /var/log/wtmp завершение работы системы и сообщает ядру о необходимости остановить, перезагрузить или отключить систему. Если halt или reboot вызваны, когда система не на уровнях выполнения 0 или 6, вместо них запускается (с флагами -h и -r соответственно).

init

init – предок всех процессов. Его основная роль – создание процессов из скрипта /etc/inittab. Этот файл содержит записи для создания getty, к которым подключаются пользователи. initt также контролирует различные автономные процессы.

killall5

killall5 – команда killall из SystemV. Посылается сигнал всем процессам вне собственной сессии, так что интерпретатор, выполняющий скрипт, из которого была вызвана эта команда, не будет завершен.

last

last просматривает /var/log/wtmp (или файл, указанный флагом -f) и выводит список всех пользователей, зарегистрировавшихся и завершивших сеанс с момента создания файла.

lastb

lastb действует аналогично last, но по умолчанию выводится журнал /var/log/btmp, содержащий записи о неудачных попытках регистрации.

mesg

mesg контролирует внешний доступ к терминалу пользователя. Обычно используется для разрешения записи на данный терминал прочим пользователям.

pidof

pidof выводит идентификаторы процессов (PIDs) указанных программ.

poweroff

poweroff действует аналогично shutdown -h -p. Выполняется останов системы и ее физическое отключение (необходим APM совместимый BIOS и поддержка APM в ядре).

reboot

reboot действует аналогично shutdown -r. Выполняется перезагрузка системы.

runlevel

runlevel читает файл utmp (обычно /var/run/utmp), ищет записи об уровне выполнение, и выводит предыдущий и текущий уровни выполнения на стандартный вывод, разделенные пробелом.

shutdown

shutdown безопасно останавливает систему. Все зарегистрированные пользователи уведомляются об останове, регистрация в системе запрещается.

sulogin

sulogin вызывается init, когда система переходит в однопользовательский режим (указывается записью в in /etc/inittab). Init также выполняет sulogin, когда получает флаг -b от загрузчика (например, LILO).

telinit

telinit посылает сигналы init, сообщающие о необходимости смены уровня выполнения.

utmpdump

utmpdump выводит содержимое файла (обычно /var/run/utmp) на стандартный вывод в удобном пользователю формате.

wall

wall посылает сообщение всем зарегистрированным пользователям, но лишь в случае, если mesg установлено yes.

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

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

Bash: sh Binutils: as, ld Fileutils: chown, cp, install, ln, mknod, rm Gcc: cc, cc1, collect2, cpp0 Make: make Sed: sed

Установка Tar-1.13

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

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

Если вы хотите иметь возможность распаковывать файлы bzip2 программой tar напрямую, примените патч с FTP-сервера LFS. Этот патч добавляет возможность использования опции -j к команде tar, которая работает аналогично с опцией -z, использующейся для распаковки файлов gzip.

Примените патч, выполнив следующую команду:

patch -Np1 -i ../tar-1.13.patch

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

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

Содержимое Tar

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

Программы

rmt и tar

Описания

rmt

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

tar

tar – программа архивации, сохраняющая и извлекающая файлы из архивов tar.

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

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

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 Patch: patch Sed: sed Sh-utils: basename, echo, expr, sleep, uname Texinfo: install-info, makeinfo Textutils: cat, tr

Установка Util-linux-2.11u

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

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

Стандарт FHS рекомендует использовать /var/lib/hwclock для хранения файла adjtime, вместо привычного каталога /etc. Для приведения hwclock, являющегося частью пакета util-linux, к соответствию стандарту FHS, выполните:

cp hwclock/hwclock.c{,.backup} && sed 's%etc/adjtime%var/lib/hwclock/adjtime%' hwclock/hwclock.c.backup > hwclock/hwclock.c && mkdir -p /var/lib/hwclock

Инсталляция Util-linux

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

./configure && make HAVE_SLN=yes && make HAVE_SLN=yes install

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

HAVE_SLN=yes: Не инсталлировать данную программу, т.к. она уже была установлена при инсталляции пакета Glibc.

Содержание Util-linux

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

Программы

agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, parse.bash, parse.tcsh, pg, pivot_root, ramsize (ссылка на rdev), raw, rdev, readprofile, rename, renice, rev, rootflags (ссылка на rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff (ссылка на swapon), swapon, test.bash, test.tcsh, tunelp, ul, umount, vidmode (ссылка на rdev), whereis и write

Описания

agetty

agetty открывает tty, запрашивает регистрационное имя и запускает /bin/login.

arch

arch выводит информацию об архитектуре машины.

blockdev

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

cal

cal выводит простой календарь.

cfdisk

cfdisk – редактор разделов диска, основанный на библиотеке libncurses.

chkdupexe

chkdupexe находит дублирующиеся исполняемые файлы.

col

col фильтрует перевернутые строки, поступающие с ввода.

colcrt

colcrt фильтрует вывод nroff для предпросмотра CRT.

colrm

colrm удаляет колонки из файла.

column

column объединяет списки в файл из нескольких колонок.

ctrlaltdel

ctrlaltdel устанавливает действие для комбинации клавиш CTRL+ALT+DEL (жесткая или мягкая перезагрузка).

cytune

cytune запрашивает и изменяет порог прерывания для драйвера Cyclades.

ddate

ddate конвертирует дату по Грегорианскому календарю в дату по календарю Discordian.

dmesg

dmesg просматривает и контролирует буфер kernel ring (сообщения загрузки ядра).

elvtune

elvtune позволяет настраивать the I/O elevator per block device queue basis.

fdformat

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

fdisk

fdisk – редактор дисковых разделов.

fsck.cramfs

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

fsck.minix

fsck.minix проверяет целостность файловых систем MINIX.

getopt

getopt анализирует переданные из командной строки параметры таким же образом как и одноименная функция C.

hexdump

hexdump выводит указанные файлы на стандартный вывод в указанном формате (ascii, десятичный, шестнадцатеричный, восьмеричный).

hwclock

hwclock устанавливает системные часы (часы RTC или BIOS).

ipcrm

ipcrm удаляет указанный ресурс.

ipcs

ipcs выводит информацию об устройствах IPC.

isosize

isosize выводит объем файловой системы iso9660.

line

line копирует одну строку (до символа новой строки) из стандартного ввода на стандартный вывод.

logger

logger делает записи в системном журнале.

look

look выводит строки, начинающиеся с заданной.

losetup

losetup управляет устройствами loop.

mcookie

mcookie генерирует «магические» ключи для xauth.

mkfs

mkfs создает файловую систему Linux на устройстве, обычно разделе диска.

mkfs.bfs

mkfs.bfs создает файловую систему SCO bfs на устройстве, обычно разделе диска.

mkfs.cramfs

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

mkfs.minix

mkfs.minix создает файловую систему Linux MINIX на устройстве, обычно разделе диска.

mkswap

mkswap создает пространство подкачки на устройстве или в файле.

more

more – фильтр для поэкранного просмотра текста.

mount

mount монтирует файловую систему устройства в каталог (точку монтирования).

namei

namei переходит по заданному пути до тех пор, пока не будет найдена точка терминала.

parse.bash, parse.tcsh, test.bash, test.tcsh

Это примеры скриптов, использующих getopt с BASH или TCSH.

pg

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

pivot_root

pivot_root изменяет корневую файловую систему текущего процесса.

ramsize

ramsize запрашивает и меняет размер RAM диска.

raw

raw используется для привязки символьных устройств к блочным.

rdev

rdev запрашивает и устанавливает образ корневого устройства, устройства подкачки, объем RAM диска или видеорежим.

readprofile

readprofile выводит информацию из профиля ядра.

rename

rename переименовывает файлы.

renice

renice меняет приоритет запущенных процессов.

rev

rev инвертирует строки файлов.

rootflags

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

script

script создает скрипт терминальной сессии.

setfdprm

setfdprm устанавливает параметры гибких дисков.

setsid

setsid запускает программы в новой сессии.

setterm

setterm устанавливает параметры терминала.

sfdisk

sfdisk – редактор дисковых разделов.

swapoff

swapoff деактивирует файлы и устройства подкачки.

swapon

swapon активирует файлы и устройства подкачки.

tunelp

tunelp устанавливает различные параметры LP устройств.

ul

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

umount

umount размонтирует смонтированную файловую систему.

vidmode

vidmode запрашивает и устанавливает видеорежим.

whereis

whereis находит исполняемый файл, исходные коды и документацию для указанной команды.

write

write посылает сообщение другому пользователю.

Зависимости Util-linux

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

Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chgrp, chmod, cp, install, ln, mv, rm Gettext: msgfmt, xgettext Gcc: cc, cc1, collect2, cpp, cpp0 Glibc: rpcgen Grep: grep Make: make Sed: sed Sh-utils: uname, whoami Textutils: cat

Установка LFS-Bootscripts-1.10

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

Инсталляция LFS-Bootscripts

Мы будем использовать скрипты инициализации SysV. Выбор в их пользу был сделан нами ввиду его распространенности и комфорта для нас. Если вы не разделяете наших предпочтений, см. руководство Марка Хеердинка по установке скриптов инициализации BSD http://hints.linuxfromscratch.org/hints/bsd-init.txt.

Если вы решите использовать скрипты BSD, или какие-либо другие, отличные от SysV, можете смело пропустить Главу 7.

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

cp -a rc.d sysconfig /etc && chown -R root:root /etc/rc.d /etc/sysconfig

Содержимое LFS-bootscripts

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

Scripts

checkfs, cleanfs, functions, halt, ifdown, ifup, loadkeys, localnet, mountfs, mountproc, network, rc, reboot, sendsignals, setclock, swap, sysklogd и template

Descriptions

checkfs

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

cleanfs

cleanfs удаляет файлы, которые не нужно хранить между перезагрузками, такие, как /var/run/*, /var/lock/*, создает пустой /var/run/utmp и удаляет /etc/nologin, /fastboot, /forcefsck.

functions

functions содержит общие для многих скриптов функции, такие как проверки ошибок и статуса, etc.

halt

halt останавливает систему.

ifdown, ifup

ifdown и ifup используются совместно с network.

loadkeys

loadkeys загружает keymap table, соответствующую раскладке клавиатуры.

localnet

localnet устанавливает имя системы и local loopback device.

mountfs

mountfs монтирует все локальные файловые системы, не помеченные как noauto.

mountproc

mountproc монтирует файловую систему proc.

network

network активирует сетевые интерфейсы и определяет шлюз по умолчанию.

rc

rc – основной скрипт, управляющий runlevel и отвечающий за исполнение прочих скриптов в установленном порядке.

reboot

reboot перезагружает систему.

sendsignals

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

setclock

setclock устанавливает часы ядра на местное время в случае, если системный таймер не установлен на GMT.

swap

swap разрешает/запрещает использование файлов и разделов подкачки.

sysklogd

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

template

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

Зависимости LFS-Bootscripts

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

Fileutils: chown, cp


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

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