From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.2-sysv/chapter08/coreutils.html | 1801 ++++++++++++++++++++++++++++++++ 1 file changed, 1801 insertions(+) create mode 100644 lfs-12.2-sysv/chapter08/coreutils.html (limited to 'lfs-12.2-sysv/chapter08/coreutils.html') diff --git a/lfs-12.2-sysv/chapter08/coreutils.html b/lfs-12.2-sysv/chapter08/coreutils.html new file mode 100644 index 0000000..d6d4972 --- /dev/null +++ b/lfs-12.2-sysv/chapter08/coreutils.html @@ -0,0 +1,1801 @@ + + + + + + 8.58. Coreutils-9.5 + + + + + + + + +

+ 8.58. + Coreutils-9.5 +

+
+
+

+ Пакет Coreutils содержит основные утилиты, необходимые каждой + операционной системе. +

+
+
+
+ Приблизительное время сборки: + 1.1 SBU +
+
+ Требуемое дисковое + пространство: 173 MB +
+
+
+
+
+

+ 8.58.1. Установка пакета Coreutils +

+

+ Стандарт POSIX требует, чтобы программы пакета Coreutils правильно + распознавали символы даже в случае, если используются многобайтовые + локали. Следующий патч исправляет несоответствие этому требованию, + а также другие ошибки, касающиеся интернационализации: +

+
patch -Np1 -i ../coreutils-9.5-i18n-2.patch
+
+ [Примечание] +

+ Примечание +

+

+ В этом патче было обнаружено много ошибок. Сообщая о новых + ошибках разработчикам Coreutils, сначала проверьте, + воспроизводятся ли эти ошибки без этого исправления. +

+
+

+ Теперь подготовьте Coreutils к компиляции: +

+
autoreconf -fiv
+FORCE_UNSAFE_CONFIGURE=1 ./configure \
+            --prefix=/usr            \
+            --enable-no-install-program=kill,uptime
+
+

+ Значение параметров настройки: +

+
+
+ autoreconf +
+
+

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

+
+
+ FORCE_UNSAFE_CONFIGURE=1 +
+
+

+ Эта переменная среды позволяет собрать пакет от имени + пользователя root. +

+
+
+ --enable-no-install-program=kill,uptime +
+
+

+ Назначение этого параметра — запретить Coreutils + устанавливать программы, которые будут установлены другими + пакетами. +

+
+
+
+

+ Скомпилируйте пакет: +

+
make
+

+ Если вы не планируете запускать набор тестов, перейдите к разделу + «Установка + пакета». +

+

+ Теперь набор тестов готов к запуску. Сначала запустите тесты, + предназначенные для запуска от имени пользователя root: +

+
make NON_ROOT_USERNAME=tester check-root
+

+ Мы собираемся выполнить остальные тесты от имени пользователя + tester. Некоторые тесты требуют, + чтобы пользователь был членом более чем одной группы. Чтобы эти + тесты не были пропущены, добавьте временную группу и включите в неё + пользователя tester: +

+
groupadd -g 102 dummy -U tester
+

+ Исправьте некоторые разрешения, чтобы пользователь без полномочий + root мог компилировать и запускать + тесты: +

+
chown -R tester . 
+

+ Теперь запустите тесты (используя /dev/null для стандартного ввода, иначе два теста + могут быть не пройдены при сборке LFS в графическом терминале, или + сеансе SSH, или GNU Screen, поскольку стандартный ввод подключен к + PTY из хост-дистрибутива, а узел устройства для такого PTY + недоступен из среды chroot LFS): +

+
su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
+   < /dev/null
+

+ Удалить временную группу: +

+
groupdel dummy
+

+ Известно, что два теста, tests/cp/preserve-mode.sh и tests/mv/acl.sh, завершаются неудачно в среде + chroot, но проходят успешно в собранной системе. +

+

+ Установите пакет: +

+
make install
+

+ Переместите программы туда, где они должны быть в соответствие со + спецификациями FHS: +

+
mv -v /usr/bin/chroot /usr/sbin
+mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
+sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8
+
+
+

+ 8.58.2. + Содержимое пакета Coreutils +

+
+
+
+ Установленные программы: + [, b2sum, base32, base64, basename, + basenc, cat, chcon, 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, id, install, join, link, ln, logname, ls, md5sum, + mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, + numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, + pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, + sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, + sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, + test, timeout, touch, tr, true, truncate, tsort, tty, uname, + unexpand, uniq, unlink, users, vdir, wc, who, whoami и + yes +
+
+ Установленные библиотеки: + libstdbuf.so (in + /usr/libexec/coreutils) +
+
+ Созданные каталоги: + /usr/libexec/coreutils +
+
+
+
+

+ Краткое описание +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ [ +

+
+

+ Это команда /usr/bin/[, которая является синонимом + команды test +

+
+

+ base32 +

+
+

+ Кодирует и декодирует данные в соответствии со + спецификацией base32 (RFC 4648) +

+
+

+ base64 +

+
+

+ Кодирует и декодирует данные в соответствии со + спецификацией base64 (RFC 4648) +

+
+

+ b2sum +

+
+

+ Выводит или проверяет контрольные суммы BLAKE2 + (512-битные) +

+
+

+ basename +

+
+

+ Удаляет любой путь и заданный суффикс из имени файла +

+
+

+ basenc +

+
+

+ Кодирует или декодирует данные с использованием различных + алгоритмов +

+
+

+ cat +

+
+

+ Присоединяет файлы к стандартному выходному потоку +

+
+

+ chcon +

+
+

+ Изменяет контекст безопасности для файлов и каталогов +

+
+

+ chgrp +

+
+

+ Изменяет владельцев группы для файлов и директорий +

+
+

+ chmod +

+
+

+ Изменяет разрешения каждого файла на заданный режим; + режим может быть либо символьным представлением вносимых + изменений, либо восьмеричным числом, представляющим новые + разрешения. +

+
+

+ chown +

+
+

+ Изменяет принадлежность файлов и директорий пользователю + и/или группе +

+
+

+ chroot +

+
+

+ Запускает команду с указанным каталогом в качестве + корневого каталога / +

+
+

+ cksum +

+
+

+ Выводит контрольную сумму Cyclic Redundancy Check (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 +

+
+

+ Выводит числовой идентификатор хоста (в шестнадцатеричном + формате) +

+
+

+ id +

+
+

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

+
+

+ install +

+
+

+ Копирует файлы, одновременно устанавливая для них права + доступа, и, если возможно, устанавливая для них владельца + и группу +

+
+

+ join +

+
+

+ Объединяет строки, которые имеют идентичные объединяемые + поля в двух различных файлах +

+
+

+ link +

+
+

+ Создает жесткую ссылку (с указанным именем) на файл +

+
+

+ ln +

+
+

+ Создает жесткие или мягкие (символические) ссылки между + файлами +

+
+

+ logname +

+
+

+ Сообщает имя входа текущего пользователя +

+
+

+ ls +

+
+

+ Выводит список содержимого для каждого заданного каталога +

+
+

+ md5sum +

+
+

+ Выводит или проверяет контрольные суммы Message Digest 5 + (MD5) +

+
+

+ mkdir +

+
+

+ Создает директории с указанными именами +

+
+

+ mkfifo +

+
+

+ Создает "именованный канал" "первым пришел — первым ушел" + (FIFO), в нотации UNIX с заданными именами +

+
+

+ mknod +

+
+

+ Создает узлы устройств с заданными именами; узел + устройства представляет собой специальный символьный + файл, специальный файл блока или FIFO. +

+
+

+ mktemp +

+
+

+ Создает временные файлы безопасным способом; используется + в скриптах +

+
+

+ mv +

+
+

+ Перемещает или переименовывает файлы или каталоги +

+
+

+ nice +

+
+

+ Запускает программу с измененным приоритетом исполнения +

+
+

+ nl +

+
+

+ Нумерует строки в указанных файлах +

+
+

+ nohup +

+
+

+ Запускает команду, невосприимчивую к зависаниям, а ее + вывод перенаправляется в файл журнала +

+
+

+ nproc +

+
+

+ Выводит количество дочерних процессов, доступных для + процесса. +

+
+

+ numfmt +

+
+

+ Преобразует числа в или из удобочитаемых строк +

+
+

+ od +

+
+

+ Вывод дампа файла в восьмеричном и других форматах +

+
+

+ paste +

+
+

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

+
+

+ pathchk +

+
+

+ Проверяет, являются ли имена файлов допустимыми или + переносимыми +

+
+

+ pinky +

+
+

+ Легковесный клиент типа finger; выдает некоторую + информацию о заданных пользователях +

+
+

+ pr +

+
+

+ Разбивает файлы для печати на страницы и столбцы +

+
+

+ printenv +

+
+

+ Выдает значения переменных окружения +

+
+

+ printf +

+
+

+ Выводит аргументы в соответствии с заданным форматом, + подобно функции C printf. +

+
+

+ ptx +

+
+

+ Создает перестановочный индекс по содержимому указанных + файлов с каждым ключевым словом в своем контексте +

+
+

+ pwd +

+
+

+ Сообщает имя текущего рабочего каталога +

+
+

+ readlink +

+
+

+ Выдает значение указанной символической ссылки +

+
+

+ realpath +

+
+

+ Возвращает приведенное к обычному виду полное имя файла +

+
+

+ rm +

+
+

+ Удаляет файлы или каталоги +

+
+

+ rmdir +

+
+

+ Удаляет каталоги, если они пусты +

+
+

+ runcon +

+
+

+ Запускает команду с указанным контекстом безопасности +

+
+

+ seq +

+
+

+ Выдает последовательность чисел из указанного диапазона с + указанным значением приращения +

+
+

+ sha1sum +

+
+

+ Выводит или проверяет контрольные суммы 160-битного + алгоритма безопасного хеширования 1 (SHA1) +

+
+

+ sha224sum +

+
+

+ Выводит или проверяет контрольные суммы 224-битного + алгоритма безопасного хеширования +

+
+

+ sha256sum +

+
+

+ Выводит или проверяет контрольные суммы 256-битного + алгоритма безопасного хеширования +

+
+

+ sha384sum +

+
+

+ Выводит или проверяет контрольные суммы 384-битного + алгоритма безопасного хеширования +

+
+

+ sha512sum +

+
+

+ Выводит или проверяет контрольные суммы 512-битного + алгоритма безопасного хеширования +

+
+

+ shred +

+
+

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

+
+

+ shuf +

+
+

+ Перемешивает строки текста +

+
+

+ sleep +

+
+

+ Делает паузу на заданный промежуток времени +

+
+

+ sort +

+
+

+ Сортирует строки в указанных файлах +

+
+

+ split +

+
+

+ Разбивает заданный файл на несколько частей в + соответствии с указанным размером или количеством строк +

+
+

+ stat +

+
+

+ Отображает статус файла или файловой системы +

+
+

+ stdbuf +

+
+

+ Запускает команды с измененными операциями буферизации + для своих стандартных потоков. +

+
+

+ stty +

+
+

+ Устанавливает или сообщает настройки терминала +

+
+

+ sum +

+
+

+ Выводит контрольную сумму и количество блоков для каждого + заданного файла +

+
+

+ sync +

+
+

+ Сбрасывает буферы файловой системы; он принудительно + записывает измененные блоки на диск и обновляет суперблок +

+
+

+ tac +

+
+

+ Конкатенация содержимого указанных файлов в обратном + порядке +

+
+

+ tail +

+
+

+ Выводит последние десять строк (или заданное количество + строк) каждого указанного файла +

+
+

+ tee +

+
+

+ Считывает данные со стандартного потока ввода, записывает + как в стандартный вывод, так и в указанные файлы +

+
+

+ test +

+
+

+ Сравнивает значения и проверяет типы файловs +

+
+

+ timeout +

+
+

+ Запускает команду с ограничением по времени +

+
+

+ touch +

+
+

+ Изменяет временные метки файлов, устанавливая время + доступа и модификации данных файлов на текущее время; + несуществующие файлы создаются с нулевой длиной +

+
+

+ tr +

+
+

+ Переводит, сжимает и удаляет заданные символы из + стандартного потока +

+
+

+ true +

+
+

+ Ничего не делает, указывает на успешное выполнение + операции; он всегда завершается с кодом состояния, + указывающим на успех +

+
+

+ truncate +

+
+

+ Сжимает или расширяет файл до указанного размера +

+
+

+ tsort +

+
+

+ Выполняет топологическую сортировку; записывает полностью + упорядоченный список в соответствии с частичным + упорядочением в данном файле +

+
+

+ tty +

+
+

+ Сообщает имя файла терминала, подключенного к + стандартному вводу. +

+
+

+ uname +

+
+

+ Сообщает системную информацию +

+
+

+ unexpand +

+
+

+ Преобразует пробелы в табуляции +

+
+

+ uniq +

+
+

+ Удаляет все повторяющиеся копии уже имеющихся строк, + кроме одной +

+
+

+ unlink +

+
+

+ Удаляет указанный файл +

+
+

+ users +

+
+

+ Сообщает имена пользователей, вошедших в систему в данный + момент +

+
+

+ vdir +

+
+

+ То же, что ls + -l +

+
+

+ wc +

+
+

+ Сообщает количество строк, слов и байт для каждого + заданного файла, а также общее количество строк, если + указано более одного файла +

+
+

+ who +

+
+

+ Сообщает, кто вошел в систему +

+
+

+ whoami +

+
+

+ Сообщает имя пользователя, соответствующее идентификатору + текущего пользователя +

+
+

+ yes +

+
+

+ Повторно выводит y или + указанную строку, до тех пор, пока команда не будет + завершена с помощью kill +

+
+

+ libstdbuf +

+
+

+ Библиотека, используемая командой stdbuf +

+
+
+
+
+ + + -- cgit v1.2.3