Linux From Scratch. Версия 6.0
Глава 6. Установка основных системных программ
6.15. Coreutils-5.2.1
Пакет Coreutils содержит некоторые системные утилиты для показа и
установки базовых системных характеристик.
Расчетное время сборки 0.9 SBU
Требуемое место на диске 69 MB
Coreutils зависит от установки: Bash, Binutils, Coreutils,
Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl и Sed.
6.15.1. Инсталлируем Coreutils
Нормальное функционирование программы uname
из этого пакета иногда нарушается, тогда параметр
-p всегда возвращает
unknown. Следующий патч исправляет
это для архитектуры Intel:
patch -Np1 -i ../coreutils-5.2.1-uname-2.patch
Предупредим Coreutils от инсталляции бинарников,
которые будут инсталлированы позднее в других пакетах:
patch -Np1 -i ../coreutils-5.2.1-suppress_uptime_kill_su-1.patch
Теперь подготавливаем Coreutils для компиляции:
DEFAULT_POSIX2_VERSION=199209 ./configure --prefix=/usr
Компилируем пакет:
make
Этот пакет поддерживает тестирование для определения корректности сборки.
Тем не менее, этот специфический тест использует непревилегированных
пользователей и группы, которые пока не определены в нашей простой системе.
Поэтому мы создадим фиктивного пользователя и две фиктивные группы для
корректной работы тестов. Если Вы не хотите запускать тестирование, то
переходите к “установке пакета”.
Создадим фиктивных пользователя и группы:
echo "dummy1:x:1000:" >> /etc/group
echo "dummy2:x:1001:dummy" >> /etc/group
echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd
Теперь тест полностью подготовлен к запуску. Следующий тест проверит
запуск от имени пользователя root:
make NON_ROOT_USERNAME=dummy check-root
Следующий тест проверит запуск от имени фиктивного пользователя
dummy:
src/su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"
После окончания теста удалим фиктивные группы и пользователя:
sed -i '/dummy/d' /etc/passwd /etc/group
Устанавливаем пакет:
make install
И переместим некоторые программы в их правильное место:
mv /usr/bin/{[,basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
mv /usr/bin/{date,echo,false,head,hostname,install,ln} /bin
mv /usr/bin/{ls,mkdir,mknod,mv,pwd,rm,rmdir,sync} /bin
mv /usr/bin/{sleep,stty,test,touch,true,uname} /bin
mv /usr/bin/chroot /usr/sbin
Наконец, создадим необходимые ссылки для FHS-совместимости:
ln -s ../../bin/install /usr/bin
6.15.2. Описание Coreutils
Проинсталлированные программы: basename, cat, chgrp, chmod, chown,
chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname,
du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid,
hostname, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo,
mknod, mv, nice, nl, nohup, od, paste, pathchk, pinky, pr, printenv, printf,
ptx, pwd, readlink, rm, rmdir, seq, sha1sum, shred, sleep, sort, split, stat,
stty, sum, sync, tac, tail, tee, test, touch, tr, true, tsort, tty, uname,
unexpand, uniq, unlink, users, vdir, wc, who, whoami и yes.
Короткое описание
-
basename
Возвращает имя файла по указанному полному
имени с путями и суффиксами.
- cat
Суммирует содержимое файлов на стандартный вывод.
- chgrp
Изменяет группу владельца для указанного файла на заданную группу.
Группа может быть определена как по имени, так и по числовому ID.
- chmod
Изменяет режим доступа к файлу на указанный. Режим может быть
указан в качестве последовательности символов для изменения режима
доступа или как восьмеричное число для определения нового режима.
- chown
Изменяет пользователя и/или группу, которые являются владельцем файла
на указанную пару пользователь:группа.
- chroot
Запускает указанную команду с указанным каталогом в качестве корня
/.
- cksum
Печатает контрольную сумму CRC и количество байт в указанном файле.
- comm
Сравнивает два файла и выводит в три колонки
одинаковые строки и разные.
- cp
Копирует файлы.
- csplit
Разделяет указанный файл на несколько других файлов, разделяя их
по указанному шаблону либо по номерам строк и выводит количество
байт для каждого нового файла.
- cut
Печатает часть строк, соответствующих заданным параметрам.
- date
Показывает текущее время в указанном формате
или устанавливает системное время.
- dd
Копирует файл, используя указанные размеры
блоков и опциональные преобразования.
- df
Показывает сколько места доступно (и используется) для всех
примонтированных файловых систем или только для системы,
содержащей указанные файлы.
- dir
Синоним команды ls.
-
dircolors
Выдает команду для установки переменной окружения
LS_COLOR, используемой для изменения цветовой схемы
для ls.
-
dirname
Удаляет суффикс, не являющийся каталогом, из имени файла.
- du
Возвращает место на диске, занимаемое указанным или текущим
каталогом со всеми вложенными каталогами или файлами.
- echo
Показывает заданную строку.
- env
Запускает команду в измененном окружении.
- expand
Заменяет знаки табуляции пробелами.
- expr
Вычисляет выражения.
- factor
Выводит разложение на простые множители всех указанных целых чисел.
- false
Ничего не делает, но всегда завершается со статусом ошибки.
- fmt
Форматирует абзацы в указанных файлах.
- fold
Переносит строки в заданных файлах.
-
groups
Выводит группу, к которой принадлежит пользователь.
- head
Печатает первые десять строк файла (или указанное число строк).
- hostid
Возвращает числовой идентификатор хоста (в шестнадчатиричном формате).
-
hostname
Возвращает установленное имя хоста.
- id
Возвращает ID пользователя, ID группы и группу, к которой
принадлежит текущий или заданный пользователь.
- install
Копирует файлы, устанавливая им режим доступа и, если возможно,
их владельца и группу.
- join
Соединяет строки двух файлов в поля.
- link
Создает жесткую ссылку на указанное имя или файл.
- ln
Создает жесткую или символическую ссылку на файлы.
-
logname
Возвращает идентификационное имя текущего пользователя.
- ls
Выводит содержимое указанного каталога. По умолчанию в алфавитном
порядке подкаталоги и файлы.
- md5sum
Возвращает контрольную сумму MD5.
- mkdir
Создает каталог с указанным именем.
- mkfifo
Создает FIFO “именованный канал
” UNIX-способом с заданным именем.
- mknod
Создает элемент устройства с заданным именем. Элемент устройства может
быть специальным символьным файлом, блочным файлом или FIFO.
- mv
Перемещает или переименовывает указанные файлы или каталоги.
- nice
Запускает программу с измененным приоритетом выполнения.
- nl
Возвращает количество строк в указанном файле.
- nohup
Выполняет команду, защищенную от зависаний, с выводом в файл журнала.
- od
Выводит дамп файла в восьмеричном или ином формате.
- paste
Выводит строки, соответствующие заданным образцам, из указанных
файлов и разделенные символами табуляции.
- pathchk
Проверяет корректность или портируемость имен файлов.
- pinky
Упрощенный вариант finger. Возвращает некоторую информацию
об указанных пользователях.
- pr
Форматирует файл по страницам и колонкам для вывода на печать.
-
printenv
Печатает переменные окружения.
- printf
Печатает заданные параметры в указанном формате,
очень похож на одноименную функцию C.
- ptx
Печатает оглавление файла, определяя его по указанным ключевым словам.
- pwd
Возвращает имя текущего каталога.
-
readlink
Возвращает значение символической ссылки.
- rm
Удаляет каталоги или файлы.
- rmdir
Удаляет каталог, если он пустой.
- seq
Печатает ряд чисел в заданном диапазоне с заданным шагом.
-
sha1sum
Возвращает или проверяет контрольную сумму 160-бит SHA1.
- shred
Удаляет указанные файлы, перезаписывая занимаемые ими блоки
указанным шаблоном, что очень сильно затрудняет
их последующее восстановление.
- sleep
Пауза на указанное время (в секундах).
- sort
Сортирует строки заданных файлов.
- split
Разрезает указанный файл на части заданного размера
или по номерам строк.
- stat
Показывает статус файла или файловой системы.
- stty
Устанавливает или печатает установки терминала.
- sum
Печатает контрольную сумму и количество блоков для указанного файла.
- sync
Переключает буфер файловой системы. Он принудительно записывает
измененные блоки на диск и обновляет super block.
- tac
Выводит содержимое указанных файлов в обратном порядке.
- tail
Печатает последние десять строк (или указанное их количество)
из заданного файла.
- tee
Считывает данные со стандартного ввода и записывает их в файл,
дублируя на устройстве стандартного вывода.
- test
Сравнивает значения и проверяет типы файлов.
- touch
Изменяет время изменения файла, устанавливает доступ к файлу.
Если файл не существует, то он будет создан с нулевой длиной.
- tr
Заменяет, вставляет и удаляет символы со стандартного ввода.
- true
Ничего не делает, но всегда возвращает результат
успешно завершенной операции.
- tsort
Проводит топологическую сортировку. Он выводит полностью
отсортированный список с учетом уже произведенной
сортировки указанного файла.
- tty
Возвращает имя файла терминала, присоединенного к стандартному вводу.
- uname
Выводит информацию о системе.
-
unexpand
Заменяет пробелы символами табуляции.
- uniq
Удаляет все повторяющиеся строки из отсортированного файла.
- unlink
Удаляет указанный файл.
- users
Выводит список подключенных к системе пользователей.
- vdir
То же самое, что ls -l.
- wc
Выводит количество строк, слов и байт в указанном файле и общее
количество строк, если указано более одного файла.
- who
Сообщает, кто сейчас подключен.
- whoami
Возвращает имя пользователя, соответствующее текущему ID.
- yes
Выводит циклически “y”
или заданную строку, после чего завершается.
|
|