6.15. Coreutils-5.2.1
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
Проинсталированные программы: 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” или заданную строку, после чего завершается.