8.79. Util-linux-2.39.3

Пакет Util-linux содержит различные служебные программы. Среди них утилиты для работы с файловыми системами, консолями, разделами и сообщениями.

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

8.79.1. Установка пакета Util-linux

Сначала отключите проблемный тест:

sed -i '/test_mkfds/s/^/#/' tests/helpers/Makemodule.am

Подготовьте Util-linux к компиляции:

./configure --bindir=/usr/bin    \
            --libdir=/usr/lib    \
            --runstatedir=/run   \
            --sbindir=/usr/sbin  \
            --disable-chfn-chsh  \
            --disable-login      \
            --disable-nologin    \
            --disable-su         \
            --disable-setpriv    \
            --disable-runuser    \
            --disable-pylibmount \
            --disable-static     \
            --without-python     \
            --without-systemd    \
            --without-systemdsystemunitdir        \
            ADJTIME_PATH=/var/lib/hwclock/adjtime \
            --docdir=/usr/share/doc/util-linux-2.39.3

Параметры --disable и --without предотвращают появление предупреждений о сборке компонентов, для которых требуются пакеты, отсутствующие в LFS, или которые несовместимы с программами, установленными другими пакетами.

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

make

По желанию запустите набор тестов от имени пользователя без полномочий root:

[Предупреждение]

Предупреждение

Запуск набора тестов от имени пользователя root может повредить вашу систему. Чтобы запустить тесты, опция CONFIG_SCSI_DEBUG для ядра должна быть доступна в текущей работающей системе и должна быть собрана как модуль. Включение её в ядро будет прерывать загрузку. Для полного охвата тестами в систему необходимо установить другие пакеты из BLFS. По желанию, этот тест можно запустить после загрузки в готовую систему LFS:

bash tests/run.sh --srcdir=$PWD --builddir=$PWD
chown -R tester .
su tester -c "make -k check"

Тесты с жесткими ссылками завершатся неудачей, если в ядре хоста не включена опция CONFIG_CRYPTO_USER_API_HASH или не включено никаких опций, обеспечивающих реализацию SHA256 (например, CONFIG_CRYPTO_SHA256 или CONFIG_CRYPTO_SHA256_SSSE3, если процессор поддерживает инструкции SSE3). Кроме того, известно, что два подтеста из misc: mbsencode и один подтест из script: replay не проходят.

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

make install

8.79.2. Установка Util-linux - 32-битная версия

Выполните очистку после предыдущей сборки:

make distclean

Переименуйте инструмент, который необязательно, что будет использоваться скриптом configure, но будет сообщать о недопустимых путях для multilib-сборок.

mv /usr/bin/ncursesw6-config{,.tmp}

Подготовьте Util-linux к компиляции:

CC="gcc -m32" \
./configure ADJTIME_PATH=/var/lib/hwclock/adjtime   \
            --host=i686-pc-linux-gnu \
            --libdir=/usr/lib32      \
            --docdir=/usr/share/doc/util-linux-2.39.3 \
            --disable-chfn-chsh      \
            --disable-login          \
            --disable-nologin        \
            --disable-su             \
            --disable-setpriv        \
            --disable-runuser        \
            --disable-pylibmount     \
            --disable-static         \
            --without-python         \
            --without-systemd        \
            --without-systemdsystemunitdir

Восстановите ранее переименованный инструмент:

mv /usr/bin/ncursesw6-config{.tmp,}

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

make

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

make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR

8.79.3. Содержимое пакета Util-linux

Установленные программы: addpart, agetty, blkdiscard, blkid, blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, hexdump, hwclock, i386 (ссылка на setarch), ionice, ipcmk, ipcrm, ipcs, irqtop, isosize, kill, last, lastb (ссылка на last), ldattach, linux32 (link to setarch), linux64 (ссылка на setarch), logger, look, losetup, lsblk, lscpu, lsipc, lsirq, lsfd, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, mountpoint, namei, nsenter, partx, pivot_root, prlimit, readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, script, scriptlive, scriptreplay, setarch, setsid, setterm, sfdisk, sulogin, swaplabel, swapoff, swapon, switch_root, taskset, uclampset, ul, umount, uname26 (ссылка на setarch), unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64 (ссылка на setarch) и zramctl
Установленные библиотеки: libblkid.so, libfdisk.so, libmount.so, libsmartcols.so и libuuid.so
Созданные каталоги: /usr/include/blkid, /usr/include/libfdisk, /usr/include/libmount, /usr/include/libsmartcols, /usr/include/uuid, /usr/share/doc/util-linux-2.39.3 и /var/lib/hwclock

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

addpart

Сообщает ядру Linux о новых разделах

agetty

Открывает порт tty, запрашивает имя для входа, а затем вызывает программу login

blkdiscard

Очищает сектора на устройстве

blkid

Утилита командной строки для вывода атрибутов блочного устройства

blkzone

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

blockdev

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

cal

Отображает простой календарь

cfdisk

Управляет таблицей разделов данного устройства

chcpu

Изменяет состояние процессоров

chmem

Настраивает память

choom

Отображает и регулирует оценки OOM-killer, используемые для определения того, какой процесс следует завершить первым, когда в Linux заканчивается память

chrt

Манипулирует атрибутами процесса в режиме реального времени

col

Фильтрует обратные переносы строк из входного потока

colcrt

Фильтрует данные, выдаваемые командой nroff на терминалы, у которых отсутствует ряд возможностей, например, отображение перечеркнутых символов или верхних и нижних индексов

colrm

Фильтрует вывод указанных столбцов

column

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

ctrlaltdel

Устанавливает для комбинации символов Ctrl+Alt+Del жесткую или мягкую перезагрузку

delpart

Запрашивает у ядра Linux удаление раздела

dmesg

Выводит загрузочные сообщения ядра

eject

Извлекает съемный носитель

fallocate

Предварительное выделение места под файл

fdisk

Манипулирует таблицей разделов указанного устройства

fincore

Подчитывает сколько страниц приложение хранит в памяти ядра

findfs

Находит файловую систему по метке или универсальному уникальному идентификатору (UUID)

findmnt

Представляет собой интерфейс командной строки к библиотеке libmount для работы с файлами mountinfo, fstab и mtab

flock

Осуществляет блокировку файла, а затем выполняет команду, не снимая блокировку

fsck

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

fsck.cramfs

Выполняет проверку целостности файловой системы Cramfs на данном устройстве

fsck.minix

Выполняет проверку целостности файловой системы Minix на данном устройстве

fsfreeze

Очень простая программа-обертка для выполнение операций с драйвером ядра FIFREEZE/FITHAW ioctl

fstrim

Освобождает неиспользованные блоки смонтированной файловой системы

getopt

Разбирает параметры указанной командной строки

hardlink

Объединяет дубликаты файлов путем создания жестких ссылок

hexdump

Создает дамп указанного файла в шестнадцатеричном, десятичном, восьмеричном или ascii-формате

hwclock

Читает или устанавливает значение аппаратных часов системы, называемых также часами реального времени (RTC- Real-Time Clock) или часами БИОС (BIOS - Basic Input-Output System)

i386

Символьная ссылка на setarch

ionice

Читает или устанавливает класс и приоритет обработки ввода/вывода для программ

ipcmk

Создает различные ресурсы межпроцессного взаимодействия (IPC)

ipcrm

Удаляет указанный ресурс межпроцессного взаимодействия (IPC)

ipcs

Предоставляет информацию о состоянии IPC

irqtop

Отображает информацию о счетчике прерываний ядра в стиле top(1)

isosize

Сообщает о размере файловой системы iso9660

kill

Посылает сигналы процессам

last

Показывает, какие пользователи в последний раз входили (и выходили), выполняя поиск в файле /var/log/wtmp; кроме этого показывает информацию о загрузке системы, завершение работы и изменениях уровня выполнения

lastb

Показывает неудачные попытки входа в систему, зарегистрированные в /var/log/btmp

ldattach

Назначает устройству последовательного доступа алгоритм, определяющий дисциплину обслуживания этого устройства

linux32

Символическая ссылка на setarch

linux64

Символическая ссылка на setarch

logger

Добавляет указанное сообщение в системный журнал

look

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

losetup

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

lsblk

Выводит информацию обо всех или выбранных блочных устройствах в древовидном формате

lscpu

Выводит информацию об архитектуре процессора

lsfd

Отображает информацию об открытых файлах; заменяет lsof

lsipc

Выводит информацию об объектах IPC, которые в настоящее время используются в системе

lsirq

Отображает информацию о счетчике прерываний ядра

lslocks

Отображает список всех заблокированных в настоящее время файлов в системе

lslogins

Выводит информацию о пользователях, группах и системных учетных записях

lsmem

Отображает диапазоны доступной памяти с указанием их оперативного статуса

lsns

Отображает список пространств имен

mcookie

Генерирует для xauth магические куки (128-битные случайные числа в шестнадцатеричном формате)

mesg

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

mkfs

Создает файловую систему на устройстве (обычно это раздел жесткого диска)

mkfs.bfs

Создает файловую систему Santa Cruz Operations (SCO) bfs

mkfs.cramfs

Создает файловую систему cramfs

mkfs.minix

Создает файловую систему Minix

mkswap

Инициализирует данное устройство или файл для использования в качестве области подкачки

more

Фильтр постраничного вывода текста

mount

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

mountpoint

Проверяет, является ли каталог точкой монтирования

namei

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

nsenter

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

partx

Сообщает ядру информацию о наличии и количестве разделов, находящихся на диске

pivot_root

Делает данную файловую систему новой корневой файловой системой текущего процесса

prlimit

Получает и устанавливает ограничения использования ресурсов процесса

readprofile

Читает информацию о профилировании ядра

rename

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

renice

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

resizepart

Запрашивает у ядра Linux изменение размера раздела

rev

Меняет в указанном файле порядок строк на обратный

rfkill

Bнструмент командной строки для управления беспроводными устройствами

rtcwake

Используется для перехода системы в спящий режим до указанного времени пробуждения

script

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

scriptlive

Перезапускает скрипт терминальной сессии, используя информацию о времени

scriptreplay

Воспроизводит скрипт в соответствие с указанным временем запуска

setarch

В окружении, используемом новой программой, изменяет информацию об архитектуре и устанавливает флаги персонализации

setsid

Запускает указанную программу в новом сеансе

setterm

Устанавливает атрибуты терминала

sfdisk

Управляет таблицей разделов диска

sulogin

Позволяет пользователю root входить в систему; обычно он вызывается init, когда система переходит в однопользовательский режим

swaplabel

Изменяет UUID и метку раздела подкачки

swapoff

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

swapon

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

switch_root

Переключается на другую файловую систему и устанавливает её в качестве корневой

taskset

Устанавливает привязку процессора к процессу

uclampset

Управляет атрибутами ограничения использования системы или процесса

ul

Фильтр для преобразования символов подчеркивания в escape-последовательности

umount

Размонтирует файловую систему из дерева ФС

uname26

Символическая ссылка на setarch

unshare

Позволяет процессу (или потоку) отделить части своего контекста выполнения, которые используются совместно с другими процессами (или потоками)

utmpdump

Отображает содержимое указанного файла входа в систему в удобном для пользователя формате

uuidd

Демон, используемый библиотекой UUID для создания безопасных и гарантированно уникальных идентификаторов UUID

uuidgen

Создает новые идентификаторы (UUID). Каждый новый UUID - это случайная последовательность, которая, будет с очень высокой вероятностью уникальной среди всех идентификаторов, созданных как на локальной машине, так и на любых других системах, в прошлом и будущем (2128 или около 3,4 х 1038 вариантов)

uuidparse

Утилита для анализа уникальных идентификаторов

wall

Отображает содержимое файла или, по умолчанию, его вывод на терминалах всех пользователей, вошедших в систему в данный момент

wdctl

Показывает статус аппаратного сторожевого таймера

whereis

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

wipefs

Стирает с устройства сигнатуру файловой системы

x86_64

Символическая ссылка на setarch

zramctl

Программа для настройки и управления устройствами zram (сжатый RAM-диск)

libblkid

Содержит подпрограммы для идентификации устройства и извлечения токена

libfdisk

Содержит подпрограммы для управления таблицами разделов

libmount

Содержит подпрограммы для монтирования и размонтирования блочных устройств

libsmartcols

Содержит подпрограммы для более удобного вывода на экран информации в табличном виде

libuuid

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