Установка Fileutils-4.1

Приблизительное время компиляции: 0.94 SBU
Необходимое дисковое пространство: 40 MB

Инсталляция Fileutils

Некоторые программы из статически слинкованного пакета Fileutils могут вызвать ошибку сегментации на системах, где используется Glibc-2.2.3. Чаще всего эта проблема встречается на системах с процессорами AMD, однако было зафиксировано несколько случаев на Intel-системах. Если ваша система попадает под данную категорию, примените патч.

В некоторых случаях после применения патча компиляция пакета будет невозможна, даже если у вас процессор AMD и библиотеки Glibc-2.2.3 (или новее). В таком случае удалите директорию fileutils-4.1 и заново распакуйте tar-архив. Предполагается, что это связано с тем, что ваш базовый дистрибутив каким-то образом изменил библиотеки Glibc-2.2.3, однако на данный момент подробности недоступны.

Для того чтобы данный пакет корректно компилировался на системах с процессорами AMD и библиотеками Glibc-2.2.3, выполните следующую команду. Не делайте этго, если у вас не установлена Glibc-2.2.3. Более чем вероятно, это вызовет различные сбои при компиляции.

patch -Np1 -i ../fileutils-4.1.patch

Для инсталляции Fileutils выполните:

LDFLAGS=-static \
./configure --disable-nls --prefix=$LFS/static &&
make &&
make install

Теперь можно проверить, удалось ли избежать проблемы с ошибкой сегментации. Выполните $LFS/static/bin/ls. Если программа работает, все в порядке. Если нет, повторите инсталляцию с применением патча, если вы инсталлировали пакет без него, или без применения патча, если до этого вы инсталлировали пакет с его применением.

Пояснения команд

patch -Np1 -i ../fileutils-4.1.patch: Эта команда решает проблему компиляции fileutils с использованием статических ссылок на системах с библиотеками glibc 2.2.3. Если этого не сделать, то впоследствии вы вероятно столкнетесь с ошибками сегментации при выполнении программ из пакета fileutils, когда войдете в систему LFS с помощью chroot в Главе 6.

Содержимое Fileutils

Последняя проверка: версия 4.1.

Программы

chgrp, chmod, chown, cp, dd, df, dir, dircolors, du, install, ln, ls, mkdir, mkfifo, mknod, mv, rm, rmdir, shred, sync, touch и vdir

Описания

chgrp

chgrp группу владельца указанных файлов, возможно указание как имени группы, так и ее номера.

chmod

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

chown

chown изменяет владельца и/или группу указанных файлов.

cp

cp копирует файлы.

dd

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

df

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

dir, ls and vdir

dir и vdir - версии ls с разными форматами вывода по умолчанию. Эти программы выводят список заданных файлов и каталогов. Содержимое каталога сортируется по алфавиту. ls, по умолчанию, перечисляет файлы в столбцах если стандартный вывод - терминал, иначе идет перечисление по одному в строке. dir, по умолчанию, перечисляет файлы в столбцах. vdir, по умолчанию перечисляет файлы в полном формате.

dircolors

dircolors выводит значение LS_COLOR. Переменная LS_COLOR используется для установки цветовой схемы, используемой ls и прочими утилитами.

du

du выводит количество дискового пространства, занятого указанными файлами и каталогами (включая подкаталоги).

install

install копипует файлы, устанавливает права доступа и, если возможно, владельца и группу.

ln

ln создаетжесткие или мягкие (символические) ссылки на файлы.

mkdir

mkdir создает каталог с заданным именем.

mkfifo

mkfifo создает FIFO с заданным именем.

mknod

mknod создает FIFO, символьный или блочный файл с заданным именем.

mv

mv перемещает файлы из одного каталога в другой или переименовывает их, в зависимости от заданных параметров.

rm

rm удаляет файлы или каталоги.

rmdir

rmdir удаляет пустые каталоги.

shred

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

sync

sync принудительно записывает изменившиеся блоки на диск и обновляет superblock.

touch

touch изменяет время доступа и изменения каждого заданного файла на текущее время. Если файл не существует, то создается пустой файл.

Зависимости Fileutils

Последняя проверка: версия 4.1.

Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
Gettext: msgfmt, xgettext
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, fgrep, grep
Make: make
Perl: perl
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, tr