Пакет Coreutils содержит некоторые системные утилиты для показа и установки базовых системных характеристик.
Расчетное время сборки 0.9 SBU
Требуемое место на диске 69 MB
Coreutils зависит от установки: Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl и Sed.
Нормальное функционирование программы 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.
Возвращает имя файла по указанному полному имени с путями и суффиксами.
Суммирует содержимое файлов на стандартный вывод.
Изменяет группу владельца для указанного файла на заданную группу. Группа может быть определена как по имени, так и по числовому ID.
Изменяет режим доступа к файлу на указанный. Режим может быть указан в качестве последовательности символов для изменения режима доступа или как восьмеричное число для определения нового режима.
Изменяет пользователя и/или группу, которые являются владельцем файла на указанную пару пользователь:группа.
Запускает указанную команду с указанным каталогом в качестве корня /.
Печатает контрольную сумму CRC и количество байт в указанном файле.
Сравнивает два файла и выводит в три колонки одинаковые строки и разные.
Копирует файлы.
Разделяет указанный файл на несколько других файлов, разделяя их по указанному шаблону либо по номерам строк и выводит количество байт для каждого нового файла.
Печатает часть строк, соответствующих заданным параметрам.
Показывает текущее время в указанном формате или устанавливает системное время.
Копирует файл, используя указанные размеры блоков и опциональные преобразования.
Показывает сколько места доступно (и используется) для всех примонтированных файловых систем или только для системы, содержащей указанные файлы.
Синоним команды ls.
Выдает команду для установки переменной окружения LS_COLOR, используемой для изменения цветовой схемы для ls.
Удаляет суффикс, не являющийся каталогом, из имени файла.
Возвращает место на диске, занимаемое указанным или текущим каталогом со всеми вложенными каталогами или файлами.
Показывает заданную строку.
Запускает команду в измененном окружении.
Заменяет знаки табуляции пробелами.
Вычисляет выражения.
Выводит разложение на простые множители всех указанных целых чисел.
Ничего не делает, но всегда завершается со статусом ошибки.
Форматирует абзацы в указанных файлах.
Переносит строки в заданных файлах.
Выводит группу, к которой принадлежит пользователь.
Печатает первые десять строк файла (или указанное число строк).
Возвращает числовой идентификатор хоста (в шестнадчатиричном формате).
Возвращает установленное имя хоста.
Возвращает ID пользователя, ID группы и группу, к которой принадлежит текущий или заданный пользователь.
Копирует файлы, устанавливая им режим доступа и, если возможно, их владельца и группу.
Соединяет строки двух файлов в поля.
Создает жесткую ссылку на указанное имя или файл.
Создает жесткую или символическую ссылку на файлы.
Возвращает идентификационное имя текущего пользователя.
Выводит содержимое указанного каталога. По умолчанию в алфавитном порядке подкаталоги и файлы.
Возвращает контрольную сумму MD5.
Создает каталог с указанным именем.
Создает FIFO “именованный канал ” UNIX-способом с заданным именем.
Создает элемент устройства с заданным именем. Элемент устройства может быть специальным символьным файлом, блочным файлом или FIFO.
Перемещает или переименовывает указанные файлы или каталоги.
Запускает программу с измененным приоритетом выполнения.
Возвращает количество строк в указанном файле.
Выполняет команду, защищенную от зависаний, с выводом в файл журнала.
Выводит дамп файла в восьмеричном или ином формате.
Выводит строки, соответствующие заданным образцам, из указанных файлов и разделенные символами табуляции.
Проверяет корректность или портируемость имен файлов.
Упрощенный вариант finger. Возвращает некоторую информацию об указанных пользователях.
Форматирует файл по страницам и колонкам для вывода на печать.
Печатает переменные окружения.
Печатает заданные параметры в указанном формате, очень похож на одноименную функцию C.
Печатает оглавление файла, определяя его по указанным ключевым словам.
Возвращает имя текущего каталога.
Возвращает значение символической ссылки.
Удаляет каталоги или файлы.
Удаляет каталог, если он пустой.
Печатает ряд чисел в заданном диапазоне с заданным шагом.
Возвращает или проверяет контрольную сумму 160-бит SHA1.
Удаляет указанные файлы, перезаписывая занимаемые ими блоки указанным шаблоном, что очень сильно затрудняет их последующее восстановление.
Пауза на указанное время (в секундах).
Сортирует строки заданных файлов.
Разрезает указанный файл на части заданного размера или по номерам строк.
Показывает статус файла или файловой системы.
Устанавливает или печатает установки терминала.
Печатает контрольную сумму и количество блоков для указанного файла.
Переключает буфер файловой системы. Он принудительно записывает измененные блоки на диск и обновляет super block.
Выводит содержимое указанных файлов в обратном порядке.
Печатает последние десять строк (или указанное их количество) из заданного файла.
Считывает данные со стандартного ввода и записывает их в файл, дублируя на устройстве стандартного вывода.
Сравнивает значения и проверяет типы файлов.
Изменяет время изменения файла, устанавливает доступ к файлу. Если файл не существует, то он будет создан с нулевой длиной.
Заменяет, вставляет и удаляет символы со стандартного ввода.
Ничего не делает, но всегда возвращает результат успешно завершенной операции.
Проводит топологическую сортировку. Он выводит полностью отсортированный список с учетом уже произведенной сортировки указанного файла.
Возвращает имя файла терминала, присоединенного к стандартному вводу.
Выводит информацию о системе.
Заменяет пробелы символами табуляции.
Удаляет все повторяющиеся строки из отсортированного файла.
Удаляет указанный файл.
Выводит список подключенных к системе пользователей.
То же самое, что ls -l.
Выводит количество строк, слов и байт в указанном файле и общее количество строк, если указано более одного файла.
Сообщает, кто сейчас подключен.
Возвращает имя пользователя, соответствующее текущему ID.
Выводит циклически “y” или заданную строку, после чего завершается.