software:linux_server:lfs:chapter08
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
software:linux_server:lfs:chapter08 [2024/07/02 14:18] – [IV. Сборка системы LFS. Глава 8. Установка базового системного программного обеспечения] vladpolskiy | software:linux_server:lfs:chapter08 [2024/07/02 20:30] (текущий) – [8.13.1. Установка пакета Bc] vladpolskiy | ||
---|---|---|---|
Строка 223: | Строка 223: | ||
=====8.5. Glibc-2.39===== | =====8.5. Glibc-2.39===== | ||
+ | |||
+ | |Пакет Glibc содержит основную библиотеку C. Эта библиотека предоставляет основные процедуры для выделения памяти, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.5.1. Установка пакета Glibc==== | ||
+ | |||
+ | Некоторые программы Glibc используют не совместимый с FHS каталог /var/db для хранения своих данных во время выполнения. Примените следующий патч, чтобы эти программы хранили свои данные в каталогах, | ||
+ | |||
+ | < | ||
+ | patch -Np1 -i ../ | ||
+ | </ | ||
+ | |||
+ | Документация Glibc рекомендует выполнять компиляцию в отдельном каталоге: | ||
+ | |||
+ | < | ||
+ | mkdir -v build | ||
+ | cd build | ||
+ | </ | ||
+ | |||
+ | Убедитесь, | ||
+ | |||
+ | < | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | Подготовьте Glibc к компиляции: | ||
+ | |||
+ | < | ||
+ | ../ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===Значение параметров настройки: | ||
+ | |||
+ | * **--disable-werror** | ||
+ | Отключает параметр -Werror, передаваемый GCC. Это необходимо для запуска набора тестов. | ||
+ | |||
+ | * **--enable-kernel=4.19** | ||
+ | Этот параметр сообщает системе сборки, | ||
+ | |||
+ | * **--enable-stack-protector=strong** | ||
+ | Этот параметр повышает безопасность системы за счет добавления дополнительного кода для проверки переполнения буфера. Обратите внимание, | ||
+ | |||
+ | * **--disable-nscd** | ||
+ | Параметр отключает сборку демона кэша службы имен, который больше не используется. | ||
+ | |||
+ | * **libc_cv_slibdir=/ | ||
+ | Эта переменная устанавливает правильную библиотеку для всей системы. Мы не хотим, чтобы использовалась lib64 | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | <WRAP left round alert 100%> | ||
+ | **Важно** \\ | ||
+ | В этом разделе набор тестов для Glibc считается критически важным. Ни в коем случае не пропускайте его. | ||
+ | </ | ||
+ | |||
+ | Как правило, | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Вы можете увидеть, | ||
+ | |||
+ | * Известно, | ||
+ | * Известно, | ||
+ | |||
+ | < | ||
+ | grep "Timed out" -l $(find -name \*.out) | ||
+ | </ | ||
+ | |||
+ | Можно повторно запустить отдельный тест, увеличив таймаут с помощью команды **TIMEOUTFACTOR=< | ||
+ | |||
+ | * Кроме того, некоторые тесты могут завершиться неудачно при использовании относительно старой модели процессора (например, | ||
+ | |||
+ | На этапе установки **Glibc** будет жаловаться на отсутствие файла **/ | ||
+ | |||
+ | < | ||
+ | touch / | ||
+ | </ | ||
+ | |||
+ | Исправьте Makefile, чтобы пропустить устаревшую проверку работоспособности, | ||
+ | |||
+ | < | ||
+ | sed '/ | ||
+ | </ | ||
+ | |||
+ | <WRAP left round alert 100%> | ||
+ | **Важно** \\ | ||
+ | При обновлении Glibc до новой минорной версии (например, | ||
+ | |||
+ | * Обновление Glibc в системе LFS до версии 11.0 не поддерживается. Пересоберите LFS, если вы используете такую старую систему, | ||
+ | * При обновлении системы LFS до версии 12.0 установите Libxcrypt следуя инструкции Раздел 8.26, «Libxcrypt-4.4.36.». В дополнение к обычной установке Libxcrypt, **вы ДОЛЖНЫ следовать примечанию со страницы Libxcrypt, чтобы установить libcrypt.so.1* (заменив libcrypt.so.1 из предыдущей установки Glibc).** | ||
+ | * При обновлении системы LFS до версии 12.1 удалите программу nscd: | ||
+ | < | ||
+ | rm -f / | ||
+ | </ | ||
+ | Если система (до LFS 12.1) основана на Systemd, необходимо также отключить и остановить службу nscd прямо сейчас: | ||
+ | < | ||
+ | systemctl disable --now nscd | ||
+ | </ | ||
+ | * Обновите ядро и перезагрузитесь, | ||
+ | * Обновите заголовочные файлы API ядра, если они старше 4.19 (проверьте текущую версию с помощью cat / | ||
+ | * Выполните установку DESTDIR и обновите общие библиотеки Glibc в системе с помощью одной команды install: | ||
+ | < | ||
+ | make DESTDIR=$PWD/ | ||
+ | install -vm755 dest/ | ||
+ | </ | ||
+ | Крайне важно строго следовать описанным выше шагам, если вы не совсем понимаете, | ||
+ | Затем продолжайте выполнять команды **make install, sed** для **/ | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | Исправьте жестко заданный путь к исполняемому загрузчику в скрипте ldd: | ||
+ | |||
+ | < | ||
+ | sed '/ | ||
+ | </ | ||
+ | |||
+ | Затем установите локали, | ||
+ | |||
+ | Отдельные локали можно установить с помощью программы **localedef**. Например, | ||
+ | |||
+ | < | ||
+ | mkdir -pv / | ||
+ | localedef -i C -f UTF-8 C.UTF-8 | ||
+ | localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 | ||
+ | localedef -i de_DE -f ISO-8859-1 de_DE | ||
+ | localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro | ||
+ | localedef -i de_DE -f UTF-8 de_DE.UTF-8 | ||
+ | localedef -i el_GR -f ISO-8859-7 el_GR | ||
+ | localedef -i en_GB -f ISO-8859-1 en_GB | ||
+ | localedef -i en_GB -f UTF-8 en_GB.UTF-8 | ||
+ | localedef -i en_HK -f ISO-8859-1 en_HK | ||
+ | localedef -i en_PH -f ISO-8859-1 en_PH | ||
+ | localedef -i en_US -f ISO-8859-1 en_US | ||
+ | localedef -i en_US -f UTF-8 en_US.UTF-8 | ||
+ | localedef -i es_ES -f ISO-8859-15 es_ES@euro | ||
+ | localedef -i es_MX -f ISO-8859-1 es_MX | ||
+ | localedef -i fa_IR -f UTF-8 fa_IR | ||
+ | localedef -i fr_FR -f ISO-8859-1 fr_FR | ||
+ | localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro | ||
+ | localedef -i fr_FR -f UTF-8 fr_FR.UTF-8 | ||
+ | localedef -i is_IS -f ISO-8859-1 is_IS | ||
+ | localedef -i is_IS -f UTF-8 is_IS.UTF-8 | ||
+ | localedef -i it_IT -f ISO-8859-1 it_IT | ||
+ | localedef -i it_IT -f ISO-8859-15 it_IT@euro | ||
+ | localedef -i it_IT -f UTF-8 it_IT.UTF-8 | ||
+ | localedef -i ja_JP -f EUC-JP ja_JP | ||
+ | localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true | ||
+ | localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 | ||
+ | localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro | ||
+ | localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R | ||
+ | localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 | ||
+ | localedef -i se_NO -f UTF-8 se_NO.UTF-8 | ||
+ | localedef -i ta_IN -f UTF-8 ta_IN.UTF-8 | ||
+ | localedef -i tr_TR -f UTF-8 tr_TR.UTF-8 | ||
+ | localedef -i zh_CN -f GB18030 zh_CN.GB18030 | ||
+ | localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS | ||
+ | localedef -i zh_TW -f UTF-8 zh_TW.UTF-8 | ||
+ | </ | ||
+ | |||
+ | Кроме того, установите локаль для вашей страны, | ||
+ | |||
+ | В качестве альтернативы, | ||
+ | |||
+ | < | ||
+ | make localedata/ | ||
+ | </ | ||
+ | |||
+ | Затем используйте команду **localedef** для создания и установки локалей, | ||
+ | |||
+ | < | ||
+ | localedef -i C -f UTF-8 C.UTF-8 | ||
+ | localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true | ||
+ | </ | ||
+ | |||
+ | <WRAP left round info 100%> | ||
+ | **Примечание** \\ | ||
+ | Glibc теперь использует libidn2 для разрешения интернационализированных доменных имен. Если такая функция необходима, | ||
+ | </ | ||
+ | |||
+ | ====8.5.2. Настройка Glibc==== | ||
+ | ===8.5.2.1. Добавление nsswitch.conf=== | ||
+ | |||
+ | Необходимо создать файл **/ | ||
+ | |||
+ | Создайте новый фай **/ | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | # Begin / | ||
+ | |||
+ | passwd: files systemd | ||
+ | group: files systemd | ||
+ | shadow: files systemd | ||
+ | |||
+ | hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns | ||
+ | networks: files | ||
+ | |||
+ | protocols: files | ||
+ | services: files | ||
+ | ethers: files | ||
+ | rpc: files | ||
+ | |||
+ | # End / | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | ====8.5.2.2. Добавление данных о часовом поясе==== | ||
+ | |||
+ | Установите и настройте часовой пояс следующим образом: | ||
+ | |||
+ | < | ||
+ | tar -xf ../ | ||
+ | |||
+ | ZONEINFO=/ | ||
+ | mkdir -pv $ZONEINFO/ | ||
+ | |||
+ | for tz in etcetera southamerica northamerica europe africa antarctica | ||
+ | asia australasia backward; do | ||
+ | zic -L / | ||
+ | zic -L / | ||
+ | zic -L leapseconds -d $ZONEINFO/ | ||
+ | done | ||
+ | |||
+ | cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO | ||
+ | zic -d $ZONEINFO -p America/ | ||
+ | unset ZONEINFO | ||
+ | </ | ||
+ | |||
+ | ===Значение команд zic:=== | ||
+ | |||
+ | * **zic -L /dev/null ...** | ||
+ | Создаёт часовые пояса posix без секунд координации. Обычно их помещают как в zoneinfo так и в zoneinfo/ | ||
+ | |||
+ | * **zic -L leapseconds ...** | ||
+ | Создаёт правильные часовые пояса с секундами координации. На встраиваемых системах с небольшим диском, | ||
+ | |||
+ | * **zic ... -p ...** | ||
+ | Создаёт файл posixrules. Используется New York, потому что POSIX требует, | ||
+ | |||
+ | Один из способов определить местный часовой пояс — запустить следующий скрипт: | ||
+ | |||
+ | < | ||
+ | tzselect | ||
+ | </ | ||
+ | |||
+ | После нескольких вопросов о местоположении скрипт выдаст наименование часового пояса (например **America/ | ||
+ | |||
+ | Создайте файл **/ | ||
+ | |||
+ | < | ||
+ | ln -sfv / | ||
+ | </ | ||
+ | |||
+ | Замените <xxx> на имя выбранного часового пояса (например, | ||
+ | |||
+ | ====8.5.2.3. Настройка динамического загрузчика==== | ||
+ | |||
+ | По умолчанию, | ||
+ | |||
+ | Создайте новый файл **/ | ||
+ | |||
+ | < | ||
+ | cat > / | ||
+ | # Begin / | ||
+ | / | ||
+ | /opt/lib | ||
+ | |||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | Динамический загрузчик может выполнить поиск в каталоге и включить содержимое найденных там файлов. Обычно такие файлы состоят из одной строки и содержат путь к библиотеке. Чтобы добавить эту возможность, | ||
+ | |||
+ | < | ||
+ | cat >> / | ||
+ | # Add an include directory | ||
+ | include / | ||
+ | |||
+ | EOF | ||
+ | mkdir -pv / | ||
+ | </ | ||
+ | |||
+ | ====8.5.3. Содержимое пакета Glibc==== | ||
+ | |||
+ | |Установленные файлы: | ||
+ | |Установленные библиотеки: | ||
+ | |Созданные каталоги: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |gencat|Создает каталоги сообщений| | ||
+ | |getconf|Отображает настройки системы для специфичных переменных файловой системы| | ||
+ | |getent|Получает записи из административной базы данных| | ||
+ | |iconv|Выполняет преобразование набора символов| | ||
+ | |iconvconfig|Создает быстрозагружаемые файлы настроек модуля iconv| | ||
+ | |ldconfig|Настраивает привязки времени выполнения динамического компоновщика| | ||
+ | |ldd|Сообщает, | ||
+ | |lddlibc4|Помогает ldd работать с объектными файлами. Он не существует на более новых архитектурах, | ||
+ | |locale|Выводит различную информацию о текущей локали| | ||
+ | |localedef|Компилирует спецификации локали| | ||
+ | |makedb|Создает простую базу данных на основе текстового ввода| | ||
+ | |mtrace|Читает и интерпретирует файл трассировки памяти; | ||
+ | |pcprofiledump|Создает дамп информации, | ||
+ | |pldd|Перечисляет динамические общие объекты, | ||
+ | |sln|Статически скомпонованная программа ln| | ||
+ | |sotruss|Отслеживает вызовы процедур общей библиотеки указанной команды| | ||
+ | |sprof|Читает и отображает данные профилирования общих объектов.| | ||
+ | |tzselect|Запрашивает у пользователя информацию о текущем местоположении системы и выводит описание соответствующего часового пояса.| | ||
+ | |xtrace|Отслеживает выполнение программы, | ||
+ | |zdump|Выдает дамп часового пояса| | ||
+ | |zic|Компилятор часовых поясов| | ||
+ | |ld-*.so|Вспомогательная программа для исполняемых файлов общей библиотеки| | ||
+ | |libBrokenLocale|Используется внутри Glibc как грубый хак для запуска сломанных программ (например, | ||
+ | |libanl|Библиотека-заглушка, | ||
+ | |libc|Основная библиотека C| | ||
+ | |libc_malloc_debug|Включает проверку выделения памяти при предварительной загрузке| | ||
+ | |libdl|Библиотека-заглушка, | ||
+ | |libg|Библиотека-заглушка без функций. Раньше была библиотекой среды выполнения для g++| | ||
+ | |libm|Математическая библиотека| | ||
+ | |libmvec|Библиотека векторных математических вычислений, | ||
+ | |libmcheck|Включает проверку выделения памяти при подключении к| | ||
+ | |libmemusage|Используется memusage для сбора информации об использовании памяти программой| | ||
+ | |libnsl|Библиотека сетевых служб, которая в настоящее время устарела| | ||
+ | |libnss_*|Модули Name Service Switch, содержащие функции для разрешения имен хостов, | ||
+ | |libpcprofile|Содержит функции профилирования, | ||
+ | |libpthread|Библиотека-заглушка, | ||
+ | |libresolv|Содержит функции создания, | ||
+ | |librt|Содержит функции, | ||
+ | |libthread_db|Содержит функции, | ||
+ | |libutil|Библиотека-заглушка, | ||
+ | |||
+ | =====8.6. Zlib-1.3.1===== | ||
+ | |||
+ | |Пакет Zlib содержит подпрограммы сжатия и распаковки, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.6.1. Установка пакета Zlib==== | ||
+ | |||
+ | Подготовьте Zlib к компиляции: | ||
+ | |||
+ | < | ||
+ | ./configure --prefix=/ | ||
+ | </ | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать пакет, выполните: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Удалите бесполезную статическую библиотеку: | ||
+ | |||
+ | < | ||
+ | rm -fv / | ||
+ | </ | ||
+ | |||
+ | ====8.6.2. Содержимое пакета Zlib==== | ||
+ | |||
+ | |Установленные файлы: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |libz|Содержит функции сжатия и распаковки, | ||
+ | |||
+ | =====8.7. Bzip2-1.0.8===== | ||
+ | |||
+ | |Пакет Bzip2 содержит программы для сжатия и распаковки файлов. Сжатие текстовых файлов с помощью bzip2 даёт больший процент сжатия, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.7.1. Установка пакета Bzip2==== | ||
+ | |||
+ | Примените патч, который установит документацию для этого пакета: | ||
+ | |||
+ | < | ||
+ | patch -Np1 -i ../ | ||
+ | </ | ||
+ | |||
+ | Следующая команда гарантирует установку символических ссылок с относительным путём: | ||
+ | |||
+ | < | ||
+ | sed -i ' | ||
+ | </ | ||
+ | |||
+ | Убедитесь, | ||
+ | |||
+ | < | ||
+ | sed -i " | ||
+ | </ | ||
+ | |||
+ | Подготовьте Bzip2 к компиляции: | ||
+ | |||
+ | < | ||
+ | make -f Makefile-libbz2_so | ||
+ | make clean | ||
+ | </ | ||
+ | |||
+ | Значение параметра make: | ||
+ | |||
+ | * **-f Makefile-libbz2_so** | ||
+ | Этот параметр позволяет выполнить сборку, | ||
+ | |||
+ | Скомпилируйте и протестируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make PREFIX=/usr install | ||
+ | </ | ||
+ | |||
+ | Установите библиотеку: | ||
+ | |||
+ | < | ||
+ | cp -av libbz2.so.* /usr/lib | ||
+ | ln -sv libbz2.so.1.0.8 / | ||
+ | </ | ||
+ | |||
+ | Установите общий бинарный файл bzip2 в каталог /usr/bin, и замените две копии bzip2 символическими ссылками: | ||
+ | |||
+ | < | ||
+ | cp -v bzip2-shared / | ||
+ | for i in / | ||
+ | ln -sfv bzip2 $i | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | Удалите ненужную статическую библиотеку: | ||
+ | |||
+ | < | ||
+ | rm -fv / | ||
+ | </ | ||
+ | |||
+ | ====8.7.2. Содержимое пакета Bzip2==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |Установленные библиотеки: | ||
+ | |Созданные каталоги: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |bunzip2|Распаковывает bzip-файлы| | ||
+ | |bzcat|Распаковывает в поток стандартного вывода| | ||
+ | |bzcmp|Запускает программу cmp для bzip файлов| | ||
+ | |bzdiff|Запускает программу diff для bzip файлов| | ||
+ | |bzegrep|Запускает программу egrep для bzip файлов| | ||
+ | |bzfgrep|Запускает программу fgrep для bzip файлов| | ||
+ | |bzgrep|Запускает программу grep для bzip файлов| | ||
+ | |bzip2|Сжимает файлы, используя алгоритм сжатия текста с блочной сортировкой Барроуза — Уилера и кодирование Хафмана; | ||
+ | |bzip2recover|Пытается восстанавливать данные из поврежденных архивов| | ||
+ | |bzless|Запускает программу less для bzip файлов| | ||
+ | |bzmore|Запускает программу more для bzip файлов| | ||
+ | |libbz2|Библиотека, | ||
+ | |||
+ | =====8.8. Xz-5.4.6===== | ||
+ | |||
+ | |Пакет Xz содержит программы для сжатия и распаковки файлов. Он предоставляет возможности для lzma и более новых форматов сжатия xz. Сжатие текстовых файлов с помощью xz дает лучший процент сжатия, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.8.1. Установка пакета Xz==== | ||
+ | |||
+ | Подготовьте Xz к компиляции: | ||
+ | |||
+ | < | ||
+ | ./configure --prefix=/ | ||
+ | --disable-static \ | ||
+ | --docdir=/ | ||
+ | </ | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать пакет, выполните: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | ====8.8.2. Содержимое пакета Xz==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |Установленные библиотеки: | ||
+ | |Созданные каталоги: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |lzcat|Распаковывает в стандартный поток вывода| | ||
+ | |lzcmp|Запускает cmp для файлов сжатых LZMA| | ||
+ | |lzdiff|Запускает diff для файлов сжатых LZMA| | ||
+ | |lzegrep|Запускает egrep для файлов сжатых LZMA| | ||
+ | |lzfgrep|Запускает fgrep для файлов сжатых LZMA| | ||
+ | |lzgrep|Запускает grep для файлов сжатых LZMA| | ||
+ | |lzless|Запускает less для файлов сжатых LZMA| | ||
+ | |lzma|Сжимает или распаковывает файлы в формате LZMA| | ||
+ | |lzmadec|Небольшой и быстрый декодер для файлов сжатых LZMA.| | ||
+ | |lzmainfo|Показывает информацию, | ||
+ | |lzmore|Запускает more для файлов сжатых LZMA| | ||
+ | |unlzma|Распаковывает файлы в формате LZMA| | ||
+ | |unxz|Распаковывает файлы в формате XZ| | ||
+ | |xz|Сжимает или распаковывает файлы в формате XZ.| | ||
+ | |xzcat|Распаковывает в стандартный поток вывода| | ||
+ | |xzcmp|Запускает cmp для сжатых XZ файлов| | ||
+ | |xzdec|Небольшой и быстрый декодер для файлов сжатых XZ| | ||
+ | |xzdiff|Запускает diff для сжатых XZ файлов| | ||
+ | |xzegrep|Запускает egrep для сжатых XZ файлов| | ||
+ | |xzfgrep|Запускает fgrep для сжатых XZ файлов| | ||
+ | |xzgrep|Запускает grep для сжатых XZ файлов| | ||
+ | |xzless|Запускает less для сжатых XZ файлов| | ||
+ | |xzmore|Запускает more для сжатых XZ файлов| | ||
+ | |liblzma|Библиотека, | ||
+ | |||
+ | =====8.9. Zstd-1.5.5===== | ||
+ | |||
+ | |Zstandard — это алгоритм сжатия в реальном времени, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.9.1. Установка пакета Zstd==== | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make prefix=/usr | ||
+ | </ | ||
+ | |||
+ | |||
+ | <WRAP left round info 100%> | ||
+ | **Примечание** \\ | ||
+ | В выходных данных теста есть несколько мест, выводящих сообщение ' | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать пакет, выполните: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make prefix=/usr install | ||
+ | </ | ||
+ | |||
+ | Удалите статическую библиотеку: | ||
+ | |||
+ | < | ||
+ | rm -v / | ||
+ | </ | ||
+ | |||
+ | ====8.9.2. Содержимое пакета Zstd==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |Установленные библиотеки: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |zstd|Сжимает или распаковывает файлы в формате ZSTD| | ||
+ | |zstdgrep|Запускает grep на сжатых ZSTD файлах| | ||
+ | |zstdless|Запускает less на сжатых ZSTD файлах| | ||
+ | |libzstd|Библиотека, | ||
+ | |||
+ | =====8.10. File-5.45===== | ||
+ | |||
+ | |Пакет File содержит утилиту для определения типа указанного файла или файлов|| | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.10.1. Установка пакета File==== | ||
+ | |||
+ | Подготовьте File к компиляции: | ||
+ | |||
+ | < | ||
+ | ./configure --prefix=/ | ||
+ | </ | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать пакет, выполните: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====8.10.2. Содержимое пакета File==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |Установленные библиотеки: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |file|Пытается классифицировать каждый указанный файл; он делает это, выполняя серию тестов—тесты файловой системы, | ||
+ | |libmagic|Содержит функции распознавания магических чисел используемые программой file| | ||
+ | |||
+ | =====8.11. Readline-8.2===== | ||
+ | |||
+ | |Пакет Readline представляет собой набор библиотек, | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.11.1. Установка пакета Readline==== | ||
+ | |||
+ | Переустановка пакета Readline приводит к перемещению старых библиотек в < | ||
+ | |||
+ | < | ||
+ | sed -i '/ | ||
+ | sed -i '/ | ||
+ | </ | ||
+ | |||
+ | Теперь устраните проблему, | ||
+ | |||
+ | < | ||
+ | patch -Np1 -i ../ | ||
+ | </ | ||
+ | |||
+ | Подготовьте Readline к компиляции: | ||
+ | |||
+ | < | ||
+ | ./configure --prefix=/ | ||
+ | --disable-static \ | ||
+ | --with-curses | ||
+ | --docdir=/ | ||
+ | </ | ||
+ | |||
+ | ===Значение нового параметра configure: | ||
+ | |||
+ | * **--with-curses** | ||
+ | Этот параметр сообщает Readline, что он может найти функции библиотеки termcap в библиотеке curses, а не в отдельной библиотеке termcap. Это позволит сгенерировать корректный файл readline.pc. | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make SHLIB_LIBS=" | ||
+ | </ | ||
+ | |||
+ | ===Значение параметра make:=== | ||
+ | |||
+ | * **SHLIB_LIBS=" | ||
+ | Этот параметр принудительно линкует Readline с библиотекой libncursesw. | ||
+ | |||
+ | С этим пакетом не поставляется набор тестов. | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make SHLIB_LIBS=" | ||
+ | </ | ||
+ | |||
+ | По желанию установите документацию: | ||
+ | |||
+ | < | ||
+ | install -v -m644 doc/ | ||
+ | </ | ||
+ | |||
+ | ====8.11.2. Содержимое пакета Readline==== | ||
+ | |||
+ | |Установленные библиотеки: | ||
+ | |Созданные каталоги: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |libhistory|Обеспечивает согласованный пользовательский интерфейс для вызова строк из истории| | ||
+ | |libreadline|Предоставляет набор команд для управления текстом, | ||
+ | |||
+ | =====8.12. M4-1.4.19===== | ||
+ | |||
+ | |Пакет M4 содержит макропроцессор.|| | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.12.1. Установка пакета M4==== | ||
+ | |||
+ | Подготовьте M4 к компиляции: | ||
+ | |||
+ | < | ||
+ | ./configure --prefix=/ | ||
+ | </ | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать пакет, выполните: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | ====8.12.2. Содержимое пакета M4==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |m4|Копирует указанные файлы, одновременно расширяя содержащиеся в них макросы. Эти макросы являются либо встроенными, | ||
+ | |||
+ | =====8.13. Bc-6.7.5===== | ||
+ | |||
+ | |Пакет Bc содержит язык для обработки чисел произвольной точности.|| | ||
+ | |Приблизительное время сборки: | ||
+ | |Требуемое дисковое пространство: | ||
+ | |||
+ | ====8.13.1. Установка пакета Bc==== | ||
+ | |||
+ | Подготовьте Bc к компиляции: | ||
+ | |||
+ | < | ||
+ | CC=gcc ./configure --prefix=/ | ||
+ | </ | ||
+ | |||
+ | ===Значение параметров настройки: | ||
+ | |||
+ | * **CC=gcc** | ||
+ | Этот параметр определяет используемый компилятор | ||
+ | |||
+ | * **-G** | ||
+ | Пропускает часть тестов, | ||
+ | |||
+ | * **-O3** | ||
+ | Указывает используемый уровень оптимизации. | ||
+ | |||
+ | * **-r** | ||
+ | Включает использование Readline для улучшения функции редактирования строк в bc. | ||
+ | |||
+ | Скомпилируйте пакет: | ||
+ | |||
+ | < | ||
+ | make | ||
+ | </ | ||
+ | |||
+ | Чтобы протестировать bc, запустите: | ||
+ | |||
+ | < | ||
+ | make check | ||
+ | </ | ||
+ | |||
+ | Установите пакет: | ||
+ | |||
+ | < | ||
+ | make install | ||
+ | </ | ||
+ | |||
+ | ====8.13.2. Содержимое пакета Bc==== | ||
+ | |||
+ | |Установленные программы: | ||
+ | |||
+ | Краткое описание | ||
+ | |||
+ | |bc|Калькулятор командной строки| | ||
+ | |dc|Калькулятор командной строки с обратной польской нотацией| | ||
+ | |||
+ | =====8.14. Flex-2.6.4===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
software/linux_server/lfs/chapter08.1719919109.txt.gz · Последнее изменение: 2024/07/02 14:18 — vladpolskiy