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.1-sysv/chapter08/Python.html | 384 ------ lfs-12.1-sysv/chapter08/aboutdebug.html | 136 -- lfs-12.1-sysv/chapter08/acl.html | 215 ---- lfs-12.1-sysv/chapter08/attr.html | 214 ---- lfs-12.1-sysv/chapter08/autoconf.html | 289 ----- lfs-12.1-sysv/chapter08/automake.html | 237 ---- lfs-12.1-sysv/chapter08/bash.html | 270 ---- lfs-12.1-sysv/chapter08/bc.html | 214 ---- lfs-12.1-sysv/chapter08/binutils.html | 642 ---------- lfs-12.1-sysv/chapter08/bison.html | 205 --- lfs-12.1-sysv/chapter08/bzip2.html | 394 ------ lfs-12.1-sysv/chapter08/chapter08.html | 340 ----- lfs-12.1-sysv/chapter08/check.html | 180 --- lfs-12.1-sysv/chapter08/cleanup.html | 119 -- lfs-12.1-sysv/chapter08/coreutils.html | 1796 --------------------------- lfs-12.1-sysv/chapter08/dejagnu.html | 184 --- lfs-12.1-sysv/chapter08/diffutils.html | 201 --- lfs-12.1-sysv/chapter08/e2fsprogs.html | 775 ------------ lfs-12.1-sysv/chapter08/expat.html | 187 --- lfs-12.1-sysv/chapter08/expect.html | 253 ---- lfs-12.1-sysv/chapter08/file.html | 180 --- lfs-12.1-sysv/chapter08/findutils.html | 238 ---- lfs-12.1-sysv/chapter08/flex.html | 230 ---- lfs-12.1-sysv/chapter08/flit-core.html | 196 --- lfs-12.1-sysv/chapter08/gawk.html | 248 ---- lfs-12.1-sysv/chapter08/gcc.html | 908 -------------- lfs-12.1-sysv/chapter08/gdbm.html | 243 ---- lfs-12.1-sysv/chapter08/gettext.html | 594 --------- lfs-12.1-sysv/chapter08/glibc.html | 1314 -------------------- lfs-12.1-sysv/chapter08/gmp.html | 268 ---- lfs-12.1-sysv/chapter08/gperf.html | 163 --- lfs-12.1-sysv/chapter08/grep.html | 195 --- lfs-12.1-sysv/chapter08/groff.html | 897 -------------- lfs-12.1-sysv/chapter08/grub.html | 598 --------- lfs-12.1-sysv/chapter08/gzip.html | 365 ------ lfs-12.1-sysv/chapter08/iana-etc.html | 163 --- lfs-12.1-sysv/chapter08/inetutils.html | 363 ------ lfs-12.1-sysv/chapter08/intltool.html | 245 ---- lfs-12.1-sysv/chapter08/introduction.html | 174 --- lfs-12.1-sysv/chapter08/iproute2.html | 432 ------- lfs-12.1-sysv/chapter08/jinja2.html | 128 -- lfs-12.1-sysv/chapter08/kbd.html | 586 --------- lfs-12.1-sysv/chapter08/kmod.html | 315 ----- lfs-12.1-sysv/chapter08/less.html | 209 ---- lfs-12.1-sysv/chapter08/libcap.html | 258 ---- lfs-12.1-sysv/chapter08/libelf.html | 169 --- lfs-12.1-sysv/chapter08/libffi.html | 210 ---- lfs-12.1-sysv/chapter08/libpipeline.html | 158 --- lfs-12.1-sysv/chapter08/libtool.html | 211 ---- lfs-12.1-sysv/chapter08/libxcrypt.html | 225 ---- lfs-12.1-sysv/chapter08/m4.html | 168 --- lfs-12.1-sysv/chapter08/make.html | 161 --- lfs-12.1-sysv/chapter08/man-db.html | 761 ------------ lfs-12.1-sysv/chapter08/man-pages.html | 156 --- lfs-12.1-sysv/chapter08/markupsafe.html | 128 -- lfs-12.1-sysv/chapter08/meson.html | 192 --- lfs-12.1-sysv/chapter08/mpc.html | 164 --- lfs-12.1-sysv/chapter08/mpfr.html | 175 --- lfs-12.1-sysv/chapter08/ncurses.html | 548 -------- lfs-12.1-sysv/chapter08/ninja.html | 208 ---- lfs-12.1-sysv/chapter08/openssl.html | 287 ----- lfs-12.1-sysv/chapter08/patch.html | 165 --- lfs-12.1-sysv/chapter08/perl.html | 692 ----------- lfs-12.1-sysv/chapter08/pkgconf.html | 208 ---- lfs-12.1-sysv/chapter08/pkgmgt.html | 539 -------- lfs-12.1-sysv/chapter08/procps-ng.html | 421 ------- lfs-12.1-sysv/chapter08/psmisc.html | 249 ---- lfs-12.1-sysv/chapter08/readline.html | 238 ---- lfs-12.1-sysv/chapter08/sed.html | 165 --- lfs-12.1-sysv/chapter08/setuptools.html | 128 -- lfs-12.1-sysv/chapter08/shadow.html | 942 -------------- lfs-12.1-sysv/chapter08/stripping.html | 224 ---- lfs-12.1-sysv/chapter08/sysklogd.html | 208 ---- lfs-12.1-sysv/chapter08/sysvinit.html | 313 ----- lfs-12.1-sysv/chapter08/tar.html | 194 --- lfs-12.1-sysv/chapter08/tcl.html | 271 ---- lfs-12.1-sysv/chapter08/texinfo.html | 334 ----- lfs-12.1-sysv/chapter08/udev.html | 406 ------ lfs-12.1-sysv/chapter08/util-linux.html | 1930 ----------------------------- lfs-12.1-sysv/chapter08/vim.html | 449 ------- lfs-12.1-sysv/chapter08/wheel.html | 160 --- lfs-12.1-sysv/chapter08/xml-parser.html | 159 --- lfs-12.1-sysv/chapter08/xz.html | 531 -------- lfs-12.1-sysv/chapter08/zlib.html | 162 --- lfs-12.1-sysv/chapter08/zstd.html | 224 ---- 85 files changed, 29978 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter08/Python.html delete mode 100644 lfs-12.1-sysv/chapter08/aboutdebug.html delete mode 100644 lfs-12.1-sysv/chapter08/acl.html delete mode 100644 lfs-12.1-sysv/chapter08/attr.html delete mode 100644 lfs-12.1-sysv/chapter08/autoconf.html delete mode 100644 lfs-12.1-sysv/chapter08/automake.html delete mode 100644 lfs-12.1-sysv/chapter08/bash.html delete mode 100644 lfs-12.1-sysv/chapter08/bc.html delete mode 100644 lfs-12.1-sysv/chapter08/binutils.html delete mode 100644 lfs-12.1-sysv/chapter08/bison.html delete mode 100644 lfs-12.1-sysv/chapter08/bzip2.html delete mode 100644 lfs-12.1-sysv/chapter08/chapter08.html delete mode 100644 lfs-12.1-sysv/chapter08/check.html delete mode 100644 lfs-12.1-sysv/chapter08/cleanup.html delete mode 100644 lfs-12.1-sysv/chapter08/coreutils.html delete mode 100644 lfs-12.1-sysv/chapter08/dejagnu.html delete mode 100644 lfs-12.1-sysv/chapter08/diffutils.html delete mode 100644 lfs-12.1-sysv/chapter08/e2fsprogs.html delete mode 100644 lfs-12.1-sysv/chapter08/expat.html delete mode 100644 lfs-12.1-sysv/chapter08/expect.html delete mode 100644 lfs-12.1-sysv/chapter08/file.html delete mode 100644 lfs-12.1-sysv/chapter08/findutils.html delete mode 100644 lfs-12.1-sysv/chapter08/flex.html delete mode 100644 lfs-12.1-sysv/chapter08/flit-core.html delete mode 100644 lfs-12.1-sysv/chapter08/gawk.html delete mode 100644 lfs-12.1-sysv/chapter08/gcc.html delete mode 100644 lfs-12.1-sysv/chapter08/gdbm.html delete mode 100644 lfs-12.1-sysv/chapter08/gettext.html delete mode 100644 lfs-12.1-sysv/chapter08/glibc.html delete mode 100644 lfs-12.1-sysv/chapter08/gmp.html delete mode 100644 lfs-12.1-sysv/chapter08/gperf.html delete mode 100644 lfs-12.1-sysv/chapter08/grep.html delete mode 100644 lfs-12.1-sysv/chapter08/groff.html delete mode 100644 lfs-12.1-sysv/chapter08/grub.html delete mode 100644 lfs-12.1-sysv/chapter08/gzip.html delete mode 100644 lfs-12.1-sysv/chapter08/iana-etc.html delete mode 100644 lfs-12.1-sysv/chapter08/inetutils.html delete mode 100644 lfs-12.1-sysv/chapter08/intltool.html delete mode 100644 lfs-12.1-sysv/chapter08/introduction.html delete mode 100644 lfs-12.1-sysv/chapter08/iproute2.html delete mode 100644 lfs-12.1-sysv/chapter08/jinja2.html delete mode 100644 lfs-12.1-sysv/chapter08/kbd.html delete mode 100644 lfs-12.1-sysv/chapter08/kmod.html delete mode 100644 lfs-12.1-sysv/chapter08/less.html delete mode 100644 lfs-12.1-sysv/chapter08/libcap.html delete mode 100644 lfs-12.1-sysv/chapter08/libelf.html delete mode 100644 lfs-12.1-sysv/chapter08/libffi.html delete mode 100644 lfs-12.1-sysv/chapter08/libpipeline.html delete mode 100644 lfs-12.1-sysv/chapter08/libtool.html delete mode 100644 lfs-12.1-sysv/chapter08/libxcrypt.html delete mode 100644 lfs-12.1-sysv/chapter08/m4.html delete mode 100644 lfs-12.1-sysv/chapter08/make.html delete mode 100644 lfs-12.1-sysv/chapter08/man-db.html delete mode 100644 lfs-12.1-sysv/chapter08/man-pages.html delete mode 100644 lfs-12.1-sysv/chapter08/markupsafe.html delete mode 100644 lfs-12.1-sysv/chapter08/meson.html delete mode 100644 lfs-12.1-sysv/chapter08/mpc.html delete mode 100644 lfs-12.1-sysv/chapter08/mpfr.html delete mode 100644 lfs-12.1-sysv/chapter08/ncurses.html delete mode 100644 lfs-12.1-sysv/chapter08/ninja.html delete mode 100644 lfs-12.1-sysv/chapter08/openssl.html delete mode 100644 lfs-12.1-sysv/chapter08/patch.html delete mode 100644 lfs-12.1-sysv/chapter08/perl.html delete mode 100644 lfs-12.1-sysv/chapter08/pkgconf.html delete mode 100644 lfs-12.1-sysv/chapter08/pkgmgt.html delete mode 100644 lfs-12.1-sysv/chapter08/procps-ng.html delete mode 100644 lfs-12.1-sysv/chapter08/psmisc.html delete mode 100644 lfs-12.1-sysv/chapter08/readline.html delete mode 100644 lfs-12.1-sysv/chapter08/sed.html delete mode 100644 lfs-12.1-sysv/chapter08/setuptools.html delete mode 100644 lfs-12.1-sysv/chapter08/shadow.html delete mode 100644 lfs-12.1-sysv/chapter08/stripping.html delete mode 100644 lfs-12.1-sysv/chapter08/sysklogd.html delete mode 100644 lfs-12.1-sysv/chapter08/sysvinit.html delete mode 100644 lfs-12.1-sysv/chapter08/tar.html delete mode 100644 lfs-12.1-sysv/chapter08/tcl.html delete mode 100644 lfs-12.1-sysv/chapter08/texinfo.html delete mode 100644 lfs-12.1-sysv/chapter08/udev.html delete mode 100644 lfs-12.1-sysv/chapter08/util-linux.html delete mode 100644 lfs-12.1-sysv/chapter08/vim.html delete mode 100644 lfs-12.1-sysv/chapter08/wheel.html delete mode 100644 lfs-12.1-sysv/chapter08/xml-parser.html delete mode 100644 lfs-12.1-sysv/chapter08/xz.html delete mode 100644 lfs-12.1-sysv/chapter08/zlib.html delete mode 100644 lfs-12.1-sysv/chapter08/zstd.html (limited to 'lfs-12.1-sysv/chapter08') diff --git a/lfs-12.1-sysv/chapter08/Python.html b/lfs-12.1-sysv/chapter08/Python.html deleted file mode 100644 index da00221..0000000 --- a/lfs-12.1-sysv/chapter08/Python.html +++ /dev/null @@ -1,384 +0,0 @@ - - - - - - 8.51. Python-3.12.2 - - - - - - - - -

- 8.51. - Python-3.12.2 -

-
-
-

- Пакет Python 3 содержит среду разработчика Python. Его можно - использовать для объектно-ориентированного программирования, - написания скриптов, прототипирования больших программ и разработка - целых приложений. Python — это интерпретируемый язык - программирования. -

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

- 8.51.1. Установка пакета Python 3 -

-

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

-
./configure --prefix=/usr        \
-            --enable-shared      \
-            --with-system-expat  \
-            --enable-optimizations
-
-

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

-
-
- --with-system-expat -
-
-

- Этот параметр выполняет линковку с системной версией - Expat. -

-
-
- --enable-optimizations -
-
-

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

-
-
-
-

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

-
make
-

- Запускать тесты на этом этапе не рекомендуется. Известно, что тесты - зависают на неопределенный срок в неполной среде LFS. При желании - тесты можно запустить повторно в конце этой главы или при - переустановке Python 3 в BLFS. Чтобы запустить тесты, выполните - команду make test. -

-

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

-
make install
-

- В некоторых местах книги, мы используем команду pip3 для установки программ и - модулей Python 3 от имени пользователя root. Это противоречит рекомендации - разработчиков Python: устанавливать пакеты в виртуальную среду или - домашний каталог обычного пользователя (путем запуска pip3 от имени этого - пользователя). Поэтому всякий раз при использовании pip3 от имени пользователя - root появляется многострочное - предупреждение. -

-

- Основная причина этой рекомендации — избежать конфликта с системным - менеджером пакетов (например, dpkg), но в LFS нет - общесистемного менеджера пакетов, так что это не проблема. Кроме - того, pip3 будет - пытаться проверять наличие новой версии при каждом запуске. - Поскольку разрешение доменных имен в среде chroot LFS еще не - настроено, он не сможет проверить наличие новой версии и выдаст - предупреждение. -

-

- Как только мы загрузим систему LFS и настроим сетевое подключение, - pip3 выдаст - предупреждение, сообщающее пользователю о необходимости обновить - его с помощью предварительно собранного whl-файла в PyPI (всякий - раз, когда будет доступна новая версия). Но LFS считает - pip3 частью Python3, - поэтому его не следует обновлять отдельно. Кроме того, обновление - из whl-файла не соответствует цели проекта — собрать систему Linux - из исходного кода, поэтому предупреждение о новой версии - pip3 следует - игнорировать. По желанию, вы можете отключить все предупреждение, - создав следующий файл конфигурации: -

-
cat > /etc/pip.conf << EOF
-[global]
-root-user-action = ignore
-disable-pip-version-check = true
-EOF
-
-
- [Важно] -

- Важно -

-

- В LFS и BLFS мы собираем и устанавливаем модули Python с помощью - команды pip3. - Убедитесь, что команда pip3 - install в обеих книгах запускаются от имени - пользователя root (если только - она не для виртуальной среды Python). Запуск pip3 install от имени - пользователя без полномочий root - может показаться нормальным, но это приведет к тому, что - установленный модуль будет недоступен для других пользователей. -

-

- Команда pip3 - install по умолчанию не приведёт к автоматической - переустановке уже установленного модуля. Чтобы использовать - команду pip3 - install для обновления модуля (например, с - meson-0.61.3 до meson-0.62.0), добавьте параметр --upgrade в командную строку. Если - по какой-то причине необходимо понизить версию модуля или - переустановить ту же версию, используйте параметр --force-reinstall --no-deps. -

-
-

- По желанию установите предварительно отформатированную - документацию: -

-
install -v -dm755 /usr/share/doc/python-3.12.2/html
-
-tar --no-same-owner \
-    -xvf ../python-3.12.2-docs-html.tar.bz2
-cp -R --no-preserve=mode python-3.12.2-docs-html/* \
-    /usr/share/doc/python-3.12.2/html
-
-

- Значение команд установки документации: -

-
-
- --no-same-owner - (tar) и --no-preserve=mode - (cp) -
-
-

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

-
-
-
-
-
-

- 8.51.2. - Содержимое пакета Python 3 -

-
-
-
- Установленные программы: - 2to3, idle3, pip3, pydoc3, python3 и - python3-config -
-
- Установленные библиотеки: - libpython3.12.so и libpython3.so -
-
- Созданные каталоги: - /usr/include/python3.12, /usr/lib/python3 - и /usr/share/doc/python-3.12.2 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- 2to3 -

-
-

- программа на Python, - которая читает файлы написанные на Python 2.x, применяет к ним серию - изменений и переводит их в валидный код Python 3.x. -

-
-

- idle3 -

-
-

- скрипт-обертка, который открывает графический редактор с - поддержкой Python. Для - запуска этого скрипта, перед установкой Python необходимо - установить Tk, чтобы - модуль Tkinter Python был собран. -

-
-

- pip3 -

-
-

- Установщик пакетов для Python. Вы можете использовать pip - для установки пакетов из каталога PyPI (Python Package - Index) и других источников. -

-
-

- pydoc3 -

-
-

- инструмент документации Python -

-
-

- python3 -

-
-

- это интерпретатор для Python, интерпретируемый, - интерактивный, объектно-ориентированный язык - программирования -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/aboutdebug.html b/lfs-12.1-sysv/chapter08/aboutdebug.html deleted file mode 100644 index 092e726..0000000 --- a/lfs-12.1-sysv/chapter08/aboutdebug.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - 8.82. Об отладочных символах - - - - - - - - -

- 8.82. Об - отладочных символах -

-
-

- Большинство программ и библиотек по умолчанию компилируются с - отладочными символами (gcc с параметром -g). Это означает, что при отладке - программы или библиотеки, которые были скомпилированы с - использованием отладочной информации, отладчик может предоставить не - только адреса памяти, но и имена подпрограмм и переменных. -

-

- Включение отладочных символов значительно увеличивает размер - программы или библиотеки. Ниже приведена информация по объему - пространства, занимаемого отладочными символами: -

-
-
    -
  • -

    - Двоичный файл bash с отладочными символами: - 1200 KB -

    -
  • -
  • -

    - Двоичный файл bash без отладочных символов: - 480 KB (на 60% меньше) -

    -
  • -
  • -

    - Файлы Glibc и GCC (/lib и - /usr/lib) с отладочными - символами: 87 MB -

    -
  • -
  • -

    - Файлы Glibc и GCC без отладочных символов: 16 MB (на 82% - меньше) -

    -
  • -
-
-

- Размеры могут варьироваться в зависимости от используемого - компилятора и библиотеки Си, но программа, в которой были удалены - отладочные символы, обычно примерно на 50-80% меньше, чем ее аналог с - ними. Поскольку большинство пользователей никогда не будут - использовать отладчик в своем программном обеспечении, удаление - отладочных символов может освободить много места на диске. В - следующем разделе показано, как удалить все отладочные символы из - программ и библиотек. -

-
- - - diff --git a/lfs-12.1-sysv/chapter08/acl.html b/lfs-12.1-sysv/chapter08/acl.html deleted file mode 100644 index adce47b..0000000 --- a/lfs-12.1-sysv/chapter08/acl.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - 8.24. Acl-2.3.2 - - - - - - - - -

- 8.24. Acl-2.3.2 -

-
-
-

- Пакет Acl содержит утилиты для администрирования списков контроля - доступа, которые используются для определения расширенных - дискреционных прав доступа к файлам и каталогам. -

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

- 8.24.1. Установка пакета Acl -

-

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

-
./configure --prefix=/usr         \
-            --disable-static      \
-            --docdir=/usr/share/doc/acl-2.3.2
-

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

-
make
-

- Тесты Acl необходимо запускать в файловой системе, поддерживающей - списки контроля доступа, после сборки пакета Coreutils с использованием библиотек Acl. По - желанию вернитесь к этому пакету и запустите make check после того, как будет - собран пакет Coreutils. -

-

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

-
make install
-
-
-

- 8.24.2. Содержимое - пакета Acl -

-
-
-
- Установленные программы: - chacl, getfacl, и setfacl -
-
- Установленные библиотеки: - libacl.so -
-
- Созданные каталоги: - /usr/include/acl и - /usr/share/doc/acl-2.3.2 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- chacl -

-
-

- Изменяет список контроля доступа файла или каталога -

-
-

- getfacl -

-
-

- Получает списки контроля доступа файла -

-
-

- setfacl -

-
-

- Устанавливает списки контроля доступа к файлам -

-
-

- libacl -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/attr.html b/lfs-12.1-sysv/chapter08/attr.html deleted file mode 100644 index ab3f36b..0000000 --- a/lfs-12.1-sysv/chapter08/attr.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - 8.23. Attr-2.5.2 - - - - - - - - -

- 8.23. Attr-2.5.2 -

-
-
-

- Пакет Attr содержит утилиты для управления расширенными атрибутами - объектов файловой системы. -

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

- 8.23.1. Установка пакета Attr -

-

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

-
./configure --prefix=/usr     \
-            --disable-static  \
-            --sysconfdir=/etc \
-            --docdir=/usr/share/doc/attr-2.5.2
-

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

-
make
-

- Тесты необходимо запускать в файловой системе, которая поддерживает - расширенные атрибуты, например, ext2, ext3 или ext4. Чтобы - протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.23.2. Содержимое - пакета Attr -

-
-
-
- Установленные программы: - attr, getfattr, и setfattr -
-
- Установленные библиотеки: - libattr.so -
-
- Созданные каталоги: - /usr/include/attr и - /usr/share/doc/attr-2.5.2 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- attr -

-
-

- Расширяет атрибуты объектов файловой системы -

-
-

- getfattr -

-
-

- Получает расширенные атрибуты объектов файловой системы -

-
-

- setfattr -

-
-

- Устанавливает расширенные атрибуты объектов файловой - системы -

-
-

- libattr -

-
-

- Содержит библиотечные функции для управления расширенными - атрибутами. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/autoconf.html b/lfs-12.1-sysv/chapter08/autoconf.html deleted file mode 100644 index 3c2ee6b..0000000 --- a/lfs-12.1-sysv/chapter08/autoconf.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - 8.45. Autoconf-2.72 - - - - - - - - -

- 8.45. - Autoconf-2.72 -

-
-
-

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

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

- 8.45.1. Установка пакета Autoconf -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.45.2. - Содержимое пакета Autoconf -

-
-
-
- Установленные программы: - autoconf, autoheader, autom4te, - autoreconf, autoscan, autoupdate, и ifnames -
-
- Созданные каталоги: - /usr/share/autoconf -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- autoconf -

-
-

- Генерирует сценарии оболочки, которые автоматически - настраивают пакеты исходного кода программного - обеспечения для адаптации ко многим типам Unix-подобных - систем; создаваемые сценарии независимы—для их запуска не - требуется программа autoconf. -

-
-

- autoheader -

-
-

- Инструмент для создания файлов шаблонов операторов C - #define для - использования в configure -

-
-

- autom4te -

-
-

- Обертка для макропроцессора M4 -

-
-

- autoreconf -

-
-

- Автоматически запускает autoconf, autoheader, - aclocal, - automake, - gettextize - и libtoolize в правильном - порядке, чтобы сэкономить время, при внесении изменений в - файлы шаблонов autoconf и automake. -

-
-

- autoscan -

-
-

- Помогает создать файл configure.in для пакета программного - обеспечения; проверяет исходные файлы в дереве каталогов, - ищет в них распространенные проблемы с переносимостью и - создает файл configure.scan, который является - предварительным файлом configure.in для пакета. -

-
-

- autoupdate -

-
-

- Изменяет файл configure.in, - вызывающий макросы autoconf по их старым - именам для использования текущих имен макросов -

-
-

- ifnames -

-
-

- Помогает при написании файла configure.in для пакета; выводит - идентификаторы, которые использует пакет в условных - выражениях препроцессора C. (Если пакет уже был настроен - для некоторой переносимости, эта программа может помочь - определить, что нужно проверить сценарию configure. Он также - может заполнить пробелы в файле configure.in, сгенерированном командой - autoscan.) -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/automake.html b/lfs-12.1-sysv/chapter08/automake.html deleted file mode 100644 index 59638aa..0000000 --- a/lfs-12.1-sysv/chapter08/automake.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - 8.46. Automake-1.16.5 - - - - - - - - -

- 8.46. - Automake-1.16.5 -

-
-
-

- Пакет Automake содержит программы генерации Makefile для - использования с Autoconf. -

-
-
-
- Приблизительное время сборки: - менее 0.1 SBU (около 1.6 SBU с - тестами) -
-
- Требуемое дисковое - пространство: 115 MB -
-
-
-
-
-

- 8.46.1. Установка пакета Automake -

-

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

-
./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.16.5
-

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

-
make
-

- Использование четырех параллельных заданий ускоряет тестирование - даже на системах с меньшим количеством логических ядер из-за - внутренних задержек в отдельных тестах. Чтобы протестировать пакет, - выполните: -

-
make -j$(($(nproc)>4?$(nproc):4)) check
-

- Замените $((...)) - количеством логических ядер, которые вы хотите использовать, если - вы не планируете использовать все. -

-

- Известно, что тест t/subobj.sh не проходит. -

-

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

-
make install
-
-
-

- 8.46.2. - Содержимое пакета Automake -

-
-
-
- Установленные программы: - aclocal, aclocal-1.16 (жестко связан с - aclocal), automake, и automake-1.16 (жестко связан с - automake) -
-
- Созданные каталоги: - /usr/share/aclocal-1.16, - /usr/share/automake-1.16, и - /usr/share/doc/automake-1.16.5 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- aclocal -

-
-

- Генерирует файлы aclocal.m4 - на основе содержимого файла configure.in -

-
-

- aclocal-1.16 -

-
-

- Жесткая ссылка на aclocal -

-
-

- automake -

-
-

- Инструмент для автоматического создания Makefile.in из файлов Makefile.am [Чтобы создать все файлы - Makefile.in запустите эту - программу в каталоге верхнего уровня. Сканируя файл - configure.in, он - автоматически находит все подходящие файлы Makefile.am и создает соответствующий - Makefile.in.] -

-
-

- automake-1.16 -

-
-

- Жесткая ссылка на automake -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/bash.html b/lfs-12.1-sysv/chapter08/bash.html deleted file mode 100644 index f88fbe5..0000000 --- a/lfs-12.1-sysv/chapter08/bash.html +++ /dev/null @@ -1,270 +0,0 @@ - - - - - - 8.35. Bash-5.2.21 - - - - - - - - -

- 8.35. Bash-5.2.21 -

-
-
-

- Пакет Bash содержит Bourne-Again Shell. -

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

- 8.35.1. Установка пакета Bash -

-

- Во-первых, исправьте некоторые проблемы, выявленные разработчиками: -

-
patch -Np1 -i ../bash-5.2.21-upstream_fixes-1.patch
-

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

-
./configure --prefix=/usr             \
-            --without-bash-malloc     \
-            --with-installed-readline \
-            --docdir=/usr/share/doc/bash-5.2.21
-
-

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

-
-
- --with-installed-readline -
-
-

- Этот параметр указывает Bash использовать библиотеку - readline, которая уже - установлена в системе, а не собственную версию readline. -

-
-
-
-

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

-
make
-

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

-

- Перед запуском тестов, убедитесь, что пользователь tester может писать в каталог с исходниками: -

-
chown -R tester .
-

- Набор тестов пакета предназначен для запуска пользователем без - полномочий root, которому принадлежит терминал, подключенный к - стандартному вводу. Чтобы удовлетворить это требование, создайте - новый псевдотерминал с помощью Expect и запустите тесты от имени пользователя - tester: -

-
su -s /usr/bin/expect tester << "EOF"
-set timeout -1
-spawn make tests
-expect eof
-lassign [wait] _ _ _ value
-exit $value
-EOF
-

- Набор тестов использует diff для определения разницы - между выводом тестового сценария и ожидаемым результатом. Любой - вывод diff (с - префиксом < и >) указывает на сбой теста, если нет - сообщение о том, что различия можно проигнорировать. Известно, что - один тест с именем run-builtins не - работает на некоторых хост-дистрибутивах, указывая на различия в - первой строке выходных данных. -

-

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

-
make install
-

- Запустите только что скомпилированную программу bash (заменив ту, которая - выполняется в данный момент): -

-
exec /usr/bin/bash --login
-
-
-

- 8.35.2. Содержимое - пакета Bash -

-
-
-
- Установленные программы: - bash, bashbug и sh (ссылка на - bash) -
-
- Созданные каталоги: - /usr/include/bash, /usr/lib/bash, and - /usr/share/doc/bash-5.2.21 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- bash -

-
-

- Широко распространенный командный интерпретатор. - Выполняет различные дополнения и подстановки в переданной - командной строке перед её выполнением, что делает этот - интерпретатор мощным инструментом -

-
-

- bashbug -

-
-

- Скрипт, помогающий пользователю составлять и отправлять - по почте отчеты об ошибках bash -

-
-

- sh -

-
-

- Симлинк на программу bash; при вызове - sh, - bash - пытается максимально точно имитировать поведение - sh, при - этом также соответствуя стандарту POSIX. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/bc.html b/lfs-12.1-sysv/chapter08/bc.html deleted file mode 100644 index 528b4d0..0000000 --- a/lfs-12.1-sysv/chapter08/bc.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - 8.13. Bc-6.7.5 - - - - - - - - -

- 8.13. Bc-6.7.5 -

-
-
-

- Пакет Bc содержит язык для обработки чисел произвольной точности. -

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

- 8.13.1. Установка пакета Bc -

-

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

-
CC=gcc ./configure --prefix=/usr -G -O3 -r
-
-

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

-
-
- CC=gcc -
-
-

- Этот параметр определяет используемый компилятор -

-
-
- -G -
-
-

- Пропускает часть тестов, которые не будут работать, пока не - будет установлена программа bc. -

-
-
- -O3 -
-
-

- Указывает используемый уровень оптимизации. -

-
-
- -r -
-
-

- Включает использование Readline для улучшения функции - редактирования строк в bc. -

-
-
-
-

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

-
make
-

- Чтобы протестировать bc, запустите: -

-
make test
-

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

-
make install
-
-
-

- 8.13.2. Содержимое - пакета Bc -

-
-
-
- Установленные программы: - bc и dc -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- bc -

-
-

- Калькулятор командной строки -

-
-

- dc -

-
-

- Калькулятор командной строки с обратной польской нотацией -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/binutils.html b/lfs-12.1-sysv/chapter08/binutils.html deleted file mode 100644 index e122a4f..0000000 --- a/lfs-12.1-sysv/chapter08/binutils.html +++ /dev/null @@ -1,642 +0,0 @@ - - - - - - 8.19. Binutils-2.42 - - - - - - - - -

- 8.19. - Binutils-2.42 -

-
-
-

- Пакет Binutils содержит компоновщик, ассемблер и другие инструменты - для работы с объектными файлами. -

-
-
-
- Приблизительное время сборки: - 2.2 SBU -
-
- Требуемое дисковое - пространство: 2.7 GB -
-
-
-
-
-

- 8.19.1. Установка пакета Binutils -

-

- Документация Binutils рекомендует выполнять компиляцию в отдельном - каталоге: -

-
mkdir -v build
-cd       build
-

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

-
../configure --prefix=/usr       \
-             --sysconfdir=/etc   \
-             --enable-gold       \
-             --enable-ld=default \
-             --enable-plugins    \
-             --enable-shared     \
-             --disable-werror    \
-             --enable-64-bit-bfd \
-             --with-system-zlib  \
-             --enable-default-hash-style=gnu
-
-

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

-
-
- --enable-gold -
-
-

- Собирает компоновщик gold и устанавливает его как ld.gold - (вместе с компоновщиком по умолчанию). -

-
-
- --enable-ld=default -
-
-

- Собирает оригинальный компоновщик bfd и устанавливает его как - ld (компоновщик по умолчанию) и как ld.bfd -

-
-
- --enable-plugins -
-
-

- Включает поддержку плагинов для компоновщика. -

-
-
- --with-system-zlib -
-
-

- Указывает, что необходимо использовать установленную - библиотеку zlib вместо сборки собственной. -

-
-
-
-

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

-
make tooldir=/usr
-
-

- Значение параметра make: -

-
-
- tooldir=/usr -
-
-

- Обычно для tooldir (каталога, в котором будут расположены - исполняемые файлы) установлено значение $(exec_prefix)/$(target_alias). Например, - машины x86_64 преобразуют это значение в /usr/x86_64-unknown-linux-gnu. Поскольку - это пользовательская система, то целевой каталог в - /usr не требуется. Параметр - $(exec_prefix)/$(target_alias) - использовался, если бы система применялась для - кросс-компиляции (например, при компиляции пакета на - компьютере Intel, который генерирует код, который может быть - выполнен на компьютерах PowerPC). -

-
-
-
-
- [Важно] -

- Важно -

-

- Набор тестов для Binutils в этом разделе считается критически - важным. Ни в коем случае не пропускайте его. -

-
-

- Выполните тестирование: -

-
make -k check
-

- Чтобы получить список неудачных тестов, запустите: -

-
grep '^FAIL:' $(find -name '*.log')
-

- Двенадцать тестов завершаются неудачно в наборе тестов gold, когда - GCC собирается с параметрами --enable-default-pie и --enable-default-ssp. -

-

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

-
make tooldir=/usr install
-

- Удалите бесполезные статические библиотеки: -

-
rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
-
-
-

- 8.19.2. - Содержимое пакета Binutils -

-
-
-
- Установленные программы: - addr2line, ar, as, c++filt, dwp, elfedit, - gprof, gprofng, ld, ld.bfd, ld.gold, nm, objcopy, objdump, - ranlib, readelf, size, strings и strip -
-
- Установленные библиотеки: - libbfd.so, libctf.so, libctf-nobfd.so, - libgprofng.so, libopcodes.so и libsframe.so -
-
- Созданные каталоги: - /usr/lib/ldscripts -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- addr2line -

-
-

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

-
-

- ar -

-
-

- Создаёт, изменяет и распаковывает архивы -

-
-

- as -

-
-

- Ассемблер, который собирает результат работы gcc в объектные файлы -

-
-

- c++filt -

-
-

- Используется компоновщиком для исправления символов C++ и - Java и предотвращения конфликтов перегруженных функций. -

-
-

- dwp -

-
-

- Утилита для упаковки DWARF -

-
-

- elfedit -

-
-

- Обновляет ELF заголовки в ELF файлах -

-
-

- gprof -

-
-

- Отображает в графическом виде информацию о профилировании -

-
-

- gprofng -

-
-

- Собирает и анализирует данные о производительности -

-
-

- ld -

-
-

- Компоновщик, который объединяет несколько объектных и - архивных файлов в один файл, перемещая их данные и - связывая символическими ссылками -

-
-

- ld.gold -

-
-

- Урезанная версия ld, которая поддерживает только формат - объектных файлов elf -

-
-

- ld.bfd -

-
-

- Жесткая ссылка на ld -

-
-

- nm -

-
-

- Выводит список символов, используемых в данном объектном - файле -

-
-

- objcopy -

-
-

- Преобразует один тип объектного файла в другой -

-
-

- objdump -

-
-

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

-
-

- ranlib -

-
-

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

-
-

- readelf -

-
-

- Отображает информацию о двоичных файлах типа ELF -

-
-

- size -

-
-

- Отображает размеры секций и общий размер указанных - объектных файлов -

-
-

- strings -

-
-

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

-
-

- strip -

-
-

- Удаляет символы из объектных файлов -

-
-

- libbfd -

-
-

- Библиотека дескрипторов двоичных файлов -

-
-

- libctf -

-
-

- Библиотека отладки формата Compat ANSI-C Type -

-
-

- libctf-nobfd -

-
-

- Вариант libctf, не использующий функциональность libbfd. -

-
-

- libgprofng -

-
-

- Библиотека, содержащая большинство подпрограмм, - используемых gprofng -

-
-

- libopcodes -

-
-

- Библиотека для работы с опкодами—«читаемыми» - версиями инструкций для процессора. Используется для - сборки таких утилит как objdump -

-
-

- libsframe -

-
-

- Библиотека для поддержки обратной онлайн-трассировки с - использованием простого декодера разделов .sframe. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/bison.html b/lfs-12.1-sysv/chapter08/bison.html deleted file mode 100644 index 524938c..0000000 --- a/lfs-12.1-sysv/chapter08/bison.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - 8.33. Bison-3.8.2 - - - - - - - - -

- 8.33. Bison-3.8.2 -

-
-
-

- Пакет Bison содержит генератор синтаксического анализа. -

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

- 8.33.1. Установка пакета Bison -

-

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

-
./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2
-

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

-
make
-

- Для тестирования пакета (около 5,5 SBU), выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.33.2. Содержимое - пакета Bison -

-
-
-
- Установленные программы: - bison и yacc -
-
- Установленные библиотеки: - liby.a -
-
- Созданные каталоги: - /usr/share/bison -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- bison -

-
-

- Генерирует из набора правил программу для анализа - структуры текстовых файлов; Bison является заменой Yacc - (Yet Another Compiler Compiler) -

-
-

- yacc -

-
-

- Обертка для bison, предназначенная - для программ, которые до сих пор вызывают yacc вместо - bison; он - вызывает bison с параметром - -y -

-
-

- liby -

-
-

- Библиотека Yacc, содержащая реализации Yacc-совместимых - функций yyerror и - main; обычно эта библиотека - не очень нужна, но требуется POSIX -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/bzip2.html b/lfs-12.1-sysv/chapter08/bzip2.html deleted file mode 100644 index 8432109..0000000 --- a/lfs-12.1-sysv/chapter08/bzip2.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - 8.7. Bzip2-1.0.8 - - - - - - - - -

- 8.7. Bzip2-1.0.8 -

-
-
-

- Пакет Bzip2 содержит программы для сжатия и распаковки файлов. - Сжатие текстовых файлов с помощью bzip2 даёт больший процент - сжатия, чем традиционный gzip. -

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

- 8.7.1. Установка пакета Bzip2 -

-

- Примените патч, который установит документацию для этого пакета: -

-
patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch
-

- Следующая команда гарантирует установку символических ссылок с - относительным путём: -

-
sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
-

- Убедитесь, что справочные страницы установлены в правильном месте: -

-
sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile
-

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

-
make -f Makefile-libbz2_so
-make clean
-
-

- Значение параметра make: -

-
-
- -f - Makefile-libbz2_so -
-
-

- Этот параметр позволяет выполнить сборку, с использованием - другого Makefile, в данном - случае Makefile-libbz2_so, - который создает динамическую библиотеку libbz2.so и связывает с ней Bzip2. -

-
-
-
-

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

-
make
-

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

-
make PREFIX=/usr install
-

- Установите библиотеку: -

-
cp -av libbz2.so.* /usr/lib
-ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so
-

- Установите общий бинарный файл bzip2 в каталог /usr/bin, и замените две копии bzip2 символическими ссылками: -

-
cp -v bzip2-shared /usr/bin/bzip2
-for i in /usr/bin/{bzcat,bunzip2}; do
-  ln -sfv bzip2 $i
-done
-

- Удалите ненужную статическую библиотеку: -

-
rm -fv /usr/lib/libbz2.a
-
-
-

- 8.7.2. Содержимое - пакета Bzip2 -

-
-
-
- Установленные программы: - bunzip2 (ссылка на bzip2), bzcat (ссылка - на bzip2), bzcmp (ссылка на bzdiff), bzdiff, bzegrep (ссылка на - bzgrep), bzfgrep (ссылка на bzgrep), bzgrep, bzip2, - bzip2recover, bzless (ссылка на bzmore) и bzmore -
-
- Установленные библиотеки: - libbz2.so -
-
- Созданные каталоги: - /usr/share/doc/bzip2-1.0.8 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- bunzip2 -

-
-

- Распаковывает bzip-файлы -

-
-

- bzcat -

-
-

- Распаковывает в поток стандартного вывода -

-
-

- bzcmp -

-
-

- Запускает программу cmp для bzip файлов -

-
-

- bzdiff -

-
-

- Запускает программу diff для bzip файлов -

-
-

- bzegrep -

-
-

- Запускает программу egrep для bzip файлов -

-
-

- bzfgrep -

-
-

- Запускает программу fgrep для bzip файлов -

-
-

- bzgrep -

-
-

- Запускает программу grep для bzip файлов -

-
-

- bzip2 -

-
-

- Сжимает файлы, используя алгоритм сжатия текста с блочной - сортировкой Барроуза — Уилера и кодирование Хафмана; - степень сжатия лучше, чем у более традиционных - архиваторов, использующих алгоритмы «Lempel-Ziv», - например gzip -

-
-

- bzip2recover -

-
-

- Пытается восстанавливать данные из поврежденных архивов -

-
-

- bzless -

-
-

- Запускает программу less для bzip файлов -

-
-

- bzmore -

-
-

- Запускает программу more для bzip файлов -

-
-

- libbz2 -

-
-

- Библиотека, реализующая сжатие данных без потерь с - использованием алгоритма Барроуза-Уилера. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/chapter08.html b/lfs-12.1-sysv/chapter08/chapter08.html deleted file mode 100644 index c0eef2c..0000000 --- a/lfs-12.1-sysv/chapter08/chapter08.html +++ /dev/null @@ -1,340 +0,0 @@ - - - - - - Глава 8. Установка базового системного программного обеспечения - - - - - - - - -

- 8. - Установка базового системного программного обеспечения -

-
-
-

- Содержание -

- -
-
- - - diff --git a/lfs-12.1-sysv/chapter08/check.html b/lfs-12.1-sysv/chapter08/check.html deleted file mode 100644 index 554c3d3..0000000 --- a/lfs-12.1-sysv/chapter08/check.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - 8.58. Check-0.15.2 - - - - - - - - -

- 8.58. Check-0.15.2 -

-
-
-

- Check - это фреймворк модульного тестирования для языка C. -

-
-
-
- Приблизительное время сборки: - 0.1 SBU (около 1.6 SBU с тестами) -
-
- Требуемое дисковое - пространство: 12 MB -
-
-
-
-
-

- 8.58.1. Установка пакета Check -

-

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

-
./configure --prefix=/usr --disable-static
-

- Соберите пакет: -

-
make
-

- Когда компиляция будет завершена, запустите набор тестов: -

-
make check
-

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

-
make docdir=/usr/share/doc/check-0.15.2 install
-
-
-

- 8.58.2. Содержимое - пакета Check -

-
-
-
- Установленные программы: - checkmk -
-
- Установленные библиотеки: - libcheck.so -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- checkmk -

-
-

- Сценарий Awk для генерации unit-тестов C, для - использования с платформой модульного тестирования Check. -

-
-

- libcheck.so -

-
-

- Содержит функции, позволяющие вызывать Check из программы - тестирования. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/cleanup.html b/lfs-12.1-sysv/chapter08/cleanup.html deleted file mode 100644 index dad2d37..0000000 --- a/lfs-12.1-sysv/chapter08/cleanup.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - 8.84. Очистка - - - - - - - - -

- 8.84. Очистка -

-
-

- Наконец, удалите некоторые лишние файлы, оставшиеся после запуска - тестов: -

-
rm -rf /tmp/*
-

- Также в каталогах /usr/lib и /usr/libexec есть несколько файлов с - расширением .la. Это файлы «архива libtool». Как было сказано ранее, в - современной системе Linux файлы .la libtool необходимы только для - libltdl. Предполагается, что libltdl не будет загружать библиотеки в - LFS, кроме этого известно, что некоторые файлы .la могут нарушить - сборку пакетов BLFS. Удалите эти файлы сейчас: -

-
find /usr/lib /usr/libexec -name \*.la -delete
-

- Дополнительные сведения об архивных файлах Libtool смотрите в книге - BLFS - "О файлах Libtool Archive (.la)". -

-

- Компилятор, собранный в Глава 6 и - - Глава 7 все еще установлен, но больше не нужен. Удалите его - с помощью команды: -

-
find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf
-

- Наконец, удалите временную учетную запись пользователя 'tester', - созданную в начале предыдущей главы. -

-
userdel -r tester
-
- - - diff --git a/lfs-12.1-sysv/chapter08/coreutils.html b/lfs-12.1-sysv/chapter08/coreutils.html deleted file mode 100644 index 3297290..0000000 --- a/lfs-12.1-sysv/chapter08/coreutils.html +++ /dev/null @@ -1,1796 +0,0 @@ - - - - - - 8.57. Coreutils-9.4 - - - - - - - - -

- 8.57. - Coreutils-9.4 -

-
-
-

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

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

- 8.57.1. Установка пакета Coreutils -

-

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

-
patch -Np1 -i ../coreutils-9.4-i18n-1.patch
-
- [Примечание] -

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

-

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

-
-

- Исправьте уязвимость в утилите split: -

-
sed -e '/n_out += n_hold/,+4 s|.*bufsize.*|//&|' \
-    -i src/split.c
-

- Теперь подготовьте 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 . 
-

- Теперь запустите тесты: -

-
su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"
-

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

-
groupdel dummy
-

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

-
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.57.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 -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/dejagnu.html b/lfs-12.1-sysv/chapter08/dejagnu.html deleted file mode 100644 index e02e58a..0000000 --- a/lfs-12.1-sysv/chapter08/dejagnu.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - 8.17. DejaGNU-1.6.3 - - - - - - - - -

- 8.17. - DejaGNU-1.6.3 -

-
-
-

- Пакет DejaGnu содержит фреймворк - для запуска наборов тестов на инструментах GNU. Он написан на - expect, который в - свою очередь использует Tcl - (командный язык инструментов). -

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

- 8.17.1. Установка пакета DejaGNU -

-

- Разработчики рекомендуют собирать DejaGNU в отдельном каталоге: -

-
mkdir -v build
-cd       build
-

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

-
../configure --prefix=/usr
-makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi
-makeinfo --plaintext       -o doc/dejagnu.txt  ../doc/dejagnu.texi
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-install -v -dm755  /usr/share/doc/dejagnu-1.6.3
-install -v -m644   doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-1.6.3
-
-
-

- 8.17.2. - Содержимое пакета DejaGNU -

-
-
-
- Установленные программы: - dejagnu и runtest -
-
-
-
-

- Short Descriptions -

- - - - - - - - - - - - - - - -
-

- dejagnu -

-
-

- Вспомогательная программа запуска команд DejaGNU -

-
-

- runtest -

-
-

- Скрипт-обертка, который находит соответствующую оболочку - expect и - запускает DejaGnu -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/diffutils.html b/lfs-12.1-sysv/chapter08/diffutils.html deleted file mode 100644 index e665448..0000000 --- a/lfs-12.1-sysv/chapter08/diffutils.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - 8.59. Diffutils-3.10 - - - - - - - - -

- 8.59. - Diffutils-3.10 -

-
-
-

- Пакет Diffutils содержит программы, которые показывают различия - между файлами или каталогами. -

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

- 8.59.1. Установка пакета Diffutils -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестровать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.59.2. - Содержимое пакета Diffutils -

-
-
-
- Установленные программы: - cmp, diff, diff3, и sdiff -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- cmp -

-
-

- Сравнивает побайтно два файла и сообщает о любых - различиях -

-
-

- diff -

-
-

- Сравнивает два файла или каталога и сообщает, какие - строки отличаются -

-
-

- diff3 -

-
-

- Сравнивает три файла построчно -

-
-

- sdiff -

-
-

- Объединяет два файла и интерактивно выводит результат -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/e2fsprogs.html b/lfs-12.1-sysv/chapter08/e2fsprogs.html deleted file mode 100644 index 2021def..0000000 --- a/lfs-12.1-sysv/chapter08/e2fsprogs.html +++ /dev/null @@ -1,775 +0,0 @@ - - - - - - 8.79. E2fsprogs-1.47.0 - - - - - - - - -

- 8.79. - E2fsprogs-1.47.0 -

-
-
-

- Пакет E2fsprogs содержит утилиты для работы с файловой системой - ext2. Также он поддерживает - журналируемые файловые системы ext3 - и ext4. -

-
-
-
- Приблизительное время сборки: - 2.4 SBU на жестком диске, 0.4 SBU на SSD - диске -
-
- Требуемое дисковое - пространство: 95 MB -
-
-
-
-
-

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

-

- В документации к E2fsprogs рекомендуется выполнять сборку в - подкаталоге папки с исходниками: -

-
mkdir -v build
-cd       build
-

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

-
../configure --prefix=/usr           \
-             --sysconfdir=/etc       \
-             --enable-elf-shlibs     \
-             --disable-libblkid      \
-             --disable-libuuid       \
-             --disable-uuidd         \
-             --disable-fsck
-
-

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

-
-
- --enable-elf-shlibs -
-
-

- Параметр создает общие библиотеки, которые используют - некоторые программы в этом пакете. -

-
-
- --disable-* -
-
-

- Эти параметры предотвращают сборку и установку библиотек - libuuid и libblkid, демона uuidd, и обертку для fsck, поскольку util-linux - устанавливает более свежие версии. -

-
-
-
-

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

-
make
-

- Чтобы запустить тесты, выполните: -

-
make check
-

- Известно, что один тест, с именем m_assume_storage_prezeroed, завершается ошибкой. -

-

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

-
make install
-

- Удалите ненужные статические библиотеки: -

-
rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a
-

- Этот пакет устанавливает сжатый файл .info но не обновляет общесистемный файл - dir. Разархивируйте этот файл, а - затем обновите системный файл dir, - используя следующие команды: -

-
gunzip -v /usr/share/info/libext2fs.info.gz
-install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info
-

- По желанию, создайте и установите дополнительную документацию, - выполнив следующие команды: -

-
makeinfo -o      doc/com_err.info ../lib/et/com_err.texinfo
-install -v -m644 doc/com_err.info /usr/share/info
-install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info
-
-
-

- 8.79.2. Настройка - E2fsprogs -

-

- Файл /etc/mke2fs.conf содержит - значения по умолчанию для различных параметров командной строки - mke2fs. Вы можете - отредактировать файл, чтобы значения по умолчанию соответствовали - вашим потребностям. Например, некоторые утилиты (не в LFS или BLFS) - не могут распознать файловую систему ext4 с включенным параметром metadata_csum_seed. Если вам нужна такая утилита, вы - можете удалить параметр из списка по умолчанию для ext4 с помощью команды: -

-
sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf
-

- Подробности читайте на странице руководства mke2fs.conf(5). -

-
-
-

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

-
-
-
- Установленные программы: - badblocks, chattr, compile_et, debugfs, - dumpe2fs, e2freefrag, e2fsck, e2image, e2label, e2mmpstatus, - e2scrub, e2scrub_all, e2undo, e4crypt, e4defrag, filefrag, - fsck.ext2, fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, - mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found, - resize2fs и tune2fs -
-
- Установленные библиотеки: - libcom_err.so, libe2p.so, libext2fs.so, и - libss.so -
-
- Созданные каталоги: - /usr/include/e2p, /usr/include/et, - /usr/include/ext2fs, /usr/include/ss, /usr/lib/e2fsprogs, - /usr/share/et и /usr/share/ss -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- badblocks -

-
-

- Выполняет поиск поврежденных блоков на устройстве (обычно - на разделе диска) -

-
-

- chattr -

-
-

- Изменяет атрибуты файлов в файловых системах ext{234} -

-
-

- compile_et -

-
-

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

-
-

- debugfs -

-
-

- Отладчик файловой системы; его можно использовать для - проверки и изменения состояния файловых систем - ext{234} -

-
-

- dumpe2fs -

-
-

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

-
-

- e2freefrag -

-
-

- Сообщает информацию о фрагментации свободного - пространства -

-
-

- e2fsck -

-
-

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

-
-

- e2image -

-
-

- Используется для сохранения важных данных файловых систем - ext{234} в файл -

-
-

- e2label -

-
-

- Отображает или изменяет метку файловой системы в файловой - системе ext{234} на - данном устройстве. -

-
-

- e2mmpstatus -

-
-

- Проверяет состояние MMP (Multiple Mount Protection - - защита от множественного монтирования) файловой системы - ext4 -

-
-

- e2scrub -

-
-

- Проверяет содержимое смонтированной файловой системы - ext{234} -

-
-

- e2scrub_all -

-
-

- Проверяет все смонтированные файловые системы - ext{234} на наличие - ошибок -

-
-

- e2undo -

-
-

- Воспроизводит журнал отмены (undo_log) для файловой - системы ext{234}, - обнаруженной на устройстве. [Это можно использовать для - отмены неудачной операции программой E2fsprogs.] -

-
-

- e4crypt -

-
-

- Утилита шифрования файловой системы Ext4 -

-
-

- e4defrag -

-
-

- Онлайн дефрагментатор для файловой системы ext4 -

-
-

- filefrag -

-
-

- Сообщает о том, насколько сильно может быть - фрагментирован конкретный файл -

-
-

- fsck.ext2 -

-
-

- По умолчанию проверяет файловые системы ext2 и является жесткой ссылкой на - e2fsck -

-
-

- fsck.ext3 -

-
-

- По умолчанию проверяет файловые системы ext3 и является жесткой ссылкой на - e2fsck -

-
-

- fsck.ext4 -

-
-

- По умолчанию проверяет файловые системы ext4 и является жесткой ссылкой на - e2fsck -

-
-

- logsave -

-
-

- Сохраняет вывод команды в файл журнала -

-
-

- lsattr -

-
-

- Перечисляет атрибуты файлов во второй расширенной - файловой системе. -

-
-

- mk_cmds -

-
-

- Преобразует таблицу имен команд и справочных сообщений в - исходный файл C, подходящий для использования с - библиотекой подсистемы libss -

-
-

- mke2fs -

-
-

- Создает файловую систему ext{234} на указанном устройстве -

-
-

- mkfs.ext2 -

-
-

- По умолчанию создает файловую систему ext2 и является жесткой ссылкой на - mke2fs -

-
-

- mkfs.ext3 -

-
-

- По умолчанию создает файловую систему ext3 и является жесткой ссылкой на - mke2fs -

-
-

- mkfs.ext4 -

-
-

- По умолчанию создает файловую систему ext4 и является жесткой ссылкой на - mke2fs -

-
-

- mklost+found -

-
-

- Используется для создания каталога lost+found в файловой системе - ext{234}; предварительно - выделяет дисковые блоки для этого каталога, чтобы - облегчить задачу e2fsck -

-
-

- resize2fs -

-
-

- Может использоваться для увеличения или уменьшения - файловой системы ext{234} -

-
-

- tune2fs -

-
-

- Позволяет настроить параметры для файловой системы - ext{234} -

-
-

- libcom_err -

-
-

- Стандартная процедура отображения ошибок -

-
-

- libe2p -

-
-

- Используется dumpe2fs, chattr, и lsattr -

-
-

- libext2fs -

-
-

- Содержит подпрограммы, позволяющие программам - пользовательского уровня управлять файловой системой - ext{234} -

-
-

- libss -

-
-

- Используется debugfs -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/expat.html b/lfs-12.1-sysv/chapter08/expat.html deleted file mode 100644 index 2ae3453..0000000 --- a/lfs-12.1-sysv/chapter08/expat.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - 8.39. Expat-2.6.0 - - - - - - - - -

- 8.39. Expat-2.6.0 -

-
-
-

- Пакет Expat содержит потоковую библиотеку C для синтаксического - анализа XML -

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

- 8.39.1. Установка пакета Expat -

-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --docdir=/usr/share/doc/expat-2.6.0
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-

- По желанию установите документацию: -

-
install -v -m644 doc/*.{html,css} /usr/share/doc/expat-2.6.0
-
-
-

- 8.39.2. Содержимое - пакета Expat -

-
-
-
- Установленные программы: - xmlwf -
-
- Установленные библиотеки: - libexpat.so -
-
- Созданные каталоги: - /usr/share/doc/expat-2.6.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- xmlwf -

-
-

- Утилита проверки правильности формирования XML документов -

-
-

- libexpat -

-
-

- Содержит функции API для синтаксического анализа XML -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/expect.html b/lfs-12.1-sysv/chapter08/expect.html deleted file mode 100644 index bcab4a2..0000000 --- a/lfs-12.1-sysv/chapter08/expect.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - 8.16. Expect-5.45.4 - - - - - - - - -

- 8.16. - Expect-5.45.4 -

-
-
-

- Пакет Expect содержит инструменты - для автоматизации работы интерактивных приложений, таких как - telnet, ftp, passwd, fsck, rlogin и tip, с помощью скриптовых - диалогов и макросов. Кроме того Expect полезен для тестирования перечисленных - выше приложений, а также для решения сложных задач взаимодействия с - другими средствами. Фреймворк DejaGnu написан на языке Expect. -

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

- 8.16.1. Установка пакета Expect -

-

- Expect для работы необходим псевдотерминал(PTY). Убедитесь, что PTY - работают правильно в среде chroot, выполнив простой тест: -

-
python3 -c 'from pty import spawn; spawn(["echo", "ok"])'
-

- Эта команда должна вывести ok. - Если вместо этого вывод содержит OSError: out of pty devices, то среда не - настроена для правильной работы PTY. Вам необходимо выйти из среды - chroot, ещё раз прочитать Раздел 7.3, - «Подготовка виртуальных файловых систем ядра» и убедиться, что - файловая система devpts (и другие - файловые системы виртуального ядра) смонтирована правильно. Затем - повторно войдите в среду chroot, следуя инструкции Раздел 7.4, «Вход в окружение - Chroot». Эту проблему необходимо решить, прежде чем вы - продолжите, иначе наборы тестов, зависимые от Expect (например, - наборы тестов Bash, Binutils, GCC, GDBM и, конечно, самого Expect), - потерпят фатальный сбой, а также могут произойти другие - незначительные сбои. -

-

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

-
./configure --prefix=/usr           \
-            --with-tcl=/usr/lib     \
-            --enable-shared         \
-            --mandir=/usr/share/man \
-            --with-tclinclude=/usr/include
-
-

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

-
-
- --with-tcl=/usr/lib -
-
-

- Этот параметр необходим для указания configure где находится - скрипт tclConfig.sh. -

-
-
- --with-tclinclude=/usr/include -
-
-

- Этот параметр явно указывает Expect, где искать внутренние - заголовки Tcl. -

-
-
-
-

- Соберите пакет: -

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make test
-

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

-
make install
-ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib
-
-
-

- 8.16.2. - Содержимое пакета Expect -

-
-
-
- Установленные программы: - expect -
-
- Установленные библиотеки: - libexpect5.45.4.so -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- expect -

-
-

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

-
-

- libexpect-5.45.4.so -

-
-

- Содержит функции, которые позволяют использовать Expect в - качестве расширения Tcl или непосредственно из C или C++ - (без Tcl). -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/file.html b/lfs-12.1-sysv/chapter08/file.html deleted file mode 100644 index 86ae824..0000000 --- a/lfs-12.1-sysv/chapter08/file.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - 8.10. File-5.45 - - - - - - - - -

- 8.10. File-5.45 -

-
-
-

- Пакет File содержит утилиту для определения типа указанного файла - или файлов -

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

- 8.10.1. Установка пакета File -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.10.2. Содержимое - пакета File -

-
-
-
- Установленные программы: - file -
-
- Установленные библиотеки: - libmagic.so -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- file -

-
-

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

-
-

- libmagic -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/findutils.html b/lfs-12.1-sysv/chapter08/findutils.html deleted file mode 100644 index 24e090e..0000000 --- a/lfs-12.1-sysv/chapter08/findutils.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - 8.61. Findutils-4.9.0 - - - - - - - - -

- 8.61. - Findutils-4.9.0 -

-
-
-

- Пакет Findutils содержит программы для поиска файлов. Эти программы - предназначены для поиска по всем файлам в дереве каталогов, а также - для создания, обслуживания и поиска в базе данных (часто быстрее, - чем рекурсивный поиск, но ненадежно, если база данных давно не - обновлялась).Findutils также предоставляет программу xargs, которую можно использовать - для запуска указанной команды для каждого файла, выбранного при - поиске. -

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

- 8.61.1. Установка пакета Findutils -

-

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

-
./configure --prefix=/usr --localstatedir=/var/lib/locate
-
-

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

-
-
- --localstatedir -
-
-

- Этот параметр перемещает базу данных команды locate в /var/lib/locate, что соответствует - расположению, совместимому со стандартом FHS. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
chown -R tester .
-su tester -c "PATH=$PATH make check"
-

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

-
make install
-
-
-

- 8.61.2. - Содержимое пакета Findutils -

-
-
-
- Installed programs: - Установленные программы -
-
- Созданные каталоги: - /var/lib/locate -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- find -

-
-

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

-
-

- locate -

-
-

- Выполняет поиск по базе данных имен файлов и сообщает об - именах, которые содержат заданную строку или - соответствуют заданному шаблону. -

-
-

- updatedb -

-
-

- Обновляет базу данных locate; сканирует всю - файловую систему (включая другие файловые системы, - которые в настоящее время смонтированы, если не указано - иное) и записывает найденные имена файлов в базу данных -

-
-

- xargs -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/flex.html b/lfs-12.1-sysv/chapter08/flex.html deleted file mode 100644 index 0f1eb70..0000000 --- a/lfs-12.1-sysv/chapter08/flex.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - 8.14. Flex-2.6.4 - - - - - - - - -

- 8.14. Flex-2.6.4 -

-
-
-

- Пакет Flex содержит инструмент для генерации программ, распознающих - заданные шаблоны в тексте -

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

- 8.14.1. Установка пакета Flex -

-

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

-
./configure --prefix=/usr \
-            --docdir=/usr/share/doc/flex-2.6.4 \
-            --disable-static
-

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

-
make
-

- Для тестирования пакета (около 0,5 SBU) выполните: -

-
make check
-

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

-
make install
-

- Некоторые программы пока не знают о flex и пытаются запустить его - предшественника - lex. Чтобы обеспечить их - работоспособность, создайте символическую ссылку lex, которая запускает - flex в режиме эмуляции lex, а также создайте - символическую ссылку на справочную страницу lex: -

-
ln -sv flex   /usr/bin/lex
-ln -sv flex.1 /usr/share/man/man1/lex.1
-
-
-

- 8.14.2. Содержимое - пакета Flex -

-
-
-
- Установленные программы: - flex, flex++ (ссылка на flex), и lex - (ссылка на flex) -
-
- Установленные библиотеки: - libfl.so -
-
- Созданные каталоги: - /usr/share/doc/flex-2.6.4 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- flex -

-
-

- Инструмент для создания программ, распознающих текст по - шаблону; это позволяет гибко указывать правила поиска - паттернов, устраняя необходимость разработки - специализированной программы. -

-
-

- flex++ -

-
-

- Расширение flex используется для генерации кода и классов - C++. Является символической ссылкой на flex -

-
-

- lex -

-
-

- Символическая ссылка, запускает flex в режиме эмуляции - lex -

-
-

- libfl -

-
-

- Библиотека flex -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/flit-core.html b/lfs-12.1-sysv/chapter08/flit-core.html deleted file mode 100644 index 4136b9c..0000000 --- a/lfs-12.1-sysv/chapter08/flit-core.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - 8.52. Flit-Core-3.9.0 - - - - - - - - -

- 8.52. - Flit-Core-3.9.0 -

-
-
-

- Flit-core — это часть Flit, предназначенная для сборки дистрибутива - (инструмента для упаковки простых модулей Python). -

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

- 8.52.1. Установка пакета Flit-Core -

-

- Соберите пакет: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

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

-
pip3 install --no-index --no-user --find-links dist flit_core
-
-

- Значение параметров конфигурации и команд pip3: -

-
-
- wheel -
-
-

- Эта команда создает архив wheel для этого пакета. -

-
-
- -w - dist -
-
-

- Указывает pip поместить созданный архив в каталог - dist. -

-
-
- --no-cache-dir -
-
-

- Не позволяет pip копировать созданный wheel-пакет в каталог - /root/.cache/pip. -

-
-
- install -
-
-

- Эта команда устанавливает пакет. -

-
-
- --no-build-isolation, --no-deps и --no-index -
-
-

- Эти параметры предотвращают получение файлов из - онлайн-репозитория пакетов (PyPI). Если пакеты установлены в - правильном порядке, то нет необходимости загружать какие-либо - файлы; эти параметры усиливают безопасность в случае ошибки - пользователя. -

-
-
- --find-links - dist -
-
-

- Указывает pip искать архивы wheel в каталоге dist. -

-
-
-
-
-
-

- 8.52.2. - Содержимое пакета Flit-Core -

-
-
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/flit_core и - /usr/lib/python3.12/site-packages/flit_core-3.9.0.dist-info -
-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gawk.html b/lfs-12.1-sysv/chapter08/gawk.html deleted file mode 100644 index 930ed58..0000000 --- a/lfs-12.1-sysv/chapter08/gawk.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - - - 8.60. Gawk-5.3.0 - - - - - - - - -

- 8.60. Gawk-5.3.0 -

-
-
-

- Пакет Gawk содержит программы для работы с текстовыми файлами. -

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

- 8.60.1. Установка пакета Gawk -

-

- Во-первых, отредактируйте Makefile, чтобы некоторые ненужные файлы - не были установлены -

-
sed -i 's/extras//' Makefile.in
-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
chown -R tester .
-su tester -c "PATH=$PATH make check"
-

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

-
rm -f /usr/bin/gawk-5.3.0
-make install
-
-

- Значение команды: -

-
-
- rm -f - /usr/bin/gawk-5.3.0 -
-
-

- Система сборки не будет пересоздавать жесткую ссылку - gawk-5.3.0, если она - существует. Удалите её, чтобы гарантировать, что предыдущая - жесткая ссылка, созданная в Раздел 6.9, «Gawk-5.3.0», будет - обновлена. -

-
-
-
-

- В процессе установки уже создан awk в виде символической ссылки - на gawk, создайте - также символическую ссылку на справочную страницу: -

-
ln -sv gawk.1 /usr/share/man/man1/awk.1
-

- По желанию, установите документацию: -

-
mkdir -pv                                   /usr/share/doc/gawk-5.3.0
-cp    -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.3.0
-
-
-

- 8.60.2. Содержимое - пакета Gawk -

-
-
-
- Установленные программы: - awk (ссылка на gawk), gawk и - gawk-5.3.0 -
-
- Установленные библиотеки: - filefuncs.so, fnmatch.so, fork.so, - inplace.so, intdiv.so, ordchr.so, readdir.so, readfile.so, - revoutput.so, revtwoway.so, rwarray.so и time.so (все в - /usr/lib/gawk) -
-
- Созданные каталоги: - /usr/lib/gawk, /usr/libexec/awk, - /usr/share/awk и /usr/share/doc/gawk-5.3.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- awk -

-
-

- Ссылка на gawk -

-
-

- gawk -

-
-

- Программа для работы с текстовыми файлами; это GNU - реализация awk -

-
-

- gawk-5.3.0 -

-
-

- Жесткая ссылка на gawk -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gcc.html b/lfs-12.1-sysv/chapter08/gcc.html deleted file mode 100644 index 3f0f703..0000000 --- a/lfs-12.1-sysv/chapter08/gcc.html +++ /dev/null @@ -1,908 +0,0 @@ - - - - - - 8.28. GCC-13.2.0 - - - - - - - - -

- 8.28. GCC-13.2.0 -

-
-
-

- Пакет GCC содержит коллекцию компиляторов GNU, которая включает - компиляторы C и C++. -

-
-
-
- Приблизительное время сборки: - 42 SBU (с тестами) -
-
- Требуемое дисковое - пространство: 5.5 GB -
-
-
-
-
-

- 8.28.1. Установка пакета GCC -

-

- При сборке на x86_64 измените имя каталога по умолчанию для - 64-битных библиотек на «lib»: -

-
case $(uname -m) in
-  x86_64)
-    sed -e '/m64=/s/lib64/lib/' \
-        -i.orig gcc/config/i386/t-linux64
-  ;;
-esac
-

- Документация GCC рекомендует собирать GCC в отдельном каталоге: -

-
mkdir -v build
-cd       build
-

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

-
../configure --prefix=/usr            \
-             LD=ld                    \
-             --enable-languages=c,c++ \
-             --enable-default-pie     \
-             --enable-default-ssp     \
-             --disable-multilib       \
-             --disable-bootstrap      \
-             --disable-fixincludes    \
-             --with-system-zlib
-

- GCC поддерживает семь различных языков программирования, но - предварительные условия для большинства из них еще не выполнены. - См. страницу - BLFS Book GCC для получения инструкций о том, как собрать все - языки, поддерживаемые GCC -

-
-

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

-
-
- LD=ld -
-
-

- Этот параметр указывает скрипту configure использовать ld, - установленный программой Binutils, собранной ранее в этой - главе, а не кросс версию, которая использовалась бы в - противном случае. -

-
-
- --disable-fixincludes -
-
-

- По умолчанию во время установки GCC некоторые системные - заголовки будут «исправлены» для использования с GCC. - Это не обязательно для современной системы Linux и - потенциально опасно, если пакет будет переустановлен после - установки GCC. Этот параметр не позволяет GCC «исправлять» - заголовки. -

-
-
- --with-system-zlib -
-
-

- Этот параметр указывает GCC ссылаться на установленную в - системе копию библиотеки Zlib, а не на собственную внутреннюю - копию. -

-
-
-
-
- [Примечание] -

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

-

- PIE (позиционно-независимые исполняемые файлы) — это двоичные - программы, которые можно загружать в любое место памяти. Без PIE - функция безопасности под названием ASLR (рандомизация размещения - адресного пространства) может применяться к общим библиотекам, но - не к самим исполняемым файлам. Включение PIE позволяет - использовать ASLR для исполняемых файлов в дополнение к общим - библиотекам и смягчает некоторые атаки, основанные на - фиксированных адресах конфиденциального кода или данных в - исполняемых файлах. -

-

- SSP (Stack Smashing Protection - защита от разрушения стека) — - это метод, гарантирующий, что стек параметров не будет поврежден. - Повреждение стека может, например, изменить адрес возврата - подпрограммы, тем самым передав управление какому-то опасному - коду (существующему в программе или общих библиотеках или - каким-то образом внедренному злоумышленником). -

-
-

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

-
make
-
- [Важно] -

- Важно -

-

- В этом разделе набор тестов для GCC считается важным, но занимает - много времени. Начинающим сборщикам не рекомендуется пропускать - его. Время выполнения тестов можно значительно сократить, добавив - -jx в приведенную ниже команду make - -k check, где x - количество ядер процессора в - вашей системе. -

-
-

- Известно, что один набор тестов GCC переполняет стек по умолчанию, - поэтому увеличьте размер стека перед запуском тестов: -

-
ulimit -s 32768
-

- Выполните тестирование под непривилегированным пользователем, но не - останавливайтесь на ошибках: -

-
chown -R tester .
-su tester -c "PATH=$PATH make -k check"
-

- Чтобы получить сводку результатов набора тестов, выполните: -

-
../contrib/test_summary
-

- Чтобы отфильтровать только итоговую сводку, передайте вывод через - pipe grep -A7 Summ. -

-

- Результаты можно сравнить с результатами, размещенными на https://mirror.linuxfromscratch.ru/lfs/build-logs/12.1/ - и https://gcc.gnu.org/ml/gcc-testresults/. -

-

- Известно, что восемь тестов gcc (из более чем 185 000): - pr56837.c и семь тестов из каталога - analyzer завершились неудачно. Также - провалился один тест libstdc++ (из более чем 15 000) — это - copy.cc. Известно, что для g++ 21 - тест (из примерно 250 000), 14 тестов «AddressSanitizer*» и 7 - тестов interception-malloc-test-1.C - завершились неудачно. Кроме того, несколько тестов из каталога - vect завершаются неудачно, если - оборудование не поддерживает AVX. -

-

- Не всегда удается избежать неожиданных сбоев. Разработчики GCC - обычно знают об этих проблемах, но еще не решили их. Если - результаты теста не сильно отличаются от результатов по указанному - выше URL-адресу, можно продолжать. -

-

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

-
make install
-

- Каталог сборки GCC теперь принадлежит пользователю tester, и владелец каталога заголовочных файлов - (и его содержимого) указан неверно. Измените владельца на - пользователя и группу root: -

-
chown -v -R root:root \
-    /usr/lib/gcc/$(gcc -dumpmachine)/13.2.0/include{,-fixed}
-

- Создайте символическую ссылку, требуемую FHS - по "историческим" причинам. -

-
ln -svr /usr/bin/cpp /usr/lib
-

- Многие пакеты используют имя cc для вызова компилятора языка - Си. Мы уже создали cc - как символическую ссылку в GCC-Проход 2, теперь создайте - символическую ссылку на его справочную страницу: -

-
ln -sv gcc.1 /usr/share/man/man1/cc.1
-

- Добавьте символическую ссылку совместимости, чтобы включить сборку - программ с оптимизацией времени компоновки (LTO): -

-
ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/13.2.0/liblto_plugin.so \
-        /usr/lib/bfd-plugins/
-

- Теперь, когда наш окончательный набор инструментов готов, важно еще - раз убедиться, что компиляция и компоновка будут работать так, как - ожидалось. Мы сделаем это, выполнив проверку работоспособности: -

-
echo 'int main(){}' > dummy.c
-cc dummy.c -v -Wl,--verbose &> dummy.log
-readelf -l a.out | grep ': /lib'
-

- Ошибок быть не должно, и вывод последней команды будет (с учетом - платформо-зависимых различий в имени динамического компоновщика): -

-
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
-

- Теперь убедитесь, что мы настроили использование правильных - стартовых файлов: -

-
grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log
-

- Вывод последней команды должен быть: -

-
/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/Scrt1.o succeeded
-/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/crti.o succeeded
-/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/crtn.o succeeded
-

- В зависимости от архитектуры вашего компьютера вышеуказанные - параметры могут незначительно отличаться. Разница будет заключаться - в имени каталога после /usr/lib/gcc. - Здесь важно обратить внимание на то, что gcc нашел все три файла - crt*.o в каталоге /usr/lib. -

-

- Убедитесь, что компилятор ищет правильные заголовочные файлы: -

-
grep -B4 '^ /usr/include' dummy.log
-

- Эта команда должна вернуть следующий вывод: -

-
#include <...> search starts here:
- /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include
- /usr/local/include
- /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed
- /usr/include
-

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

-

- Затем убедитесь, что новый компоновщик использует правильные пути - поиска: -

-
grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'
-

- Ссылки на пути, содержащие компоненты с '-linux-gnu', следует - игнорировать, но в противном случае вывод последней команды должен - быть таким: -

-
SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64")
-SEARCH_DIR("/usr/local/lib64")
-SEARCH_DIR("/lib64")
-SEARCH_DIR("/usr/lib64")
-SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib")
-SEARCH_DIR("/usr/local/lib")
-SEARCH_DIR("/lib")
-SEARCH_DIR("/usr/lib");
-

- 32-разрядная система может использовать несколько других каталогов. - Например, вот вывод с компьютера i686: -

-
SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32")
-SEARCH_DIR("/usr/local/lib32")
-SEARCH_DIR("/lib32")
-SEARCH_DIR("/usr/lib32")
-SEARCH_DIR("/usr/i686-pc-linux-gnu/lib")
-SEARCH_DIR("/usr/local/lib")
-SEARCH_DIR("/lib")
-SEARCH_DIR("/usr/lib");
-

- Затем убедитесь, что мы используем правильную libc: -

-
grep "/lib.*/libc.so.6 " dummy.log
-

- Вывод последней команды должен быть: -

-
attempt to open /usr/lib/libc.so.6 succeeded
-

- Убедитесь, что GCC использует правильный динамический компоновщик: -

-
grep found dummy.log
-

- Вывод последней команды должен быть (с учетом различий в имени - динамического компоновщика, зависящих от платформы): -

-
found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2
-

- Если вывод выглядит не так, как показано выше, или вообще не - получен, значит, где-то серьезная ошибка. Изучите и повторите шаги, - чтобы выяснить, в чем проблема, и исправьте ее. Любые проблемы - должны быть решены, прежде чем вы продолжите процесс. -

-

- Как только все заработает правильно, удалите тестовые файлы: -

-
rm -v dummy.c a.out dummy.log
-

- Наконец, переместите файл: -

-
mkdir -pv /usr/share/gdb/auto-load/usr/lib
-mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
-
-
-

- 8.28.2. Содержимое - пакета GCC -

-
-
-
- Установленные программы: - c++, cc (link to gcc), cpp, g++, gcc, - gcc-ar, gcc-nm, gcc-ranlib, gcov, gcov-dump, gcov-tool, и - lto-dump -
-
- Установленные библиотеки: - libasan.{a,so}, libatomic.{a,so}, - libcc1.so, libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, - libgomp.{a,so}, libhwasan.{a,so}, libitm.{a,so}, - liblsan.{a,so}, liblto_plugin.so, libquadmath.{a,so}, - libssp.{a,so}, libssp_nonshared.a, libstdc++.{a,so}, - libstdc++exp.a, libstdc++fs.a, libsupc++.a, libtsan.{a,so} и - libubsan.{a,so} -
-
- Созданные каталоги: - /usr/include/c++, /usr/lib/gcc, - /usr/libexec/gcc и /usr/share/gcc-13.2.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- c++ -

-
-

- Компилятор С++ -

-
-

- cc -

-
-

- Компилятор C -

-
-

- cpp -

-
-

- Препроцессор C; он используется компилятором для - расширения инструкций #include, #define и подобные - директивы в исходных файлах -

-
-

- g++ -

-
-

- Компилятор C++ -

-
-

- gcc -

-
-

- Компилятор C -

-
-

- gcc-ar -

-
-

- Обертка над ar, добавляющая плагин - в командную строку. Эта программа используется только для - добавления "оптимизации времени компоновки" и бесполезна - с параметрами сборки по умолчанию. -

-
-

- gcc-nm -

-
-

- Обертка над nm, добавляющая плагин - в командную строку. Эта программа используется только для - добавления "оптимизации времени компоновки" и бесполезна - с параметрами сборки по умолчанию. -

-
-

- gcc-ranlib -

-
-

- Обертка над ranlib, добавляющая - плагин в командную строку. Эта программа используется - только для добавления "оптимизации времени компоновки" и - бесполезна с параметрами сборки по умолчанию. -

-
-

- gcov -

-
-

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

-
-

- gcov-dump -

-
-

- Автономный инструмент для дампа профилей gcda and gcno -

-
-

- gcov-tool -

-
-

- Автономный инструмент обработки профиля gcda -

-
-

- lto-dump -

-
-

- Инструмент для создания дампа объектных файлов, созданных - GCC с включенным LTO. -

-
-

- libasan -

-
-

- Библиотека времени выполнения Address Sanitizer -

-
-

- libatomic -

-
-

- Встроенная библиотека времени выполнения GCC atomic -

-
-

- libcc1 -

-
-

- Библиотека, которая позволяет GDB использовать GCC -

-
-

- libgcc -

-
-

- Содержит средства поддержки времени исполнения для - gcc -

-
-

- libgcov -

-
-

- Эта библиотека компонуется с программой, когда в GCC - включено профилирование -

-
-

- libgomp -

-
-

- GNU реализация интерфейса OpenMP API мультиплатформенного - параллельного программирования для языков C/C++ и Fortran - с общим доступом к памяти -

-
-

- libhwasan -

-
-

- Библиотека времени выполнения Hardware-Assisted Address - Sanitizer (аппаратной очистки адресов) -

-
-

- libitm -

-
-

- Библиотека транзакционной памяти GNU -

-
-

- liblsan -

-
-

- Библиотека времени выполнения Leak Sanitizer (средств - защиты от утечек) -

-
-

- liblto_plugin -

-
-

- Плагин GCC LTO позволяет Binutils обрабатывать объектные - файлы, созданные GCC с включенным LTO. -

-
-

- libquadmath -

-
-

- API математической библиотеки GCC Quad Precision -

-
-

- libssp -

-
-

- Содержит подпрограммы, поддерживающие функциональность - защиты стека GCC. Обычно они не используются, потому что - Glibc также предоставляет эти подпрограммы. -

-
-

- libstdc++ -

-
-

- Стандартная библиотека C++ -

-
-

- libstdc++exp -

-
-

- Экспериментальная библиотека контрактов C++ -

-
-

- libstdc++fs -

-
-

- Библиотека файловой системы ISO/IEC TS 18822:2015 -

-
-

- libsupc++ -

-
-

- Предоставляет вспомогательные процедуры для языка - программирования C++ -

-
-

- libtsan -

-
-

- Библиотека времени выполнения Thread Sanitizer (средств - очистки потоков) -

-
-

- libubsan -

-
-

- Библиотека времени выполнения Undefined Behavior - Sanitizer (средств очистки неопределенного поведения) -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gdbm.html b/lfs-12.1-sysv/chapter08/gdbm.html deleted file mode 100644 index 69b2e9f..0000000 --- a/lfs-12.1-sysv/chapter08/gdbm.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - 8.37. GDBM-1.23 - - - - - - - - -

- 8.37. GDBM-1.23 -

-
-
-

- Пакет GDBM содержит менеджер баз данных GNU. Это библиотека функций - базы данных, использующая расширяемое хеширование и работающая - аналогично стандартной СУБД UNIX. Библиотека предоставляет - примитивы для хранения пар ключ/значение, поиска и извлечения - данных по его ключу и удаления ключа вместе с его данными. -

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

- 8.37.1. Установка пакета GDBM -

-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --enable-libgdbm-compat
-
-

- Значение параметра configure: -

-
-
- --enable-libgdbm-compat -
-
-

- Этот параметр включает сборку библиотеки совместимости - libgdbm. Некоторым пакетам за пределами LFS могут - потребоваться более старые подпрограммы DBM, которые он - предоставляет. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.37.2. Содержимое - пакета GDBM -

-
-
-
- Установленные программы: - gdbm_dump, gdbm_load, и gdbmtool -
-
- Установленные библиотеки: - libgdbm.so и libgdbm_compat.so -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- gdbm_dump -

-
-

- Сохраняет дамп базы данных GDBM в файл -

-
-

- gdbm_load -

-
-

- Восстанавливает базу данных GDBM из дампа. -

-
-

- gdbmtool -

-
-

- Проверяет и изменяет базу данных GDBM -

-
-

- libgdbm -

-
-

- Содержит функции для управления хэшированной базой данных -

-
-

- libgdbm_compat -

-
-

- Библиотека совместимости, содержащая более старые функции - DBM -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gettext.html b/lfs-12.1-sysv/chapter08/gettext.html deleted file mode 100644 index 2ba912b..0000000 --- a/lfs-12.1-sysv/chapter08/gettext.html +++ /dev/null @@ -1,594 +0,0 @@ - - - - - - 8.32. Gettext-0.22.4 - - - - - - - - -

- 8.32. - Gettext-0.22.4 -

-
-
-

- Пакет Gettext содержит утилиты для интернационализации и - локализации. Они позволяют компилировать программы с поддержкой NLS - (Native Language Support), позволяя им выводить сообщения на родном - языке пользователя. -

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

- 8.32.1. Установка пакета Gettext -

-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --docdir=/usr/share/doc/gettext-0.22.4
-

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

-
make
-

- Чтобы протестировать пакет (это занимает много времени, около 3 - SBU), выполните: -

-
make check
-

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

-
make install
-chmod -v 0755 /usr/lib/preloadable_libintl.so
-
-
-

- 8.32.2. - Содержимое пакета Gettext -

-
-
-
- Установленные программы: - autopoint, envsubst, gettext, gettext.sh, - gettextize, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, - msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, - msgunfmt, msguniq, ngettext, recode-sr-latin, и xgettext -
-
- Установленные библиотеки: - libasprintf.so, libgettextlib.so, - libgettextpo.so, libgettextsrc.so, libtextstyle.so и - preloadable_libintl.so -
-
- Созданные каталоги: - /usr/lib/gettext, - /usr/share/doc/gettext-0.22.4, /usr/share/gettext и - /usr/share/gettext-0.22.4 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- autopoint -

-
-

- Копирует файлы стандартной инфраструктуры Gettext в пакет - с исходным кодом -

-
-

- envsubst -

-
-

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

-
-

- gettext -

-
-

- Переводит сообщение с естественного языка на язык - пользователя, осуществляя для этого поиск уже сделанного - перевода в каталоге сообщений -

-
-

- gettext.sh -

-
-

- В основном служит библиотекой функций оболочки для - gettext. -

-
-

- gettextize -

-
-

- Копирует все стандартные файлы Gettext в указанный - каталог верхнего уровня пакета, чтобы начать его - интернационализацию. -

-
-

- msgattrib -

-
-

- Фильтрует сообщения каталога переводов в соответствии с - их атрибутами и управляет атрибутами -

-
-

- msgcat -

-
-

- Объединяет указанные файлы .po -

-
-

- msgcmp -

-
-

- Сравнивает два файла .po, - чтобы проверить, что оба содержат один и тот же набор - строк msgid -

-
-

- msgcomm -

-
-

- Находит сообщения, которые являются общими для указанных - файлов .po -

-
-

- msgconv -

-
-

- Преобразует каталог переводов в другую кодировку символов -

-
-

- msgen -

-
-

- Создает каталог переводов на английский язык -

-
-

- msgexec -

-
-

- Применяет команду ко всем переводам каталога переводов -

-
-

- msgfilter -

-
-

- Применяет фильтр ко всем переводам каталога переводов -

-
-

- msgfmt -

-
-

- Генерирует каталог двоичных сообщений из каталога - переводов -

-
-

- msggrep -

-
-

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

-
-

- msginit -

-
-

- Создает новый файл .po, - инициализируя метаинформацию значениями из среды - пользователя. -

-
-

- msgmerge -

-
-

- Объединяет два необработанных перевода в один файл -

-
-

- msgunfmt -

-
-

- Декомпилирует каталог двоичных сообщений в необработанный - текст перевода -

-
-

- msguniq -

-
-

- Объединяет дублирующиеся переводы в каталоге переводов -

-
-

- ngettext -

-
-

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

-
-

- recode-sr-latin -

-
-

- Перекодирует сербский текст с кириллицы на латиницу. -

-
-

- xgettext -

-
-

- Извлекает переводимые строки сообщений из заданных - исходных файлов для создания первого шаблона перевода. -

-
-

- libasprintf -

-
-

- Определяет класс autosprintf, который делает - подпрограммы вывода в формате C пригодными для - использования в программах на C++ для использования со - строками <string> и потоками - <iostream> -

-
-

- libgettextlib -

-
-

- Содержит общие подпрограммы, используемые различными - программами Gettext; они не предназначены для общего - использования -

-
-

- libgettextpo -

-
-

- Используется для написания специализированных программ, - обрабатывающих файлы .po; - эта библиотека используется, когда стандартных - приложений, поставляемых с Gettext (таких как - msgcomm, - msgcmp, - msgattrib, - и msgen), - недостаточно. -

-
-

- libgettextsrc -

-
-

- Предоставляет общие подпрограммы, используемые различными - программами Gettext; они не предназначены для общего - использования -

-
-

- libtextstyle -

-
-

- Библиотека стилей текста -

-
-

- preloadable_libintl -

-
-

- Библиотека, предназначенная для использования LD_PRELOAD, - которая помогает libintl - записывать в журнал непереведённые сообщения -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/glibc.html b/lfs-12.1-sysv/chapter08/glibc.html deleted file mode 100644 index 277785f..0000000 --- a/lfs-12.1-sysv/chapter08/glibc.html +++ /dev/null @@ -1,1314 +0,0 @@ - - - - - - 8.5. Glibc-2.39 - - - - - - - - -

- 8.5. Glibc-2.39 -

-
-
-

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

-
-
-
- Приблизительное время сборки: - 12 SBU -
-
- Требуемое дисковое - пространство: 3.1 GB -
-
-
-
-
-

- 8.5.1. Установка пакета Glibc -

-

- Некоторые программы Glibc используют не совместимый с FHS каталог - /var/db для хранения своих данных во - время выполнения. Примените следующий патч, чтобы эти программы - хранили свои данные в каталогах, совместимых с FHS: -

-
patch -Np1 -i ../glibc-2.39-fhs-1.patch
-

- Документация Glibc рекомендует выполнять компиляцию в отдельном - каталоге: -

-
mkdir -v build
-cd       build
-

- Убедитесь, что утилиты ldconfig и sln будут установлены в - /usr/sbin: -

-
echo "rootsbindir=/usr/sbin" > configparms
-

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

-
../configure --prefix=/usr                            \
-             --disable-werror                         \
-             --enable-kernel=4.19                     \
-             --enable-stack-protector=strong          \
-             --disable-nscd                           \
-             libc_cv_slibdir=/usr/lib
-
-

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

-
-
- --disable-werror -
-
-

- Отключает параметр -Werror, передаваемый GCC. Это необходимо - для запуска набора тестов. -

-
-
- --enable-kernel=4.19 -
-
-

- Этот параметр сообщает системе сборки, что Glibc может - использоваться с ядрами старше 4.19. Это значение - используется для создание обходных путей на случай, если - системный вызов, представленный в более поздней версии, - нельзя будет использовать. -

-
-
- --enable-stack-protector=strong -
-
-

- Этот параметр повышает безопасность системы за счет - добавления дополнительного кода для проверки переполнения - буфера. Обратите внимание, что Glibc всегда явно - переопределяет параметры GCC по умолчанию, поэтому необходимо - всегда указывать эту опцию, несмотря на то, что мы уже - указали --enable-default-ssp для - GCC. -

-
-
- --disable-nscd -
-
-

- Параметр отключает сборку демона кэша службы имен, который - больше не используется. -

-
-
- libc_cv_slibdir=/usr/lib -
-
-

- Эта переменная устанавливает правильную библиотеку для всей - системы. Мы не хотим, чтобы использовалась lib64 -

-
-
-
-

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

-
make
-
- [Важно] -

- Важно -

-

- В этом разделе набор тестов для Glibc считается критически - важным. Ни в коем случае не пропускайте его. -

-
-

- Как правило, несколько тестов не проходят. Ошибки тестирования, - перечисленные ниже, можно игнорировать. -

-
make check
-

- Вы можете увидеть, что ряд тестов завершились неудачей. Набор - тестов Glibc в некоторой степени зависит от хост-системы. Несколько - ошибок из более чем 5000 тестов можно игнорировать. Список наиболее - распространенных проблем последних версий LFS: -

-
-
    -
  • -

    - Известно, что io/tst-lchmod не работает в среде - chroot LFS. -

    -
  • -
  • -

    - Известно, что некоторые тесты, например nss/tst-nss-files-hosts-multi и - nptl/tst-thread-affinity* - завершаются неудачей из-за тайм-аута (особенно когда система - работает относительно медленно и/или набор тестов запущен в - несколько потоков). Эти тесты могут быть идентифицированы с - помощью следующей команды: -

    -
    grep "Timed out" -l $(find -name \*.out)
    -

    - Можно повторно запустить отдельный тест, увеличив таймаут с - помощью команды TIMEOUTFACTOR=<factor> make test - t=<test - name>. Например, TIMEOUTFACTOR=10 make test - t=nss/tst-nss-files-hosts-multi перезапустит - nss/tst-nss-files-hosts-multi, - увеличив начальный таймаут в 10 раз. -

    -
  • -
  • -

    - Кроме того, некоторые тесты могут завершиться неудачно при - использовании относительно старой модели процессора - (например, elf/tst-cpu-features-cpuinfo) или - версии ядра хоста (например, stdlib/tst-arc4random-thread). -

    -
  • -
-
-

- На этапе установки Glibc будет жаловаться на отсутствие файла - /etc/ld.so.conf, хотя это безобидное - сообщение, предотвратить его появление можно с помощью команды: -

-
touch /etc/ld.so.conf
-

- Исправьте Makefile, чтобы пропустить устаревшую проверку - работоспособности, которая завершается неудачей в современной - конфигурации Glibc: -

-
sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
-
- [Важно] -

- Важно -

-

- При обновлении Glibc до новой минорной версии (например, с - Glibc-2.36 до Glibc-2.39) в работающей системе LFS вам необходимо - принять некоторые дополнительные меры предосторожности, чтобы - избежать поломки системы: -

-
-
    -
  • -

    - Обновление Glibc в системе LFS до версии 11.0 не - поддерживается. Пересоберите LFS, если вы используете такую - старую систему, но вам нужна более новая Glibc. -

    -
  • -
  • -

    - При обновлении системы 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 /usr/sbin/nscd
    -
  • -
  • -

    - Обновите ядро и перезагрузитесь, если оно старше 4.19 - (проверьте текущую версию с помощью uname -r) или, если вы - хотите обновить имеющееся ядро, выполните действия из - Раздел 10.3, «Linux-6.7.4.» -

    -
  • -
  • -

    - Обновите заголовочные файлы API ядра, если они старше 4.19 - (проверьте текущую версию с помощью cat - /usr/include/linux/version.h) или, если вы - просто хотите обновить их, следуйте Раздел 5.4, - «Заголовочные файлы Linux-6.7.4 API» (но удалив - $LFS из команды cp). -

    -
  • -
  • -

    - Выполните установку DESTDIR и - обновите общие библиотеки Glibc в системе с помощью одной - команды install: -

    -
    make DESTDIR=$PWD/dest install
    -install -vm755 dest/usr/lib/*.so.* /usr/lib
    -
  • -
-
-

- Крайне важно строго следовать описанным выше шагам, если вы не - совсем понимаете, что делаете. Любое - неожиданное отклонение может сделать систему полностью - непригодной для использования. ВЫ ПРЕДУПРЕЖДЕНЫ. -

-

- Затем продолжайте выполнять команды make install, sed для /usr/bin/ldd и команды для установки локалей. - Как только они будут выполнены, перезагрузите систему. -

-
-

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

-
make install
-

- Исправьте жестко заданный путь к исполняемому загрузчику в скрипте - ldd: -

-
sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd
-

- Затем установите локали, которые дадут возможность системе отвечать - на разных языках. Ни одна из локалей не требуется системе, но если - некоторые из них отсутствуют, то наборы тестов ряда пакетов будут - пропускать важные тестовые сценарии. -

-

- Отдельные локали можно установить с помощью программы localedef. Например, вторая - команда localedef - приведенная ниже, объединяет определение независимой от набора - символов локали /usr/share/i18n/locales/cs_CZ с набором символов - /usr/share/i18n/charmaps/UTF-8.gz и - добавляет результат в файл /usr/lib/locale/locale-archive. Следующие - инструкции установят минимальный набор локалей, необходимый для - оптимального охвата тестов -

-
mkdir -pv /usr/lib/locale
-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
-

- Кроме того, установите локаль для вашей страны, языка и набора - символов. -

-

- В качестве альтернативы, установите сразу все локали перечисленные - в файле glibc-2.39/localedata/SUPPORTED (он включает все - локали из списка выше и многие другие), выполнив команду: -

-
make localedata/install-locales
-

- Затем используйте команду localedef для создания и - установки локалей, не перечисленных в файле glibc-2.39/localedata/SUPPORTED, когда они вам - понадобятся. Например, для некоторых тестов в этой главе - потребуются следующие две локали: -

-
localedef -i C -f UTF-8 C.UTF-8
-localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true
-
- [Примечание] -

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

-

- Glibc теперь использует libidn2 для разрешения - интернационализированных доменных имен. Если такая функция - необходима, то инструкцию по установке libidn2 можно найти на - странице - BLFS libidn2. -

-
-
-
-

- 8.5.2. Настройка Glibc -

-
-

- 8.5.2.1. Добавление nsswitch.conf -

-

- Необходимо создать файл /etc/nsswitch.conf, потому что настроенный по - умолчанию Glibc плохо работает в сетевой среде. -

-

- Создайте новый фай /etc/nsswitch.conf, выполнив следующие - действия: -

-
cat > /etc/nsswitch.conf << "EOF"
-# Begin /etc/nsswitch.conf
-
-passwd: files
-group: files
-shadow: files
-
-hosts: files dns
-networks: files
-
-protocols: files
-services: files
-ethers: files
-rpc: files
-
-# End /etc/nsswitch.conf
-EOF
-
-
-

- 8.5.2.2. Добавление данных о часовом поясе -

-

- Установите и настройте часовой пояс следующим образом: -

-
tar -xf ../../tzdata2024a.tar.gz
-
-ZONEINFO=/usr/share/zoneinfo
-mkdir -pv $ZONEINFO/{posix,right}
-
-for tz in etcetera southamerica northamerica europe africa antarctica  \
-          asia australasia backward; do
-    zic -L /dev/null   -d $ZONEINFO       ${tz}
-    zic -L /dev/null   -d $ZONEINFO/posix ${tz}
-    zic -L leapseconds -d $ZONEINFO/right ${tz}
-done
-
-cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
-zic -d $ZONEINFO -p America/New_York
-unset ZONEINFO
-
-

- Значение команд zic: -

-
-
- zic -L - /dev/null ... -
-
-

- Создаёт часовые пояса posix без секунд координации. Обычно - их помещают как в zoneinfo - так и в zoneinfo/posix. - Часовые пояса POSIX должны быть прописаны в zoneinfo, иначе различные тесты будут - сообщать об ошибках. На встраиваемых системах с небольшим - диском, где часовые пояса никогда не будут обновляться, - можно сэкономить примерно 1.9 MB не используя каталог - posix, однако некоторые - приложения или наборы тестов могут вызывать сбои. -

-
-
- zic -L - leapseconds ... -
-
-

- Создаёт правильные часовые пояса с секундами координации. - На встраиваемых системах с небольшим диском, где часовые - пояса никогда не будут обновляться, а правильность времени - неважна, можно выиграть примерно 1.9 MB, исключив каталог - right. -

-
-
- zic ... -p - ... -
-
-

- Создаёт файл posixrules. - Используется New York, потому что POSIX требует, чтобы - правила перехода на летнее время соответствовали правилам - США. -

-
-
-
-

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

-
tzselect
-

- После нескольких вопросов о местоположении скрипт выдаст - наименование часового пояса (например America/Edmonton). В файле - /usr/share/zoneinfo перечислены и - другие возможные часовые пояса, такие как Canada/Eastern или EST5EDT, которые не распознаются - скриптом, но могут быть использованы. -

-

- Создайте файл /etc/localtime - выполнив: -

-
ln -sfv /usr/share/zoneinfo/<xxx> /etc/localtime
-

- Замените <xxx> на - имя выбранного часового пояса (например, Europe/Moscow). -

-
-
-

- 8.5.2.3. Настройка - динамического загрузчика -

-

- По умолчанию, динамический загрузчик (/lib/ld-linux.so.2) ищет в каталоге - /usr/lib, нужные для работы - программ библиотеки. Однако, если библиотеки находятся в другом - каталоге, то его необходимо указать в файле /etc/ld.so.conf, чтобы динамический загрузчик - мог их найти. Два каталога - /usr/local/lib и /opt/lib часто используются для дополнительных - библиотек, поэтому добавьте их в пути поиска для динамического - загрузчика. -

-

- Создайте новый файл /etc/ld.so.conf - выполнив: -

-
cat > /etc/ld.so.conf << "EOF"
-# Begin /etc/ld.so.conf
-/usr/local/lib
-/opt/lib
-
-EOF
-

- Динамический загрузчик может выполнить поиск в каталоге и - включить содержимое найденных там файлов. Обычно такие файлы - состоят из одной строки и содержат путь к библиотеке. Чтобы - добавить эту возможность, выполните следующие команды: -

-
cat >> /etc/ld.so.conf << "EOF"
-# Add an include directory
-include /etc/ld.so.conf.d/*.conf
-
-EOF
-mkdir -pv /etc/ld.so.conf.d
-
-
-
-

- 8.5.3. Содержимое - пакета Glibc -

-
-
-
- Установленные программы: - gencat, getconf, getent, iconv, - iconvconfig, ldconfig, ldd, lddlibc4, ld.so (symlink to - ld-linux-x86-64.so.2 or ld-linux.so.2), locale, localedef, - makedb, mtrace, pcprofiledump, pldd, sln, sotruss, sprof, - tzselect, xtrace, zdump и zic -
-
- Установленные библиотеки: - ld-linux-x86-64.so.2, ld-linux.so.2, - libBrokenLocale.{a,so}, libanl.{a,so}, libc.{a,so}, - libc_nonshared.a, libc_malloc_debug.so, libdl.{a,so.2}, libg.a, - libm.{a,so}, libmcheck.a, libmemusage.so, libmvec.{a,so}, - libnsl.so.1, libnss_compat.so, libnss_dns.so, libnss_files.so, - libnss_hesiod.so, libpcprofile.so, libpthread.{a,so.0}, - libresolv.{a,so}, librt.{a,so.1}, libthread_db.so и - libutil.{a,so.1} -
-
- Созданные каталоги: - /usr/include/arpa, /usr/include/bits, - /usr/include/gnu, /usr/include/net, /usr/include/netash, - /usr/include/netatalk, /usr/include/netax25, - /usr/include/neteconet, /usr/include/netinet, - /usr/include/netipx, /usr/include/netiucv, - /usr/include/netpacket, /usr/include/netrom, - /usr/include/netrose, /usr/include/nfs, /usr/include/protocols, - /usr/include/rpc, /usr/include/sys, /usr/lib/audit, - /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, - /usr/share/i18n, /usr/share/zoneinfo и /var/lib/nss_db -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- gencat -

-
-

- Создает каталоги сообщений -

-
-

- getconf -

-
-

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

-
-

- getent -

-
-

- Получает записи из административной базы данных -

-
-

- iconv -

-
-

- Выполняет преобразование набора символов -

-
-

- iconvconfig -

-
-

- Создает быстрозагружаемые файлы настроек модуля - iconv -

-
-

- ldconfig -

-
-

- Настраивает привязки времени выполнения динамического - компоновщика -

-
-

- ldd -

-
-

- Сообщает, какие общие библиотеки требуются каждой - программе или общей библиотеке -

-
-

- lddlibc4 -

-
-

- Помогает ldd работать с - объектными файлами. Он не существует на более новых - архитектурах, таких как x86_64 -

-
-

- locale -

-
-

- Выводит различную информацию о текущей локали -

-
-

- localedef -

-
-

- Компилирует спецификации локали -

-
-

- makedb -

-
-

- Создает простую базу данных на основе текстового ввода -

-
-

- mtrace -

-
-

- Читает и интерпретирует файл трассировки памяти; - отображает сводку в удобочитаемом формате -

-
-

- pcprofiledump -

-
-

- Создает дамп информации, генерируемой при профилировании - ПК -

-
-

- pldd -

-
-

- Перечисляет динамические общие объекты, используемые - запущенными процессами. -

-
-

- sln -

-
-

- Статически скомпонованная программа ln -

-
-

- sotruss -

-
-

- Отслеживает вызовы процедур общей библиотеки указанной - команды -

-
-

- sprof -

-
-

- Читает и отображает данные профилирования общих объектов. -

-
-

- tzselect -

-
-

- Запрашивает у пользователя информацию о текущем - местоположении системы и выводит описание - соответствующего часового пояса. -

-
-

- xtrace -

-
-

- Отслеживает выполнение программы, отображая выполняемую в - данный момент функцию -

-
-

- zdump -

-
-

- Выдает дамп часового пояса -

-
-

- zic -

-
-

- Компилятор часовых поясов -

-
-

- ld-*.so -

-
-

- Вспомогательная программа для исполняемых файлов общей - библиотеки -

-
-

- libBrokenLocale -

-
-

- Используется внутри Glibc как грубый хак для запуска - сломанных программ (например, некоторые приложения - Motif). Прочитайте комментарии в glibc-2.39/locale/broken_cur_max.c для - получения дополнительной информации -

-
-

- libanl -

-
-

- Библиотека-заглушка, не содержащая функций. Ранее это - была библиотека асинхронного поиска имен, функции которой - теперь находятся в libc -

-
-

- libc -

-
-

- Основная библиотека C -

-
-

- libc_malloc_debug -

-
-

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

-
-

- libdl -

-
-

- Библиотека-заглушка, не содержащая функций. Ранее была - библиотекой интерфейса динамической компоновки, функции - которой теперь находятся в libc -

-
-

- libg -

-
-

- Библиотека-заглушка без функций. Раньше была библиотекой - среды выполнения для g++ -

-
-

- libm -

-
-

- Математическая библиотека -

-
-

- libmvec -

-
-

- Библиотека векторных математических вычислений, - подключаемая по мере необходимости при использовании - libm -

-
-

- libmcheck -

-
-

- Включает проверку выделения памяти при подключении к -

-
-

- libmemusage -

-
-

- Используется memusage для сбора - информации об использовании памяти программой -

-
-

- libnsl -

-
-

- Библиотека сетевых служб, которая в настоящее время - устарела -

-
-

- libnss_* -

-
-

- Модули Name Service Switch, содержащие функции для - разрешения имен хостов, имен пользователей, имен групп, - псевдонимов, служб, протоколов и т. д. Загружаются - libc в соответствии с - конфигурацией в /etc/nsswitch.conf -

-
-

- libpcprofile -

-
-

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

-
-

- libpthread -

-
-

- Библиотека-заглушка, не содержащая функций. Ранее - содержала функции, обеспечивающие большинство - интерфейсов, заданных POSIX.1c Threads Extensions - (расширения реализации потоков) и интерфейсы семафоров, - указанных в POSIX.1b Real-time Extension (расширения - реального времени), теперь эти функции находятся в - libc -

-
-

- libresolv -

-
-

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

-
-

- librt -

-
-

- Содержит функции, реализующие большую часть интерфейсов, - определяемых в POSIX.1b Real-time Extension (расширения - реального времени) -

-
-

- libthread_db -

-
-

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

-
-

- libutil -

-
-

- Библиотека-заглушка, не содержащая функций. Ранее - содержал код для «стандартных» функций, используемых - во многих утилитах Unix. Эти функции теперь находятся в - libc -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gmp.html b/lfs-12.1-sysv/chapter08/gmp.html deleted file mode 100644 index 9718745..0000000 --- a/lfs-12.1-sysv/chapter08/gmp.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - 8.20. GMP-6.3.0 - - - - - - - - -

- 8.20. GMP-6.3.0 -

-
-
-

- Пакет GMP содержит математические библиотеки. Они содержат полезные - функции для арифметики с произвольной точностью. -

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

- 8.20.1. Установка пакета GMP -

-
- [Примечание] -

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

-

- Если вы выполняете сборку для 32-разрядной архитектуры x86, но - ваш процессор, способен выполнять 64-разрядный код, и вы указали в переменных окружения - CFLAGS, скрипт configure попытается - выполнить настройку для 64-разрядной системы и завершится - ошибкой. Чтобы избежать этого, необходимо вызвать команду - configure с приведенным ниже параметром -

-
ABI=32 ./configure ...
-
-
- [Примечание] -

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

-

- Настройки GMP по умолчанию собирают библиотеки, оптимизированные - для процессора хоста. Если требуются библиотеки, подходящие для - процессоров с меньшей производительностью, чем у процессора - хоста, можно собрать общие библиотеки, добавив параметр - --host=none-linux-gnu в команде - configure. -

-
-

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

-
./configure --prefix=/usr    \
-            --enable-cxx     \
-            --disable-static \
-            --docdir=/usr/share/doc/gmp-6.3.0
-
-

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

-
-
- --enable-cxx -
-
-

- Этот параметр включает поддержку C++ -

-
-
- --docdir=/usr/share/doc/gmp-6.3.0 -
-
-

- Эта переменная указывает местоположение для документации. -

-
-
-
-

- Скомпилируйте пакет и сгенерируйте HTML-документацию: -

-
make
-make html
-
- [Важно] -

- Важно -

-

- Набор тестов для GMP в этом разделе считается критически важным. - Ни в коем случае не пропускайте его. -

-
-

- Проверьте результаты: -

-
make check 2>&1 | tee gmp-check-log
-
- [Внимание] -

- Внимание -

-

- Код в GMP сильно оптимизирован для процессора, на котором он - собран. Иногда код, определяющий процессор, неверно определяет - возможности системы, и в тестах или других приложениях, - использующих библиотеки gmp, возникают ошибки с сообщением - Illegal instruction. В этом - случае gmp следует переконфигурировать с параметром --host=none-linux-gnu и пересобрать. -

-
-

- Убедитесь, что все 199 тестов в наборе пройдены. Проверьте - результат, выполнив следующую команду: -

-
awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log
-

- Установите пакет и его документацию: -

-
make install
-make install-html
-
-
-

- 8.20.2. Содержимое - пакета GMP -

-
-
-
- Установленные библиотеки: - libgmp.so и libgmpxx.so -
-
- Созданные каталоги: - /usr/share/doc/gmp-6.3.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- libgmp -

-
-

- Содержит точные математические функции -

-
-

- libgmpxx -

-
-

- Содержит точные математические функции C++ -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gperf.html b/lfs-12.1-sysv/chapter08/gperf.html deleted file mode 100644 index 8ffce96..0000000 --- a/lfs-12.1-sysv/chapter08/gperf.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - 8.38. Gperf-3.1 - - - - - - - - -

- 8.38. Gperf-3.1 -

-
-
-

- Gperf генерирует идеальную хэш-функцию из набора ключей. -

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

- 8.38.1. Установка пакета Gperf -

-

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

-
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.1
-

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

-
make
-

- Известно, что тесты завершаются ошибкой при одновременном - выполнении нескольких тестов (параметр -j больше 1). Для выполнения - тестов, запустите следующую команду: -

-
make -j1 check
-

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

-
make install
-
-
-

- 8.38.2. Содержимое - пакета Gperf -

-
-
-
- Установленные программы: - gperf -
-
- Созданные каталоги: - /usr/share/doc/gperf-3.1 -
-
-
-
-

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

- - - - - - - - - - - -
-

- gperf -

-
-

- Генерирует идеальный хэш из набора ключей -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/grep.html b/lfs-12.1-sysv/chapter08/grep.html deleted file mode 100644 index 7508562..0000000 --- a/lfs-12.1-sysv/chapter08/grep.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - 8.34. Grep-3.11 - - - - - - - - -

- 8.34. Grep-3.11 -

-
-
-

- Пакет Grep содержит программы для поиска по содержимому файлов. -

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

- 8.34.1. Установка пакета Grep -

-

- Во-первых, удалите предупреждение об использовании egrep и fgrep, - которое приводит к сбою тестов некоторых пакетов: -

-
sed -i "s/echo/#echo/" src/egrep.sh
-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.34.2. Содержимое - пакета Grep -

-
-
-
- Установленные программы: - egrep, fgrep, и grep -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- egrep -

-
-

- Выводит строки, соответствующие расширенному регулярному - выражению. Команда устарела, вместо неё используйте - grep -E -

-
-

- fgrep -

-
-

- Выводит строки, соответствующие списку фиксированных - строк. Команда устарела, вместо неё используйте - grep -F -

-
-

- grep -

-
-

- Выводит строки, соответствующие простому регулярному - выражению -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/groff.html b/lfs-12.1-sysv/chapter08/groff.html deleted file mode 100644 index 58ef4db..0000000 --- a/lfs-12.1-sysv/chapter08/groff.html +++ /dev/null @@ -1,897 +0,0 @@ - - - - - - 8.62. Groff-1.23.0 - - - - - - - - -

- 8.62. Groff-1.23.0 -

-
-
-

- Пакет Groff содержит программы для обработки и форматирования - текста и изображений. -

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

- 8.62.1. Установка пакета Groff -

-

- Groff ожидает, что переменная окружения PAGE будет содержать размер бумаги по умолчанию. Для - пользователей из США подходит PAGE=letter. Для других стран больше - подойдет PAGE=A4. Хотя - формат бумаги по умолчанию настраивается во время компиляции, его - можно переопределить позже, записав «A4» или «letter» в файл - /etc/papersize. -

-

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

-
PAGE=<paper_size> ./configure --prefix=/usr
-

- Соберите пакет: -

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.62.2. Содержимое - пакета Groff -

-
-
-
- Установленные программы: - addftinfo, afmtodit, chem, eqn, - eqn2graph, gdiffmk, glilypond, gperl, gpinyin, grap2graph, grn, - grodvi, groff, groffer, grog, grolbp, grolj4, gropdf, grops, - grotty, hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, - pdfmom, pdfroff, pfbtops, pic, pic2graph, post-grohtml, - preconv, pre-grohtml, refer, roff2dvi, roff2html, roff2pdf, - roff2ps, roff2text, roff2x, soelim, tbl, tfmtodit и - troff -
-
- Созданные каталоги: - /usr/lib/groff и - /usr/share/doc/groff-1.23.0, /usr/share/groff -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- addftinfo -

-
-

- Читает файл шрифта troff и добавляет некоторую - дополнительную информацию о метрике шрифта, используемую - системой groff. -

-
-

- afmtodit -

-
-

- Создаёт файл шрифта для использования с groff и grops -

-
-

- chem -

-
-

- Препроцессор Groff для создания диаграмм химических - структур -

-
-

- eqn -

-
-

- Компилирует описания уравнений, имеющихся внутри входных - файлов troff, которые понятны troff -

-
-

- eqn2graph -

-
-

- Преобразует a troff EQN (уравнение) во фрагмент - изображения -

-
-

- gdiffmk -

-
-

- Отображает различия между файлами groff/nroff/troff -

-
-

- glilypond -

-
-

- Преобразует ноты, записанные на языке lilypond в язык - groff -

-
-

- gperl -

-
-

- Препроцессор для groff, позволяющий вставлять код perl в - файлы groff -

-
-

- gpinyin -

-
-

- Препроцессор groff, позволяющий вставлять Pinyin (запись - звуков китайского языка с помощью латинского алфавита) в - файлы groff. -

-
-

- grap2graph -

-
-

- Преобразует диаграммы grap во фрагмент растрового - изображения (grap - это старый язык программирования Unix - для создания диаграмм) -

-
-

- grn -

-
-

- Препроцессор groff для файлов - gremlin -

-
-

- grodvi -

-
-

- Драйвер для groff, создающий - выходные файлы в формате TeX dvi -

-
-

- groff -

-
-

- Внешний интерфейс к системе форматирования документов - groff; обычно он запускает программу troff и постпроцессор, - соответствующий выбранному устройству -

-
-

- groffer -

-
-

- Отображает файлы groff и справочные страницы на - терминалах X и tty -

-
-

- grog -

-
-

- Читает файлы и пытается определить, какие из параметров - groff - -e, -man, -me, - -mm, -ms, -p, - -s, или -t требуются для печати файлов, и - указывает команду groff с этими - параметрами -

-
-

- grolbp -

-
-

- Драйвер groff для принтеров - Canon CAPSL (лазерные принтеры серий LBP-4 и LBP-8) -

-
-

- grolj4 -

-
-

- Драйвер для groff который выводит - результат в формате PCL5, подходящем для принтера HP - LaserJet 4 -

-
-

- gropdf -

-
-

- Переводит выходные данные GNU troff в формат PDF -

-
-

- grops -

-
-

- Переводит выходные данные GNU troff в формат - PostScript -

-
-

- grotty -

-
-

- Переводит вывод GNU troff в форму, - подходящую для устройств, подобных пишущим машинкам. -

-
-

- hpftodit -

-
-

- Создает файл шрифта для использования с groff -Tlj4 из файла - метрик шрифта для HP -

-
-

- indxbib -

-
-

- Создает инвертированный индекс для библиографических баз - данных для указанного файла, используемый с refer, lookbib, и lkbib -

-
-

- lkbib -

-
-

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

-
-

- lookbib -

-
-

- Выводит приглашение при наличии стандартной ошибки (если - устройство стандартного ввода не является терминалом), - читает из устройства стандартного ввода строку, в которой - находится набор ключевых слов, ищет в библиографической - базе данных для указанного файла ссылки, содержащие эти - ключевые слова, выводит все ссылки, найденные в - стандартном выводе и повторяет этот процесс до тех пор, - пока не завершится входной поток -

-
-

- mmroff -

-
-

- Простой препроцессор для groff -

-
-

- neqn -

-
-

- Форматирует уравнения для их вывода в формате American - Standard Code for Information Interchange (ASCII) -

-
-

- nroff -

-
-

- Скрипт, который эмулирует команду nroff с помощью - groff -

-
-

- pdfmom -

-
-

- Это обертка над groff которая упрощает создание - PDF-документов из файлов, отформатированных с помощью - макросов mom. -

-
-

- pdfroff -

-
-

- Создает pdf-документы с помощью groff -

-
-

- pfbtops -

-
-

- Преобразует шрифт PostScript в формате .pfb в формат ASCII -

-
-

- pic -

-
-

- Компилирует описания изображений, вставленных во входные - файлы troff или TeX, в команды, понятные TeX или - troff -

-
-

- pic2graph -

-
-

- Преобразует диаграмму PIC во фрагмент изображения -

-
-

- post-grohtml -

-
-

- Переводит выходной поток GNU troff в HTML -

-
-

- preconv -

-
-

- Преобразует кодировку входных файлов в формат, понимаемый - GNU troff -

-
-

- pre-grohtml -

-
-

- Переводит выходной поток GNU troff в HTML -

-
-

- refer -

-
-

- Копирует содержимое файла в стандартный вывод, кроме тех - символов, которые расположены между .[ и .] и интерпретируются как - цитаты, и кроме строк между .R1 и .R2, которые интерпретируются - как команды, указывающие как цитаты должны быть - обработаны -

-
-

- roff2dvi -

-
-

- Преобразует файлы roff в формат DVI -

-
-

- roff2html -

-
-

- Преобразует файлы roff в формат HTML -

-
-

- roff2pdf -

-
-

- Преобразует файлы roff в формат PDF -

-
-

- roff2ps -

-
-

- Преобразует файлы roff в файлы ps -

-
-

- roff2text -

-
-

- Преобразует файлы roff в текстовые файлы -

-
-

- roff2x -

-
-

- Преобразует файлы roff в другие форматы -

-
-

- soelim -

-
-

- Читает файлы и заменяет строки вида .so file содержимым указанного - файла file -

-
-

- tbl -

-
-

- Компилирует описания таблиц, вставленные во входные файлы - troff, в команды, понимаемые troff -

-
-

- tfmtodit -

-
-

- Создает файл шрифта для использования с groff -Tdvi -

-
-

- troff -

-
-

- Полностью совместим с Unix troff; его следует - вызывать с помощью команды groff, которая также - будет запускать препроцессоры и постпроцессоры в - соответствующем порядке и с соответствующими параметрами -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/grub.html b/lfs-12.1-sysv/chapter08/grub.html deleted file mode 100644 index f7b4bcf..0000000 --- a/lfs-12.1-sysv/chapter08/grub.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - 8.63. GRUB-2.12 - - - - - - - - -

- 8.63. GRUB-2.12 -

-
-
-

- Пакет GRUB содержит загрузчик операционной системы от проекта GNU - (GRand Unified Bootloader). -

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

- 8.63.1. Установка пакета GRUB -

-
- [Примечание] -

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

-

- Если ваша система поддерживает UEFI и вы хотите загрузить LFS с - UEFI, вы можете пропустить установку этого пакета в LFS и - установить GRUB с поддержкой UEFI (и его зависимости), следуя - инструкции - из BLFS. -

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

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

-

- Сбросьте переменные окружения, которые могут повлиять на сборку: -

-
unset {C,CPP,CXX,LD}FLAGS
-

- Не пытайтесь «настраивать» этот пакет с помощью - пользовательских флагов компиляции. Этот пакет является - загрузчиком. Низкоуровневые операции в исходном коде могут быть - нарушены из-за агрессивной оптимизации. -

-
-

- Добавьте файл, отсутствующий в архиве релиза: -

-
echo depends bli part_gpt > grub-core/extra_deps.lst
-

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

-
./configure --prefix=/usr          \
-            --sysconfdir=/etc      \
-            --disable-efiemu       \
-            --disable-werror
-
-

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

-
-
- --disable-werror -
-
-

- Этот параметр позволяет завершить сборку с предупреждениями, - появившимися в более поздних версиях Flex. -

-
-
- --disable-efiemu -
-
-

- Этот параметр запрещает установку компонента, отключает - функции и некоторые программы тестирования, которые не нужны - для LFS. -

-
-
-
-

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

-
make
-

- Запуск набора тестов не рекомендуется. Большинство тестов зависят - от пакетов, недоступных в ограниченной среде LFS. Если вы все равно - хотите запустить тесты, выполните make check. -

-

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

-
make install
-mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions
-

- Создание загружаемой системы LFS с помощью GRUB будет обсуждаться в - Раздел 10.4, - «Использование GRUB для настройки процесса загрузки». -

-
-
-

- 8.63.2. Содержимое - пакета GRUB -

-
-
-
- Установленные программы: - grub-bios-setup, grub-editenv, grub-file, - grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, - grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, - grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, - grub-mkrelpath, grub-mkrescue, grub-mkstandalone, - grub-ofpathname, grub-probe, grub-reboot, grub-render-label, - grub-script-check, grub-set-default, grub-sparc64-setup и - grub-syslinux2cfg -
-
- Созданные каталоги: - /usr/lib/grub, /etc/grub.d, - /usr/share/grub и /boot/grub (при первом запуске - grub-install) -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- grub-bios-setup -

-
-

- Вспомогательная программа для grub-install -

-
-

- grub-editenv -

-
-

- Инструмент для редактирования блока окружения - (environment block) -

-
-

- grub-file -

-
-

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

-
-

- grub-fstest -

-
-

- Инструмент для отладки драйвера файловой системы -

-
-

- grub-glue-efi -

-
-

- Объединяет 32-разрядные и 64-разрядные бинарные файлы в - один файл (для компьютеров Apple) -

-
-

- grub-install -

-
-

- Устанавливает GRUB на ваш диск -

-
-

- grub-kbdcomp -

-
-

- Скрипт, который преобразует макет xkb в макет, - распознаваемый GRUB -

-
-

- grub-macbless -

-
-

- Это аналог bless в стиле Mac для файловых систем HFS или - HFS+ (команда bless характерна для - компьютеров Apple; она делает устройство загрузочным) -

-
-

- grub-menulst2cfg -

-
-

- Преобразует GRUB Legacy menu.lst в grub.cfg для использования с GRUB 2 -

-
-

- grub-mkconfig -

-
-

- Генерирует файл grub.cfg -

-
-

- grub-mkimage -

-
-

- Создаёт загрузочный образ GRUB -

-
-

- grub-mklayout -

-
-

- Создаёт файл раскладки клавиатуры GRUB -

-
-

- grub-mknetdir -

-
-

- Подготавливает сетевой загрузочный каталог GRUB -

-
-

- grub-mkpasswd-pbkdf2 -

-
-

- Генерирует зашифрованный пароль PBKDF2 для использования - в меню загрузки -

-
-

- grub-mkrelpath -

-
-

- Создает имена системных путей относительно корня -

-
-

- grub-mkrescue -

-
-

- Создает загрузочный образ GRUB, подходящий для дискеты, - CDROM/DVD или USB-накопителя -

-
-

- grub-mkstandalone -

-
-

- Генерирует автономный образ -

-
-

- grub-ofpathname -

-
-

- Вспомогательная программа, которая выводит путь к - устройству GRUB -

-
-

- grub-probe -

-
-

- Проверяет информацию об устройстве для заданного пути или - устройства -

-
-

- grub-reboot -

-
-

- Устанавливает пункт меню в GRUB для загрузки по - умолчанию, только для следующей загрузки(однократно) -

-
-

- grub-render-label -

-
-

- Отображает .disk_label для компьютеров Apple Mac -

-
-

- grub-script-check -

-
-

- Проверяет скрипт настройки GRUB на наличие синтаксических - ошибок -

-
-

- grub-set-default -

-
-

- Устанавливает для GRUB загрузочную запись по умолчанию -

-
-

- grub-sparc64-setup -

-
-

- Вспомогательная программа для grub-setup -

-
-

- grub-syslinux2cfg -

-
-

- Преобразует файл конфигурации syslinux в формат grub.cfg -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/gzip.html b/lfs-12.1-sysv/chapter08/gzip.html deleted file mode 100644 index 5cb7b72..0000000 --- a/lfs-12.1-sysv/chapter08/gzip.html +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - 8.64. Gzip-1.13 - - - - - - - - -

- 8.64. Gzip-1.13 -

-
-
-

- Пакет Gzip содержит программы для сжатия и распаковки файлов. -

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

- 8.64.1. Установка пакета Gzip -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.64.2. Содержимое - пакета Gzip -

-
-
-
- Установленные программы: - gunzip, gzexe, gzip, uncompress (жесткая - ссылка на gunzip), zcat, zcmp, zdiff, zegrep, zfgrep, zforce, - zgrep, zless, zmore и znew -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- gunzip -

-
-

- Распаковывает gzip-файлы -

-
-

- gzexe -

-
-

- Создает самораспаковывающиеся исполняемые файлы -

-
-

- gzip -

-
-

- Сжимает файлы, используя алгоритм Lempel-Ziv (LZ77). -

-
-

- uncompress -

-
-

- Распаковывает сжатые файлы -

-
-

- zcat -

-
-

- Распаковывает указанные сжатые файлы в стандартный поток - вывода -

-
-

- zcmp -

-
-

- Запускает cmp для архивированных - файлов -

-
-

- zdiff -

-
-

- Запускает diff для архивированных - файлов -

-
-

- zegrep -

-
-

- Запускает egrep для - архивированных файлов -

-
-

- zfgrep -

-
-

- Запускает fgrep для - архивированных файлов -

-
-

- zforce -

-
-

- Принудительно устанавливает расширение .gz всем сжатым файлам, чтобы - gzip не - сжимал их снова; это может быть полезно, когда имена - файлов были обрезаны во время передачи файла -

-
-

- zgrep -

-
-

- Запускает grep для архивированных - файлов -

-
-

- zless -

-
-

- Запускает less для архивированных - файлов -

-
-

- zmore -

-
-

- Запускает more для архивированных - файлов -

-
-

- znew -

-
-

- Повторно сжимает файлы из формата compress в формат - gzip — из - .Z в .gz -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/iana-etc.html b/lfs-12.1-sysv/chapter08/iana-etc.html deleted file mode 100644 index c342f06..0000000 --- a/lfs-12.1-sysv/chapter08/iana-etc.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - 8.4. Iana-Etc-20240125 - - - - - - - - -

- 8.4. - Iana-Etc-20240125 -

-
-
-

- Пакет Iana-Etc предоставляет данные для сетевых служб и протоколов. -

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

- 8.4.1. Установка пакета Iana-Etc -

-

- Для этого пакета необходимо лишь скопировать нужные файлы: -

-
cp services protocols /etc
-
-
-

- 8.4.2. - Содержимое пакета Iana-Etc -

-
-
-
- Установленные файлы: - /etc/protocols и /etc/services -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- /etc/protocols -

-
-

- Описывает различные интернет-протоколы DARPA, которые - доступны из подсистемы TCP/IP -

-
-

- /etc/services -

-
-

- Обеспечивает сопоставление понятных текстовых имен для - интернет-сервисов с назначенными им номерами портов и - типами протоколов. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/inetutils.html b/lfs-12.1-sysv/chapter08/inetutils.html deleted file mode 100644 index e76061a..0000000 --- a/lfs-12.1-sysv/chapter08/inetutils.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - 8.40. Inetutils-2.5 - - - - - - - - -

- 8.40. - Inetutils-2.5 -

-
-
-

- Пакет Inetutils содержит базовые программы для работы с сетью. -

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

- 8.40.1. Установка пакета Inetutils -

-

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

-
./configure --prefix=/usr        \
-            --bindir=/usr/bin    \
-            --localstatedir=/var \
-            --disable-logger     \
-            --disable-whois      \
-            --disable-rcp        \
-            --disable-rexec      \
-            --disable-rlogin     \
-            --disable-rsh        \
-            --disable-servers
-
-

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

-
-
- --disable-logger -
-
-

- Параметр запрещает установку программы logger, используемой - скриптами для отправки сообщений системной службе логирования - (System Log Daemon). Не устанавливайте её, т.к. Util-linux - устанавливает более свежую версию. -

-
-
- --disable-whois -
-
-

- Этот параметр отключает сборку whois-клиента Inetutils, - который устарел. Инструкции для сборки более нового клиента - whois находятся - в книге BLFS. -

-
-
- --disable-r* -
-
-

- Отключает установку устаревших программ, которые не должны - использоваться по соображениям безопасности. Функционал этих - программы можно получить установкой пакета openssh из книги BLFS. -

-
-
- --disable-servers -
-
-

- Отключает установку различных сетевых серверов, входящих в - состав пакета Inetutils. Эти серверы считаются неподходящими - для базовой системы LFS. Некоторые из них небезопасны по - своей природе и считаются надежными только в доверенных - сетях. Обратите внимание, что для многих из них доступны - более качественные замены. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните:: -

-
make check
-

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

-
make install
-

- Переместите программу в правильное место: -

-
mv -v /usr/{,s}bin/ifconfig
-
-
-

- 8.40.2. - Содержимое пакета Inetutils -

-
-
-
- Установленные программы: - dnsdomainname, ftp, ifconfig, hostname, - ping, ping6, talk, telnet, tftp и traceroute -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- dnsdomainname -

-
-

- Показывает системное DNS имя -

-
-

- ftp -

-
-

- Программа для передачи файлов по протоколу FTP -

-
-

- hostname -

-
-

- Сообщает или задает имя хоста -

-
-

- ifconfig -

-
-

- Управляет сетевыми интерфейсами -

-
-

- ping -

-
-

- Отправляет пакеты эхо-запросов и сообщает, сколько - времени занимают ответы -

-
-

- ping6 -

-
-

- Версия ping - для сетей IPv6 -

-
-

- talk -

-
-

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

-
-

- telnet -

-
-

- Интерфейс к протоколу TELNET -

-
-

- tftp -

-
-

- Программа для передачи файлов по протоколу TFTP (Trivial - File Transfer Protocol — простой протокол передачи - файлов) -

-
-

- traceroute -

-
-

- Отслеживает маршрут, по которому проходят ваши пакеты от - хоста на которым вы работаете, к другому узлу сети, - показывая все промежуточные переходы (шлюзы) на этом - пути. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/intltool.html b/lfs-12.1-sysv/chapter08/intltool.html deleted file mode 100644 index 7b3c06a..0000000 --- a/lfs-12.1-sysv/chapter08/intltool.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - 8.44. Intltool-0.51.0 - - - - - - - - -

- 8.44. - Intltool-0.51.0 -

-
-
-

- Intltool — это инструмент интернационализации, используемый для - извлечения переводимых строк из исходных файлов. -

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

- 8.44.1. Установка пакета Intltool -

-

- Сначала исправьте предупреждение, вызываемое perl-5.22 и более - поздними версиями: -

-
sed -i 's:\\\${:\\\$\\{:' intltool-update.in
-
- [Примечание] -

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

-

- Приведенное выше регулярное выражение выглядит необычно из-за - множества слэшей. Что оно делает, так это добавляет обратную - косую черту перед правой фигурной скобкой в последовательности - '\${' в результате чего получается '\$\{'. -

-
-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO
-
-
-

- 8.44.2. - Содержимое пакета Intltool -

-
-
-
- Установленные программы: - intltool-extract, intltool-merge, - intltool-prepare, intltool-update и intltoolize -
-
- Созданные каталоги: - /usr/share/doc/intltool-0.51.0 и - /usr/share/intltool -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- intltoolize -

-
-

- Подготавливает пакет для использования intltool -

-
-

- intltool-extract -

-
-

- Генерирует заголовочные файлы, которые могут быть - прочитаны с помощью gettext -

-
-

- intltool-merge -

-
-

- Объединяет переведенные строки в файлы различных типов -

-
-

- intltool-prepare -

-
-

- Обновляет файлы pot и объединяет их с файлами перевода -

-
-

- intltool-update -

-
-

- Обновляет файлы шаблонов po и объединяет их с переводами -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/introduction.html b/lfs-12.1-sysv/chapter08/introduction.html deleted file mode 100644 index 475fb1f..0000000 --- a/lfs-12.1-sysv/chapter08/introduction.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - 8.1. Введение - - - - - - - - -

- 8.1. - Введение -

-
-

- В этой главе мы приступаем к сборке конечной системы LFS. -

-

- Установка программного обеспечения проста. Хотя во многих случаях - инструкции по установке можно было бы сделать короче и универсальнее, - мы решили предоставить полные инструкции для каждого пакета, чтобы - свести к минимуму вероятность ошибок. Ключом к пониманию того, что - заставляет систему Linux работать, является знание того, для чего - используется каждый пакет и зачем он вам (или системе) может - понадобиться. -

-

- Мы не рекомендуем использовать оптимизации. С ними программа может - работать немного быстрее, но также они могут вызвать сложности при - компиляции и проблемы при запуске программы. Если пакет не - компилируется при использовании оптимизации, попробуйте - скомпилировать его без оптимизации и посмотрите, решает ли это - проблему. Даже если пакет компилируется при использовании - оптимизации, существует риск, что он может быть скомпилирован - неправильно из-за сложных взаимодействий между кодом и инструментами - сборки. Также обратите внимание, что параметры -march и -mtune, не - тестировались со значениями отличными от указанных в книге. Это может - вызвать проблемы с пакетами набора инструментов (Binutils, GCC и - Glibc). Небольшие потенциальные плюсы, достигаемые за счет - оптимизации, часто перевешиваются рисками. Тем кто собирает LFS - впервые рекомендуется делать это без пользовательских оптимизаций. -

-

- С другой стороны, мы сохраняем оптимизацию включенной в конфигурации - пакетов по умолчанию. Кроме того, иногда мы явно включаем - оптимизированную конфигурацию, предоставляемую пакетом, но не - включенную по умолчанию. Сопровождающие пакета уже протестировали эти - конфигурации и считают их безопасными, поэтому маловероятно, что они - сломают сборку. Как правило, конфигурация по умолчанию уже включает - параметры -O2 или -O3, поэтому результирующая система по-прежнему будет - работать очень быстро без какой-либо пользовательской оптимизации и в - то же время будет стабильной. -

-

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

-
- [Примечание] -

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

-

- Для всех пакетов в Глава 8 - значения SBU и требуемое дисковое пространство указано с учетом - тестов. Значения SBU были рассчитаны с использованием четырех ядер - ЦП (-j4) для всех операций, если не указано иное. -

-
-
-

- 8.1.1. О библиотеках -

-

- Как правило, редакторы LFS не рекомендуют собирать и устанавливать - статические библиотеки. Большинство статических библиотек устарели - в современной системе Linux. Кроме того, линковка статической - библиотеки с программой может быть вредна. Если для устранения - проблемы безопасности требуется обновление библиотеки, все - программы, использующие статическую библиотеку, необходимо будет - повторно перелинковать с новой библиотекой. Поскольку использование - статических библиотек не всегда очевидно, соответствующие программы - (и процедуры, необходимые для линковки) могут быть даже неизвестны. -

-

- В инструкциях этой главы мы удаляем или отключаем установку - большинства статических библиотек. Обычно это делается путем - передачи параметра --disable-static при - выполнении configure. - Иногда необходимо использовать альтернативные методы. В некоторых - случаях, в частности в пакетах Glibc и GCC, использование - статических библиотек остается важным элементом процесса сборки - пакетов. -

-

- Более подробное обсуждение библиотек смотрите - Библиотеки: статические или общие? в книге BLFS. -

-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/iproute2.html b/lfs-12.1-sysv/chapter08/iproute2.html deleted file mode 100644 index ab83f37..0000000 --- a/lfs-12.1-sysv/chapter08/iproute2.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - 8.65. IPRoute2-6.7.0 - - - - - - - - -

- 8.65. - IPRoute2-6.7.0 -

-
-
-

- Пакет IPRoute2 содержит набор программ для базового и расширенного - администрирования сетей IPv4. -

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

- 8.65.1. Установка пакета IPRoute2 -

-

- Программа arpd, - входящая в этот пакет, не будет собрана, поскольку зависит от - Berkeley DB, которая не установлена в LFS. Однако каталог и - справочная страница для arpd все равно будут установлены. - Предотвратить это можно, выполнив приведенные ниже команды. -

-
sed -i /ARPD/d Makefile
-rm -fv man/man8/arpd.8
-

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

-
make NETNS_RUN_DIR=/run/netns
-

- Этот пакет не содержит рабочего набора тестов. -

-

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

-
make SBINDIR=/usr/sbin install
-

- По желанию, установите документацию: -

-
mkdir -pv             /usr/share/doc/iproute2-6.7.0
-cp -v COPYING README* /usr/share/doc/iproute2-6.7.0
-
-
-

- 8.65.2. - Содержимое пакета IPRoute2 -

-
-
-
- Установленные программы: - bridge, ctstat (ссылка на lnstat), genl, - ifstat, ip, lnstat, nstat, routel, rtacct, rtmon, rtpr, rtstat - (ссылка на lnstat), ss и tc -
-
- Созданные каталоги: - /etc/iproute2, /usr/lib/tc и - /usr/share/doc/iproute2-6.7.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- bridge -

-
-

- Настраивает сетевые мосты -

-
-

- ctstat -

-
-

- Утилита состояния подключения -

-
-

- genl -

-
-

- Универсальный интерфейс утилиты netlink -

-
-

- ifstat -

-
-

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

-
-

- ip -

-
-

- Основной исполняемый файл. Он имеет несколько различных - функций, в том числе эти: -

-

- ip link <device> - позволяет пользователям просматривать состояние устройств - и вносить изменения -

-

- ip addr - позволяет пользователям просматривать адреса и их - свойства, добавлять новые адреса и удалять старые -

-

- ip neighbor - позволяет пользователям просматривать связи с соседями и - их свойства, добавлять новые записи и удалять старые -

-

- ip rule - позволяет пользователям просматривать политики - маршрутизации и изменять их -

-

- ip route - позволяет пользователям просматривать таблицу - маршрутизации и изменять правила таблицы маршрутизации -

-

- ip tunnel - позволяет пользователям просматривать IP-туннели и их - свойства, а также изменять их -

-

- ip maddr - позволяет пользователям просматривать multicast адреса и - их свойства и изменять их -

-

- ip mroute - позволяет пользователям устанавливать, изменять или - удалять multicast маршрутизацию. -

-

- ip monitor - позволяет пользователям постоянно отслеживать состояние - устройств, адресов и маршрутов -

-
-

- lnstat -

-
-

- Предоставляет сетевую статистику Linux; это обобщенная и - более полнофункциональная замена старой программы - rtstat -

-
-

- nstat -

-
-

- Отображает сетевую статистику -

-
-

- routel -

-
-

- Компонент ip - route для просмотра таблиц маршрутизации -

-
-

- rtacct -

-
-

- Отображает содержимое /proc/net/rt_acct -

-
-

- rtmon -

-
-

- Мониторит изменения таблицы маршрутизации -

-
-

- rtpr -

-
-

- Преобразует вывод ip - -o в удобочитаемую форму -

-
-

- rtstat -

-
-

- Утилита состояния маршрута -

-
-

- ss -

-
-

- Аналогично команде netstat показывает - активные соединения -

-
-

- tc -

-
-

- Управление трафиком для реализаций качества обслуживания - (QoS) и класса обслуживания (CoS) -

-

- tc qdisc - позволяет пользователям настроить дисциплину обработки - очередей -

-

- tc class - позволяет пользователям настраивать классы, на основе - планирования дисциплины обработки очередей -

-

- tc filter - позволяет пользователям настроить фильтрацию пакетов - QOS/COS -

-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/jinja2.html b/lfs-12.1-sysv/chapter08/jinja2.html deleted file mode 100644 index 3617df8..0000000 --- a/lfs-12.1-sysv/chapter08/jinja2.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - 8.74. Jinja2-3.1.3 - - - - - - - - -

- 8.74. Jinja2-3.1.3 -

-
-
-

- Jinja2 - это модуль Python, который реализует простой язык шаблонов - pythonic -

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

- 8.74.1. Установка пакета Jinja2 -

-

- Соберите пакет: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

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

-
pip3 install --no-index --no-user --find-links dist Jinja2
-
-
-

- 8.74.2. - Содержимое пакета Jinja2 -

-
-
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/Jinja2-3.1.3.dist-info -
-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/kbd.html b/lfs-12.1-sysv/chapter08/kbd.html deleted file mode 100644 index e296395..0000000 --- a/lfs-12.1-sysv/chapter08/kbd.html +++ /dev/null @@ -1,586 +0,0 @@ - - - - - - 8.66. Kbd-2.6.4 - - - - - - - - -

- 8.66. Kbd-2.6.4 -

-
-
-

- Пакет Kbd содержит файлы таблиц клавиш, консольные шрифты и утилиты - клавиатуры. -

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

- 8.66.1. Установка пакета Kbd -

-

- Поведение клавиш backspace и delete не согласуется между - раскладками в пакете Kbd. Следующий патч исправляет эту проблему - для раскладок i386: -

-
patch -Np1 -i ../kbd-2.6.4-backspace-1.patch
-

- После исправления клавиша backspace генерирует символ с кодом 127, - а клавиша delete генерирует хорошо известную - escape-последовательность. -

-

- Удалите ненужную программу resizecons (она требуется - несуществующей svgalib для предоставления файлов видеорежима — для - нормального использования setfont, который правильно - определяет размеры консоли) вместе с ее справочной страницей. -

-
sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
-sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in
-

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

-
./configure --prefix=/usr --disable-vlock
-
-

- Значение параметра configure: -

-
-
- --disable-vlock -
-
-

- Этот параметр предотвращает сборку утилиты vlock, поскольку - для неё требуется библиотека PAM, которая недоступна в среде - chroot. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
- [Примечание] -

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

-

- Для некоторых языков (например белорусского) пакет Kbd не - предоставляет подходящую раскладку, штатная раскладка - «by» - предполагает кодировку ISO-8859-5, а обычно используется - раскладка CP1251. Пользователи таких языков должны отдельно - загрузить рабочую раскладку. -

-
-

- По желанию, установите документацию:: -

-
cp -R -v docs/doc -T /usr/share/doc/kbd-2.6.4
-
-
-

- 8.66.2. Содержимое - пакета Kbd -

-
-
-
- Установленные программы: - chvt, deallocvt, dumpkeys, fgconsole, - getkeycodes, kbdinfo, kbd_mode, kbdrate, loadkeys, loadunimap, - mapscrn, openvt, psfaddtable (ссылка на psfxtable), psfgettable - (ссылка на psfxtable), psfstriptable (ссылка на psfxtable), - psfxtable, setfont, setkeycodes, setleds, setmetamode, - setvtrgb, showconsolefont, showkey, unicode_start и - unicode_stop -
-
- Созданные каталоги: - /usr/share/consolefonts, - /usr/share/consoletrans, /usr/share/keymaps, - /usr/share/doc/kbd-2.6.4 и /usr/share/unimaps -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- chvt -

-
-

- Изменяет используемый виртуальный терминал -

-
-

- deallocvt -

-
-

- Освобождает неиспользуемые виртуальные терминалы -

-
-

- dumpkeys -

-
-

- Создает дамп таблиц перевода клавиатуры -

-
-

- fgconsole -

-
-

- Выводит номер активного виртуального терминала -

-
-

- getkeycodes -

-
-

- Выводит таблицу ядра соответствия сканкода и кода клавиши -

-
-

- kbdinfo -

-
-

- Получает информацию о состоянии консоли -

-
-

- kbd_mode -

-
-

- Выводит или устанавливает режим клавиатуры -

-
-

- kbdrate -

-
-

- Устанавливает частоту повторных нажатий клавиш и задержки - клавиатуры -

-
-

- loadkeys -

-
-

- Загружает таблицу преобразования клавиатуры -

-
-

- loadunimap -

-
-

- Загружает таблицу ядра отображения символов юникода -

-
-

- mapscrn -

-
-

- Устаревшая программа, которая использовалась для загрузки - определяемой пользователем таблицы соответствия выводимых - символов в драйвер консоли; теперь эту функцию выполняет - setfont -

-
-

- openvt -

-
-

- Запускает программу на новом виртуальном терминале (VT) -

-
-

- psfaddtable -

-
-

- Добавляет таблицу символов Unicode в консольный шрифт. -

-
-

- psfgettable -

-
-

- Извлекает встроенную таблицу символов Unicode из - консольного шрифта. -

-
-

- psfstriptable -

-
-

- Удаляет встроенную таблицу символов Unicode из - консольного шрифта. -

-
-

- psfxtable -

-
-

- Обрабатывает таблицы символов Unicode для консольных - шрифтов. -

-
-

- setfont -

-
-

- Изменяет шрифты Enhanced Graphic Adapter (EGA) и Video - Graphics Array (VGA), используемые в консоли -

-
-

- setkeycodes -

-
-

- Загружает таблицу соответствия сканкодов ядра и кодов - клавиш; это удобно, если на клавиатуре есть нестандартные - клавиши -

-
-

- setleds -

-
-

- Устанавливает значения флагов клавиатуры и индикаторов - (обычно - светодиоды) -

-
-

- setmetamode -

-
-

- Определяет обработку метаклавиши на клавиатуре (обычно, - это клавиша Win) -

-
-

- setvtrgb -

-
-

- Устанавливает цветовую схему консоли для всех виртуальных - терминалов -

-
-

- showconsolefont -

-
-

- Показывает текущий шрифт экрана консоли EGA/VGA -

-
-

- showkey -

-
-

- Показывает сканкоды, код клавиши и код ASCII для клавиш, - нажатых на клавиатуре -

-
-

- unicode_start -

-
-

- Переводит клавиатуру и консоль в режим UNICODE. [Не - используйте эту программу, если вы не используете файл - раскладки для кодировки ISO-8859-1. Для других кодировок - эта утилита выдает неправильные результаты]. -

-
-

- unicode_stop -

-
-

- Возвращает клавиатуру и консоль из режима UNICODE -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/kmod.html b/lfs-12.1-sysv/chapter08/kmod.html deleted file mode 100644 index 8590a93..0000000 --- a/lfs-12.1-sysv/chapter08/kmod.html +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - 8.48. Kmod-31 - - - - - - - - -

- 8.48. Kmod-31 -

-
-
-

- Пакет Kmod содержит библиотеки и утилиты для загрузки модулей ядра. -

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

- 8.48.1. Установка пакета Kmod -

-

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

-
./configure --prefix=/usr          \
-            --sysconfdir=/etc      \
-            --with-openssl         \
-            --with-xz              \
-            --with-zstd            \
-            --with-zlib
-
-

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

-
-
- --with-openssl -
-
-

- Этот параметр позволяет Kmod обрабатывать сигнатуры PKCS7 для - модулей ядра. -

-
-
- --with-xz, --with-zlib, и --with-zstd -
-
-

- Эти параметры позволяют Kmod обрабатывать сжатые модули ядра. -

-
-
-
-

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

-
make
-

- Набору тестов этого пакета необходимы необработанные заголовочные - файлы ядра (а не «очищенные», установленных ранее), это выходит - за рамки LFS. -

-

- Установите пакет и создайте символические ссылки для совместимости - с Module-Init-Tools (пакетом, который ранее обрабатывал модули ядра - Linux): -

-
make install
-
-for target in depmod insmod modinfo modprobe rmmod; do
-  ln -sfv ../bin/kmod /usr/sbin/$target
-done
-
-ln -sfv kmod /usr/bin/lsmod
-
-
-

- 8.48.2. Содержимое - пакета Kmod -

-
-
-
- Установленные программы: - depmod (ссылка на kmod), insmod (ссылка - на kmod), kmod, lsmod (ссылка на kmod), modinfo (ссылка на - kmod), modprobe (ссылка на kmod) и rmmod (ссылка на - kmod) -
-
- Установленные библиотеки: - libkmod.so -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- depmod -

-
-

- Создает файл зависимостей на основе символов найденных в - существующем наборе модулей; этот файл используется - программой modprobe для - автоматической загрузки необходимых модулей -

-
-

- insmod -

-
-

- Устанавливает загружаемый модуль в работающее ядро -

-
-

- kmod -

-
-

- Загружает и выгружает модули ядра -

-
-

- lsmod -

-
-

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

-
-

- modinfo -

-
-

- Проверяет объектный файл, связанный с модулем ядра, и - отображает всю информацию, которую он смог собрать. -

-
-

- modprobe -

-
-

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

-
-

- rmmod -

-
-

- Выгружает модули из работающего ядра -

-
-

- libkmod -

-
-

- Библиотека используемая другими программами для загрузки - и выгрузки модулей ядра -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/less.html b/lfs-12.1-sysv/chapter08/less.html deleted file mode 100644 index 6518582..0000000 --- a/lfs-12.1-sysv/chapter08/less.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - 8.41. Less-643 - - - - - - - - -

- 8.41. Less-643 -

-
-
-

- Пакет Less содержит средство просмотра текстовых файлов -

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

- 8.41.1. Установка пакета Less -

-

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

-
./configure --prefix=/usr --sysconfdir=/etc
-
-

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

-
-
- --sysconfdir=/etc -
-
-

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

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.41.2. Содержимое - пакета Less -

-
-
-
- Установленные программы: - less, lessecho и lesskey -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- less -

-
-

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

-
-

- lessecho -

-
-

- Требуется для расширения метасимволов, таких как - * и ?, в именах файлов в системах - Unix -

-
-

- lesskey -

-
-

- Используется для привязки клавиш в программе less -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libcap.html b/lfs-12.1-sysv/chapter08/libcap.html deleted file mode 100644 index 6cbb111..0000000 --- a/lfs-12.1-sysv/chapter08/libcap.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - 8.25. Libcap-2.69 - - - - - - - - -

- 8.25. Libcap-2.69 -

-
-
-

- Пакет Libcap реализует интерфейсы пользовательского пространства - для возможностей POSIX 1003.1e, доступных в ядрах Linux. Эти - возможности разделяют полномочия суперпользователя root на набор - отдельных привилегий. -

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

- 8.25.1. Установка пакета Libcap -

-

- Запретите установку статических библиотек: -

-
sed -i '/install -m.*STA/d' libcap/Makefile
-

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

-
make prefix=/usr lib=lib
-
-

- Значение опции make: -

-
-
- lib=lib -
-
-

- Этот параметр устанавливает библиотеки в каталог /usr/lib, а не /usr/lib64 на x86_64. На x86 это никак не - влияет. -

-
-
-
-

- Чтобы протестировать пакет, выполните: -

-
make test
-

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

-
make prefix=/usr lib=lib install
-
-
-

- 8.25.2. - Содержимое пакета Libcap -

-
-
-
- Установленные программы: - capsh, getcap, getpcaps и setcap -
-
- Установленные библиотеки: - libcap.so и libpsx.so -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- capsh -

-
-

- Обёртка к оболочке для исследования и ограничения - поддержки возможностей Linux -

-
-

- getcap -

-
-

- Проверяет возможности файлов -

-
-

- getpcaps -

-
-

- Отображает возможности запрашиваемого процесса - (процессов) -

-
-

- setcap -

-
-

- Устанавливает возможности файлов -

-
-

- libcap -

-
-

- Содержит функции для управления возможностями POSIX - 1003.1e. -

-
-

- libpsx -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libelf.html b/lfs-12.1-sysv/chapter08/libelf.html deleted file mode 100644 index df49966..0000000 --- a/lfs-12.1-sysv/chapter08/libelf.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - 8.49. Libelf из Elfutils-0.190 - - - - - - - - -

- 8.49. Libelf из - Elfutils-0.190 -

-
-
-

- Libelf — это библиотека для обработки файлов ELF (Executable and - Linkable Format - формат исполняемых и связываемых файлов). -

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

- 8.49.1. Установка пакета Libelf -

-

- Libelf является частью пакета elfutils-0.190. Используйте - elfutils-0.190.tar.bz2 в качестве исходного архива. -

-

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

-
./configure --prefix=/usr                \
-            --disable-debuginfod         \
-            --enable-libdebuginfod=dummy
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

- Установите только Libelf: -

-
make -C libelf install
-install -vm644 config/libelf.pc /usr/lib/pkgconfig
-rm /usr/lib/libelf.a
-
-
-

- 8.49.2. - Содержимое пакета Libelf -

-
-
-
- Установленные библиотеки: - libelf.so -
-
- Созданные каталоги: - /usr/include/elfutils -
-
-
-
-

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

- - - - - - - - - - - -
-

- libelf.so -

-
-

- Содержит функции API для обработки объектных файлов ELF -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libffi.html b/lfs-12.1-sysv/chapter08/libffi.html deleted file mode 100644 index 0c3c825..0000000 --- a/lfs-12.1-sysv/chapter08/libffi.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - 8.50. Libffi-3.4.4 - - - - - - - - -

- 8.50. Libffi-3.4.4 -

-
-
-

- Библиотека Libffi предоставляет переносимый высокоуровневый - программный интерфейс для различных соглашений о вызовах. Это - позволяет программисту вызывать любую функцию, указанную в описании - интерфейса вызова во время выполнения. -

-

- FFI расшифровывается как интерфейс внешних функций. FFI позволяет - программе, написанной на одном языке, вызывать программу, - написанную на другом языке. В частности, Libffi может обеспечить - связь между интерпретатором, таким как Perl или Python, и - подпрограммами общей библиотеки, написанными на C или C++. -

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

- 8.50.1. Установка пакета Libffi -

-
- [Примечание] -

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

-

- Как и GMP, Libffi собирается с учетом оптимизаций, специфичных - для используемого процессора. При сборке для другой системы - измените значение параметра --with-gcc-arch= в следующей - команде на имя архитектуры, полностью реализованной процессором в - этой системе. Если этого не сделать, все приложения, ссылающиеся - на libffi, будут вызывать ошибку - «Illegal Operation - - недопустимая операция». -

-
-

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

-
./configure --prefix=/usr          \
-            --disable-static       \
-            --with-gcc-arch=native
-
-

- Значение параметров configure: -

-
-
- --with-gcc-arch=native -
-
-

- Убедитесь, что GCC оптимизируется для текущей системы. Если - значение не указано, то архитектура системы угадывается и - сгенерированный код может быть неправильным. Если - сгенерированный код будет скопирован из родной системы в - менее мощную, используйте архитектуру менее мощной системы в - качестве параметра. Дополнительные сведения об альтернативных - типах систем смотрите в - описании параметров x86 в руководстве GCC. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.50.2. - Содержимое пакета Libffi -

-
-
-
- Установленные библиотеки: - libffi.so -
-
-
-
-

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

- - - - - - - - - - - -
-

- libffi -

-
-

- Содержит внешний интерфейс для API-функций -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libpipeline.html b/lfs-12.1-sysv/chapter08/libpipeline.html deleted file mode 100644 index 4d5de75..0000000 --- a/lfs-12.1-sysv/chapter08/libpipeline.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - 8.67. Libpipeline-1.5.7 - - - - - - - - -

- 8.67. - Libpipeline-1.5.7 -

-
-
-

- Пакет Libpipeline содержит библиотеку для гибкого и удобного - управления подпроцессами. -

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

- 8.67.1. Установка пакета Libpipeline -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.67.2. Содержимое пакета Libpipeline -

-
-
-
- Установленные библиотеки: - libpipeline.so -
-
-
-
-

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

- - - - - - - - - - - -
-

- libpipeline -

-
-

- Эта библиотека используется для безопасного построения - конвейеров между подпроцессами. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libtool.html b/lfs-12.1-sysv/chapter08/libtool.html deleted file mode 100644 index 2a15fe0..0000000 --- a/lfs-12.1-sysv/chapter08/libtool.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - 8.36. Libtool-2.4.7 - - - - - - - - -

- 8.36. - Libtool-2.4.7 -

-
-
-

- Пакет Libtool содержит сценарий поддержки универсальной библиотеки - GNU. Это упрощает использование общих библиотек благодаря - согласованному переносимому интерфейсу. -

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

- 8.36.1. Установка пакета Libtool -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make -k check
-

- Известно, что пять тестов в среде сборки LFS завершаются неудачно - из-за циклической зависимости, но эти тесты проходят успешно, если - запустить их повторно после установки automake. Кроме того, в - grep-3.8 или более поздней версии два теста вызовут предупреждение - для регулярных выражений, несовместимых с POSIX и завершатся - ошибкой. -

-

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

-
make install
-

- Удалите ненужную статическую библиотеку: -

-
rm -fv /usr/lib/libltdl.a
-
-
-

- 8.36.2. - Содержимое пакета Libtool -

-
-
-
- Установленные программы: - libtool и libtoolize -
-
- Установленные библиотеки: - libltdl.so -
-
- Созданные каталоги: - /usr/include/libltdl и - /usr/share/libtool -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- libtool -

-
-

- Обеспечивает общие услуги поддержки при сборке библиотек -

-
-

- libtoolize -

-
-

- Предоставляет стандартный способ добавления поддержки - libtool в - пакет -

-
-

- libltdl -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/libxcrypt.html b/lfs-12.1-sysv/chapter08/libxcrypt.html deleted file mode 100644 index 1241823..0000000 --- a/lfs-12.1-sysv/chapter08/libxcrypt.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - 8.26. Libxcrypt-4.4.36 - - - - - - - - -

- 8.26. - Libxcrypt-4.4.36 -

-
-
-

- Пакет Libxcrypt содержит современную библиотеку для одностороннего - хэширования паролей. -

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

- 8.26.1. Установка пакета Libxcrypt -

-

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

-
./configure --prefix=/usr                \
-            --enable-hashes=strong,glibc \
-            --enable-obsolete-api=no     \
-            --disable-static             \
-            --disable-failure-tokens
-
-

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

-
-
- --enable-hashes=strong,glibc -
-
-

- Создает хэши, используя надежные алгоритмы хэширования, - рекомендуемые для безопасности, и алгоритмы хэширования, - предоставляемые традиционной библиотекой Glibc libcrypt для совместимости. -

-
-
- --enable-obsolete-api=no -
-
-

- Отключает устаревшие функции API. Они не нужны для - современной системы Linux, собранной из исходного кода. -

-
-
- --disable-failure-tokens -
-
-

- Отключает признак токена сбоя. Он необходим для совместимости - с традиционными хэш-библиотеками некоторых платформ, но - система Linux, основанная на Glibc, в нем не нуждается. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
- [Примечание] -

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

-

- С помощью приведенных выше инструкций были отключены устаревшие - функции API, поскольку ни один пакет, установленный путем - компиляции из исходных кодов, не будет связываться с ними во - время выполнения. Однако известные двоичные приложения, которые - используют эти функции, требуют ABI версии 1. Если вам необходим - этот функционал для какого-либо приложения, предоставляемого - только в бинарном виде, или для совместимости с LSB, соберите - пакет заново с помощью следующих команд: -

-
make distclean
-./configure --prefix=/usr                \
-            --enable-hashes=strong,glibc \
-            --enable-obsolete-api=glibc  \
-            --disable-static             \
-            --disable-failure-tokens
-make
-cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib
-
-
-
-

- 8.26.2. - Содержимое пакета Libxcrypt -

-
-
-
- Установленные библиотеки: - libcrypt.so -
-
-
-
-

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

- - - - - - - - - - - -
-

- libcrypt -

-
-

- Содержит функции для хэширования паролей -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/m4.html b/lfs-12.1-sysv/chapter08/m4.html deleted file mode 100644 index c845fd3..0000000 --- a/lfs-12.1-sysv/chapter08/m4.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - 8.12. M4-1.4.19 - - - - - - - - -

- 8.12. M4-1.4.19 -

-
-
-

- Пакет M4 содержит макропроцессор. -

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

- 8.12.1. Установка пакета M4 -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.12.2. Содержимое - пакета M4 -

-
-
-
- Установленные программы: - m4 -
-
-
-
-

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

- - - - - - - - - - - -
-

- m4 -

-
-

- Копирует указанные файлы, одновременно расширяя - содержащиеся в них макросы. Эти макросы являются либо - встроенными, либо определяемыми пользователем и могут - принимать любое количество аргументов. Помимо выполнения - макросов, m4 имеет встроенные - функции для включения указанных файлов, выполнения команд - Unix, выполнения целочисленной арифметики, - манипулирования текстом, рекурсии и т.д. Программа - m4 может - использоваться либо как интерфейс к компилятору, либо как - самостоятельный макропроцессор -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/make.html b/lfs-12.1-sysv/chapter08/make.html deleted file mode 100644 index b3a537d..0000000 --- a/lfs-12.1-sysv/chapter08/make.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - 8.68. Make-4.4.1 - - - - - - - - -

- 8.68. Make-4.4.1 -

-
-
-

- Пакет Make содержит программу, управляющую генерацией исполняемых и - других файлов, из исходного кода. -

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

- 8.68.1. Установка пакета Make -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
chown -R tester .
-su tester -c "PATH=$PATH make check"
-

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

-
make install
-
-
-

- 8.68.2. Содержимое - пакета Make -

-
-
-
- Установленные программы: - make -
-
-
-
-

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

- - - - - - - - - - - -
-

- make -

-
-

- Автоматически определяет, какие части пакета необходимо - (пере)компилировать и запускает соответствующие команды. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/man-db.html b/lfs-12.1-sysv/chapter08/man-db.html deleted file mode 100644 index 09d54d7..0000000 --- a/lfs-12.1-sysv/chapter08/man-db.html +++ /dev/null @@ -1,761 +0,0 @@ - - - - - - 8.76. Man-DB-2.12.0 - - - - - - - - -

- 8.76. - Man-DB-2.12.0 -

-
-
-

- Пакет Man-DB содержит программы для поиска и просмотра справочных - страниц. -

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

- 8.76.1. Установка пакета Man-DB -

-

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

-
./configure --prefix=/usr                         \
-            --docdir=/usr/share/doc/man-db-2.12.0 \
-            --sysconfdir=/etc                     \
-            --disable-setuid                      \
-            --enable-cache-owner=bin              \
-            --with-browser=/usr/bin/lynx          \
-            --with-vgrind=/usr/bin/vgrind         \
-            --with-grap=/usr/bin/grap             \
-            --with-systemdtmpfilesdir=            \
-            --with-systemdsystemunitdir=
-
-

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

-
-
- --disable-setuid -
-
-

- Отключает установку setuid пользователю man при сборке программы man. -

-
-
- --enable-cache-owner=bin -
-
-

- Изменяет владельца файлов общесистемного кэша на пользователя - bin. -

-
-
- --with-... -
-
-

- Эти три аргумента используются для настройки программ по - умолчанию. lynx - текстовый веб-браузер (см. инструкции по установке в книге - BLFS), vgrind - преобразует исходные коды программ во входные данные Groff, - grap удобен для - набора графов в документах Groff. Программы vgrind и grap обычно не нужны для - просмотра справочных страниц. Они не входят в состав книг LFS - или BLFS, но вы можете установить их самостоятельно после - сборки LFS. -

-
-
- --with-systemd... -
-
-

- Эти параметры предотвращают установку ненужных каталогов и - файлов systemd. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.76.2. Не англоязычные страницы руководств в LFS -

-

- В следующей таблице приведены наборы символов, в которых могут быть - закодированы страницы руководств пакета Man-DB, устанавливаемые в - директории /usr/share/man/<ll>. - Кроме этого, Man-DB правильно определяет, имеют ли справочные - страницы, установленные в этом каталоге, кодировку UTF-8. -

-
- -

- Таблица 8.1. Допустимые кодировки старых 8-битных страниц - руководств -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Язык (код) - - Кодировка - - Язык (код) - - Кодировка -
- Датский (da) - - ISO-8859-1 - - Хорватский (hr) - - ISO-8859-2 -
- Немецкий (de) - - ISO-8859-1 - - Венгерский (hu) - - ISO-8859-2 -
- Английский (en) - - ISO-8859-1 - - Японский (ja) - - EUC-JP -
- Испанский (es) - - ISO-8859-1 - - Корейский (ko) - - EUC-KR -
- Эстонский (et) - - ISO-8859-1 - - Литовский (lt) - - ISO-8859-13 -
- Финский (fi) - - ISO-8859-1 - - Латышский (lv) - - ISO-8859-13 -
- Французский (fr) - - ISO-8859-1 - - Македонский (mk) - - ISO-8859-5 -
- Ирландский (ga) - - ISO-8859-1 - - Польский (pl) - - ISO-8859-2 -
- Галисийский (gl) - - ISO-8859-1 - - Румынский (ro) - - ISO-8859-2 -
- Индонезийский (id) - - ISO-8859-1 - - Русский (ru) - - KOI8-R -
- Исландский (is) - - ISO-8859-1 - - Словацкий (sk) - - ISO-8859-2 -
- Итальянский (it) - - ISO-8859-1 - - Словенский (sl) - - ISO-8859-2 -
- Норвежский букмол (nb) - - ISO-8859-1 - - Сербский латинский (sr@latin) - - ISO-8859-2 -
- Голландский (nl) - - ISO-8859-1 - - Сербский (sr) - - ISO-8859-5 -
- Норвежский нюнорск (nn) - - ISO-8859-1 - - Турецкий (tr) - - ISO-8859-9 -
- Норвежский (no) - - ISO-8859-1 - - Украинский (uk) - - KOI8-U -
- Португальский (pt) - - ISO-8859-1 - - Вьетнамский (vi) - - TCVN5712-1 -
- Шведский (sv) - - ISO-8859-1 - - Упрощенный китайский (zh_CN) - - GBK -
- Белорусский (be) - - CP1251 - - Упрощенный китайский, Сингапур (zh_SG) - - GBK -
- Болгарский (bg) - - CP1251 - - Традиционный китайский, Гонконг (zh_HK) - - BIG5HKSCS -
- Чешский (cs) - - ISO-8859-2 - - Традиционный китайский (zh_TW) - - BIG5 -
- Греческий (el) - - ISO-8859-7 - -   - -   -
-
-

-
- [Примечание] -

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

-

- Страницы руководств на языках, которые не указаны в списке, не - поддерживаются. -

-
-
-
-

- 8.76.3. - Содержимое пакета Man-DB -

-
-
-
- Установленные программы: - accessdb, apropos (ссылка на whatis), - catman, lexgrog, man, man-recode, mandb, manpath, и - whatis -
-
- Установленные библиотеки: - libman.so и libmandb.so (обе в - /usr/lib/man-db) -
-
- Созданные каталоги: - /usr/lib/man-db, /usr/libexec/man-db и - /usr/share/doc/man-db-2.12.0 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- accessdb -

-
-

- Выводит содержимое базы данных whatis в удобочитаемой - форме. -

-
-

- apropos -

-
-

- Выполняет поиск в базе данных whatis и отображает - краткое описание системных команд, содержащих заданную - строку -

-
-

- catman -

-
-

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

-
-

- lexgrog -

-
-

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

-
-

- man -

-
-

- Форматирует и отображает запрошенную страницу руководства -

-
-

- man-recode -

-
-

- Преобразует страницы руководства в другую кодировку -

-
-

- mandb -

-
-

- Создает или обновляет базу данных whatis -

-
-

- manpath -

-
-

- Отображает содержимое переменной $MANPATH или (если - переменная $MANPATH не установлена) соответствующий путь - поиска, определяемый в настройках man.conf и в - пользовательском окружении -

-
-

- whatis -

-
-

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

-
-

- libman -

-
-

- Включает поддержку man во время выполнения -

-
-

- libmandb -

-
-

- Включает поддержку man во время выполнения -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/man-pages.html b/lfs-12.1-sysv/chapter08/man-pages.html deleted file mode 100644 index e51ddfe..0000000 --- a/lfs-12.1-sysv/chapter08/man-pages.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - 8.3. Man-pages-6.06 - - - - - - - - -

- 8.3. - Man-pages-6.06 -

-
-
-

- Пакет Man-pages содержит более 2400 справочных руководств. -

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

- 8.3.1. Установка пакета Man-pages -

-

- Удалите две справочные страницы для функций хэширования паролей. - Libxcrypt предоставит улучшенную - версию этих справочных страниц: -

-
rm -v man3/crypt*
-

- Установите пакет Man-pages выполнив команду: -

-
make prefix=/usr install
-
-
-

- 8.3.2. - Содержимое пакета Man-pages -

-
-
-
- Установленные файлы: - различные справочные страницы -
-
-
-
-

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

- - - - - - - - - - - -
-

- man pages -

-
-

- Описывают функции языка программирования C, важные файлы - устройств и важные файлы конфигурации. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/markupsafe.html b/lfs-12.1-sysv/chapter08/markupsafe.html deleted file mode 100644 index a615f73..0000000 --- a/lfs-12.1-sysv/chapter08/markupsafe.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - 8.73. MarkupSafe-2.1.5 - - - - - - - - -

- 8.73. - MarkupSafe-2.1.5 -

-
-
-

- MarkupSafe — это модуль Python, реализующий безопасное - использование строк в языках разметки XML/HTML/XHTML -

-
-
-
- Приблизительное время сборки: - менее 0.1 SBU -
-
- Требуемое дисковое - пространство: 508 KB -
-
-
-
-
-

- 8.73.1. Установка пакета MarkupSafe -

-

- Скомпилируйте MarkupSafe с помощью следующей команды: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

- С этим пакетом не поставляется тестов. -

-

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

-
pip3 install --no-index --no-user --find-links dist Markupsafe
-
-
-

- 8.73.2. - Содержимое пакета MarkupSafe -

-
-
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/MarkupSafe-2.1.5.dist-info -
-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/meson.html b/lfs-12.1-sysv/chapter08/meson.html deleted file mode 100644 index fcba2c8..0000000 --- a/lfs-12.1-sysv/chapter08/meson.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - 8.56. Meson-1.3.2 - - - - - - - - -

- 8.56. Meson-1.3.2 -

-
-
-

- Meson — это система сборки с открытым исходным кодом, разработанная - таким образом, чтобы быть очень быстрой и максимально удобной для - пользователя. -

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

- 8.56.1. Установка пакета Meson -

-

- Скомпилируйте Meson с помощью следующей команды: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

- Для набора тестов требуются некоторые пакеты, выходящие за рамки - LFS. -

-

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

-
pip3 install --no-index --find-links dist meson
-install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson
-install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson
-
-

- Значение параметров установки: -

-
-
- -w - dist -
-
-

- Помещает собранный wheels в каталог dist. -

-
-
- --find-links - dist -
-
-

- Устанавливает wheels из каталога dist. -

-
-
-
-
-
-

- 8.56.2. Содержимое - пакета Meson -

-
-
-
- Установленные программы: - meson -
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/meson-1.3.2.dist-info - и /usr/lib/python3.12/site-packages/mesonbuild -
-
-
-
-

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

- - - - - - - - - - - -
-

- meson -

-
-

- Высокопроизводительная система сборки -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/mpc.html b/lfs-12.1-sysv/chapter08/mpc.html deleted file mode 100644 index 19cd64b..0000000 --- a/lfs-12.1-sysv/chapter08/mpc.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - 8.22. MPC-1.3.1 - - - - - - - - -

- 8.22. MPC-1.3.1 -

-
-
-

- Пакет MPC содержит библиотеку для арифметики комплексных чисел с - высокой точностью и правильным округлением результата. -

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

- 8.22.1. Установка пакета MPC -

-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --docdir=/usr/share/doc/mpc-1.3.1
-

- Скомпилируйте пакет и сгенерируйте HTML-документацию: -

-
make
-make html
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

- Установите пакет и документацию к нему: -

-
make install
-make install-html
-
-
-

- 8.22.2. Содержимое - пакета MPC -

-
-
-
- Установленные библиотеки: - libmpc.so -
-
- Созданные каталоги: - /usr/share/doc/mpc-1.3.1 -
-
-
-
-

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

- - - - - - - - - - - -
-

- libmpc -

-
-

- Содержит сложные математические функции -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/mpfr.html b/lfs-12.1-sysv/chapter08/mpfr.html deleted file mode 100644 index 42abb97..0000000 --- a/lfs-12.1-sysv/chapter08/mpfr.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - 8.21. MPFR-4.2.1 - - - - - - - - -

- 8.21. MPFR-4.2.1 -

-
-
-

- Пакет MPFR содержит функции для двоичных вычислений с плавающей - запятой произвольной точности. -

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

- 8.21.1. Установка пакета MPFR -

-

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

-
./configure --prefix=/usr        \
-            --disable-static     \
-            --enable-thread-safe \
-            --docdir=/usr/share/doc/mpfr-4.2.1
-

- Скомпилируйте пакет и сгенерируйте HTML-документацию: -

-
make
-make html
-
- [Важно] -

- Важно -

-

- Набор тестов для MPFR в этом разделе считается критически важным. - Ни в коем случае не пропускайте его. -

-
-

- Выполните тестирование и убедитесь, что все 198 тестов пройдены: -

-
make check
-

- Установите пакет и документацию к нему: -

-
make install
-make install-html
-
-
-

- 8.21.2. Содержимое - пакета MPFR -

-
-
-
- Установленные библиотеки: - libmpfr.so -
-
- Созданные каталоги: - /usr/share/doc/mpfr-4.2.1 -
-
-
-
-

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

- - - - - - - - - - - -
-

- libmpfr -

-
-

- Содержит математические функции с произвольной точностью -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/ncurses.html b/lfs-12.1-sysv/chapter08/ncurses.html deleted file mode 100644 index 359af24..0000000 --- a/lfs-12.1-sysv/chapter08/ncurses.html +++ /dev/null @@ -1,548 +0,0 @@ - - - - - - 8.29. Ncurses-6.4-20230520 - - - - - - - - -

- 8.29. - Ncurses-6.4-20230520 -

-
-
-

- Пакет Ncurses содержит библиотеки для независимой от терминала - обработки ввода/вывода -

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

- 8.29.1. Установка пакета Ncurses -

-

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

-
./configure --prefix=/usr           \
-            --mandir=/usr/share/man \
-            --with-shared           \
-            --without-debug         \
-            --without-normal        \
-            --with-cxx-shared       \
-            --enable-pc-files       \
-            --enable-widec          \
-            --with-pkg-config-libdir=/usr/lib/pkgconfig
-
-

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

-
-
- --with-shared -
-
-

- Этот параметр позволяет Ncurses собирать и устанавливать - общие библиотеки C. -

-
-
- --without-normal -
-
-

- Этот параметр отключает сборку и установку большинства - статических библиотек C. -

-
-
- --without-debug -
-
-

- Этот параметр предотвращает сборку и установку отладочных - библиотек. -

-
-
- --with-cxx-shared -
-
-

- Это аргумент позволяет Ncurses собирать и устанавливать общие - привязки C++. А также предотвращает сборку и установку - статических привязок C++. -

-
-
- --enable-pc-files -
-
-

- Этот параметр генерирует и устанавливает файлы .pc для - pkg-config. -

-
-
- --enable-widec -
-
-

- Этот параметр указывает, что при сборке пакета вместо обычных - библиотек (например, libncurses.so.6.4) будут использоваться - библиотеки с расширенным набором символов (например, - libncursesw.so.6.4). Библиотеки - с расширенным набором символов могут использоваться как с - многобайтовыми локалями, так и с традиционными 8-битовыми - локалями, тогда как обычные библиотеки работают только с - 8-битовыми локалями. Библиотеки с расширенным набором - символов и обычные библиотеки совместимы на уровне исходного - кода, но не совместимыми на уровне двоичного. -

-
-
-
-

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

-
make
-

- У этого пакета есть набор тестов, но его можно запустить только - после того, как пакет будет установлен. Тесты находятся в каталоге - test/. Дополнительные сведения - смотрите в файле README в этом - каталоге. -

-

- Установка этого пакета приведет к перезаписи libncursesw.so.6.4. Это может привести к сбою - процесса оболочки, который использует код и данные из файла - библиотеки. Установите пакет с помощью DESTDIR и правильно замените файл библиотеки с - помощью команды install(также отредактирован - заголовочный файл curses.h, чтобы - обеспечить использование ABI расширенного набора символов, как это - сделано в Раздел 6.3, - «Ncurses-6.4-20230520»). -

-
make DESTDIR=$PWD/dest install
-install -vm755 dest/usr/lib/libncursesw.so.6.4 /usr/lib
-rm -v  dest/usr/lib/libncursesw.so.6.4
-sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-    -i dest/usr/include/curses.h
-cp -av dest/* /
-

- Многие приложения ожидают, что компоновщик может найти библиотеки - Ncurses, не поддерживающие расширенный набор символов. Используя - трюк ниже, свяжите такие приложения с библиотеками расширенного - набора символов с помощью символических ссылок (обратите внимание, - что ссылки .so безопасны только в том - случае, если curses.h отредактирован - так, чтобы всегда использовать ABI расширенного набора символов): -

-
for lib in ncurses form panel menu ; do
-    ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so
-    ln -sfv ${lib}w.pc    /usr/lib/pkgconfig/${lib}.pc
-done
-

- Убедитесь, что старые приложения, которым нужна -lcurses для сборки, собираются правильно: -

-
ln -sfv libncursesw.so /usr/lib/libcurses.so
-

- По желанию установите документацию Ncurses: -

-
cp -v -R doc -T /usr/share/doc/ncurses-6.4-20230520
-
- [Примечание] -

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

-

- С помощью приведенных выше инструкций не создаются библиотеки - Ncurses, не использующие расширенный набор символов, поскольку ни - один пакет, установленный путем компиляции из исходного кода, не - будет связан с ними во время выполнения. Тем не менее, известно - что некоторые бинарные приложения, которые связаны с библиотекой - Ncurses и не поддерживающие расширенный набор символов, требуют - наличия версии 5. Если вам необходимо иметь такие библиотеки - из-за какого-либо приложения, имеющегося только в бинарном виде, - или для обеспечения совместимости с LSB, соберите пакет с помощью - следующих команд: -

-
make distclean
-./configure --prefix=/usr    \
-            --with-shared    \
-            --without-normal \
-            --without-debug  \
-            --without-cxx-binding \
-            --with-abi-version=5
-make sources libs
-cp -av lib/lib*.so.5* /usr/lib
-
-
-
-

- 8.29.2. - Содержимое пакета Ncurses -

-
-
-
- Установленные программы: - captoinfo (ссылка на tic), clear, - infocmp, infotocap (ссылка на tic), ncursesw6-config, reset - (ссылка на tset), tabs, tic, toe, tput и tset -
-
- Установленные библиотеки: - libcurses.so (символическая ссылка), - libform.so (символическая ссылка), libformw.so, libmenu.so - (символическая ссылка), libmenuw.so, libncurses.so - (символическая ссылка), libncursesw.so, libncurses++w.so, - libpanel.so (символическая ссылка) и libpanelw.so, -
-
- Созданные каталоги: - /usr/share/tabset, /usr/share/terminfo и - /usr/share/doc/ncurses-6.4-20230520 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- captoinfo -

-
-

- Преобразует описание termcap в описание terminfo -

-
-

- clear -

-
-

- Очищает экран, если это возможно -

-
-

- infocmp -

-
-

- Сравнивает или показывает описания terminfo -

-
-

- infotocap -

-
-

- Преобразует описание terminfo в описание termcap -

-
-

- ncursesw6-config -

-
-

- Предоставляет информацию о конфигурации пакету ncurses -

-
-

- reset -

-
-

- Повторно инициализирует терминал со значениями по - умолчанию -

-
-

- tabs -

-
-

- Очищает и устанавливает размеры табуляции в терминале -

-
-

- tic -

-
-

- Компилятор описания terminfo, преобразует файл terminfo - из исходного формата в двоичный, который необходим для - подпрограмм библиотеки ncurses [Файл terminfo содержит - информацию о возможностях конкретного терминала.] -

-
-

- toe -

-
-

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

-
-

- tput -

-
-

- Позволяет использовать в командной оболочке настройки, - относящиеся к особенностям конкретного терминала; может - также использоваться для сброса или инициализации - терминала, либо для вывода полного имени терминала -

-
-

- tset -

-
-

- Может использоваться для инициализации терминалов -

-
-

- libncursesw -

-
-

- Содержит функции, отображающие различными способами текст - на экране терминала. Хорошим примером использования этих - функций является меню, отображаемое командой make menuconfig при - настройке ядра -

-
-

- libncurses++w -

-
-

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

-
-

- libformw -

-
-

- Содержит функции, реализующие формы -

-
-

- libmenuw -

-
-

- Содержит функции, реализующие меню -

-
-

- libpanelw -

-
-

- Содержит функции, реализующие панели -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/ninja.html b/lfs-12.1-sysv/chapter08/ninja.html deleted file mode 100644 index c716e2b..0000000 --- a/lfs-12.1-sysv/chapter08/ninja.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - 8.55. Ninja-1.11.1 - - - - - - - - -

- 8.55. Ninja-1.11.1 -

-
-
-

- Ninja - небольшая система сборки ориентированная на скорость. -

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

- 8.55.1. Установка пакета Ninja -

-

- При запуске ninja - обычно использует максимальное количество процессов параллельно. По - умолчанию это количество ядер в системе плюс два. В некоторых - случаях это может привести к перегреву процессора или нехватке - памяти в системе. Когда ninja вызывается из командной - строки, передача параметра -jN ограничит количество параллельных - процессов. Некоторые пакеты встраивают выполнение ninja и параметр -j не - передается. -

-

- Использование приведенной ниже необязательной процедуры позволяет - пользователю ограничить количество параллельных процессов с помощью - переменной окружения NINJAJOBS. Пример, настройки: -

-
export NINJAJOBS=4
-

- ограничит ninja - четырьмя параллельными процессами. -

-

- По желанию, добавьте возможность использовать переменную окружения - NINJAJOBS, выполнив следующую команду: -

-
sed -i '/int Guess/a \
-  int   j = 0;\
-  char* jobs = getenv( "NINJAJOBS" );\
-  if ( jobs != NULL ) j = atoi( jobs );\
-  if ( j > 0 ) return j;\
-' src/ninja.cc
-

- Соберите Ninja с помощью команды: -

-
python3 configure.py --bootstrap
-
-

- Значение параметров сборки: -

-
-
- --bootstrap -
-
-

- Этот параметр перестраивает Ninja под текущую систему. -

-
-
-
-

- Чтобы протестировать пакет, выполните: -

-
./ninja ninja_test
-./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
-

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

-
install -vm755 ninja /usr/bin/
-install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja
-install -vDm644 misc/zsh-completion  /usr/share/zsh/site-functions/_ninja
-
-
-

- 8.55.2. Содержимое - пакета Ninja -

-
-
-
- Установленные программы: - ninja -
-
-
-
-

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

- - - - - - - - - - - -
-

- ninja -

-
-

- это система сборки Ninja -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/openssl.html b/lfs-12.1-sysv/chapter08/openssl.html deleted file mode 100644 index 133c93f..0000000 --- a/lfs-12.1-sysv/chapter08/openssl.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - 8.47. OpenSSL-3.2.1 - - - - - - - - -

- 8.47. - OpenSSL-3.2.1 -

-
-
-

- Пакет OpenSSL содержит инструменты управления и библиотеки, - относящиеся к криптографии. Они полезны для предоставления - криптографических функций другим пакетам, таким как OpenSSH, - приложениям электронной почты и веб-браузерам (для доступа к сайтам - по HTTPS). -

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

- 8.47.1. Установка пакета OpenSSL -

-

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

-
./config --prefix=/usr         \
-         --openssldir=/etc/ssl \
-         --libdir=lib          \
-         shared                \
-         zlib-dynamic
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
HARNESS_JOBS=$(nproc) make test
-

- Известно, что один тест, 30-test_afalg.t, завершится ошибкой, если - в ядре хоста не включен параметр CONFIG_CRYPTO_USER_API_SKCIPHER или отсутствуют - какие-либо опции, обеспечивающих реализацию AES с CBC (например, - комбинация CONFIG_CRYPTO_AES и - CONFIG_CRYPTO_CBC или CONFIG_CRYPTO_AES_NI_INTEL, если процессор - поддерживает AES-NI). В случае неудачи его можно смело - игнорировать. -

-

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

-
sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
-make MANSUFFIX=ssl install
-

- Добавьте версию к имени каталога документации, чтобы структура - соответствовала другим пакетам: -

-
mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.2.1
-

- По желанию, установите дополнительную документацию: -

-
cp -vfr doc/* /usr/share/doc/openssl-3.2.1
-
- [Примечание] -

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

-

- Вы должны обновить OpenSSL, когда будет выпущена новая версия, - исправляющая уязвимости. Начиная с OpenSSL 3.0.0, схема - управления версиями OpenSSL следует формату MAJOR.MINOR.PATCH. - Совместимость API/ABI гарантируется для одной и той же ОСНОВНОЙ - (MAJOR) версии. Поскольку LFS устанавливает только общие - библиотеки, нет необходимости перекомпилировать пакеты, которые - ссылаются на libcrypto.so или - libssl.so, при обновлении до версии с тем же ОСНОВНЫМ номером - версии. -

-

- Все запущенные программы, связанные с этими библиотеками, после - обновления необходимо остановить и перезапустить. Для получения - более подробной информации ознакомьтесь с соответствующей записью - в Раздел 8.2.1, - «Проблемы с обновлением». -

-
-
-
-

- 8.47.2. - Содержимое пакета OpenSSL -

-
-
-
- Установленные программы: - c_rehash и openssl -
-
- Установленные библиотеки: - libcrypto.so и libssl.so -
-
- Созданные каталоги: - /etc/ssl, /usr/include/openssl, - /usr/lib/engines и /usr/share/doc/openssl-3.2.1 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- c_rehash -

-
-

- это Perl скрипт, который - сканирует все файлы в каталоге и добавляет символические - ссылки к их хеш-значениям. Использование c_rehash считается - устаревшим и должно быть заменено командой openssl rehash -

-
-

- openssl -

-
-

- это инструмент командной строки для использования - различных криптографических функций библиотеки - OpenSSL из оболочки. Его - можно использовать для различных функций, которые - задокументированы в openssl(1) -

-
-

- libcrypto.so -

-
-

- реализует широкий спектр криптографических алгоритмов, - используемых в различных интернет-стандартах. Услуги, - предоставляемые этой библиотекой, используют OpenSSL-реализацию SSL, TLS и - S/MIME, а также для реализации OpenSSH, OpenPGP и других криптографических - стандартов. -

-
-

- libssl.so -

-
-

- реализует протокол безопасности транспортного уровня (TLS - v1). Он предоставляет богатый API, документацию по - которому можно найти в руководстве ssl(7) -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/patch.html b/lfs-12.1-sysv/chapter08/patch.html deleted file mode 100644 index aa87bd6..0000000 --- a/lfs-12.1-sysv/chapter08/patch.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - 8.69. Patch-2.7.6 - - - - - - - - -

- 8.69. Patch-2.7.6 -

-
-
-

- Пакет Patch содержит программу для изменения или создания файлов - путём наложение «патча», обычно, создаваемого программой - diff. -

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

- 8.69.1. Установка пакета Patch -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.69.2. Содержимое - пакета Patch -

-
-
-
- Установленные программы: - patch -
-
-
-
-

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

- - - - - - - - - - - -
-

- patch -

-
-

- Изменяет файлы в соответствии с файлом исправления (патч - обычно представляет собой список отличий, создаваемый с - помощью программы diff. Применяя их к - исходным файлам, patch создает - исправленные версии.) -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/perl.html b/lfs-12.1-sysv/chapter08/perl.html deleted file mode 100644 index 56c1b8b..0000000 --- a/lfs-12.1-sysv/chapter08/perl.html +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - 8.42. Perl-5.38.2 - - - - - - - - -

- 8.42. Perl-5.38.2 -

-
-
-

- Пакет Perl содержит практический язык для извлечения данных и - составления отчётов (Practical Extraction and Report Language). -

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

- 8.42.1. Установка пакета Perl -

-

- Эта версия Perl собирает модули Compress::Raw::Zlib и - Compress::Raw::BZip2. По умолчанию Perl будет использовать - внутреннюю копию исходников для сборки. Выполните следующую - команду, чтобы Perl использовал библиотеки, установленные в - системе: -

-
export BUILD_ZLIB=False
-export BUILD_BZIP2=0
-

- Чтобы иметь полный контроль над настройкой Perl, вы можете удалить - параметры «-des» из следующей команды и вручную выбрать - способ сборки этого пакета. В качестве альтернативы, используйте - команду точно так, как указано ниже, чтобы использовать значения по - умолчанию, которые Perl определяет автоматически: -

-
sh Configure -des                                         \
-             -Dprefix=/usr                                \
-             -Dvendorprefix=/usr                          \
-             -Dprivlib=/usr/lib/perl5/5.38/core_perl      \
-             -Darchlib=/usr/lib/perl5/5.38/core_perl      \
-             -Dsitelib=/usr/lib/perl5/5.38/site_perl      \
-             -Dsitearch=/usr/lib/perl5/5.38/site_perl     \
-             -Dvendorlib=/usr/lib/perl5/5.38/vendor_perl  \
-             -Dvendorarch=/usr/lib/perl5/5.38/vendor_perl \
-             -Dman1dir=/usr/share/man/man1                \
-             -Dman3dir=/usr/share/man/man3                \
-             -Dpager="/usr/bin/less -isR"                 \
-             -Duseshrplib                                 \
-             -Dusethreads
-
-

- Значение параметров Configure: -

-
-
- -Dpager="/usr/bin/less - -isR" -
-
-

- Параметр указывает использовать less вместо more. -

-
-
- -Dman1dir=/usr/share/man/man1 - -Dman3dir=/usr/share/man/man3 -
-
-

- Так как Groff еще не установлен, Configure не будет - создавать man-страницы для Perl. Эти параметры переопределяют - это поведение. -

-
-
- -Dusethreads -
-
-

- Собрать Perl с поддержкой потоков. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет (примерно 11 SBU), выполните: -

-
TEST_JOBS=$(nproc) make test_harness
-

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

-
make install
-unset BUILD_ZLIB BUILD_BZIP2
-
-
-

- 8.42.2. Содержимое - пакета Perl -

-
-
-
- Установленные программы: - corelist, cpan, enc2xs, encguess, h2ph, - h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.38.2 (жесткая - ссылка на perl), perlbug, perldoc, perlivp, perlthanks (жесткая - ссылка на perlbug), piconv, pl2pm, pod2html, pod2man, pod2text, - pod2usage, podchecker, podselect, prove, ptar, ptardiff, - ptargrep, shasum, splain, xsubpp и zipdetails -
-
- Установленные библиотеки: - Список слишком большой для - перечисления -
-
- Созданные каталоги: - /usr/lib/perl5 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- corelist -

-
-

- Интерфейс командной строки для Module::CoreList -

-
-

- cpan -

-
-

- Позволяет получать из командной строки доступ к архиву - документации и программ Perl (Comprehensive Perl Archive - Network - CPAN) -

-
-

- enc2xs -

-
-

- Собирает расширение Perl для модуля Encode либо с - использование таблицы символов Unicode, либо с - использованием файлов кодирования Tcl -

-
-

- encguess -

-
-

- Определяет тип кодировки одного или нескольких файлов -

-
-

- h2ph -

-
-

- Конвертирует заголовочные файлы Си .h в заголовочные файлы Perl - .ph -

-
-

- h2xs -

-
-

- Конвертирует заголовочные файлы Си .h в расширения Perl -

-
-

- instmodsh -

-
-

- Сценарий оболочки для проверки установленных модулей - Perl; он может создать архив из установленного модуля. -

-
-

- json_pp -

-
-

- Преобразует данные между определенными входными и - выходными форматами -

-
-

- libnetcfg -

-
-

- Может использоваться для настройки Perl-модуля - libnet -

-
-

- perl -

-
-

- Объединяет лучшие возможности C, sed, awk и sh в одном языке -

-
-

- perl5.38.2 -

-
-

- Жесткая ссылка на perl -

-
-

- perlbug -

-
-

- Используется для создания отчетов об ошибках в Perl или - модулях, которые поставляются с ним, и отправки их по - почте -

-
-

- perldoc -

-
-

- Отображает часть документации в формате pod, которая - встроена в дерево установки Perl или в сценарий Perl -

-
-

- perlivp -

-
-

- Процедура проверки установки Perl; ее можно использовать - для проверки правильности установки Perl и его библиотек -

-
-

- perlthanks -

-
-

- Используется для создания сообщения-благодарности, - отсылаемого разработчикам Perl -

-
-

- piconv -

-
-

- Perl версия конвертера iconv, используемого - для кодирования символов -

-
-

- pl2pm -

-
-

- Инструмент для грубого конвертирования файлов - .pl Perl4 в модули - .pm Perl5 -

-
-

- pod2html -

-
-

- Преобразует файлы из формата pod в формат HTML -

-
-

- pod2man -

-
-

- Преобразует данные pod в форматированный входной поток - для *roff -

-
-

- pod2text -

-
-

- Преобразует данные pod в форматированный текст ASCII -

-
-

- pod2usage -

-
-

- Печатает в файл сообщения usage из встроенных документов - pod -

-
-

- podchecker -

-
-

- Проверяет синтаксис файлов документации формата pod -

-
-

- podselect -

-
-

- Отображает выбранные разделы документации pod -

-
-

- prove -

-
-

- Инструмент командной строки для выполнения тестов с - помощью модуля Test::Harness -

-
-

- ptar -

-
-

- Программа, похожая на tar, написанная на Perl -

-
-

- ptardiff -

-
-

- Программа на Perl для сравнения распакованного и - нераспакованного архивов -

-
-

- ptargrep -

-
-

- Программа на Perl для текстового поиска по шаблону внутри - tar-архива -

-
-

- shasum -

-
-

- Печатает или проверяет контрольные суммы SHA -

-
-

- splain -

-
-

- Включает подробные предупреждения для диагностики в Perl -

-
-

- xsubpp -

-
-

- Преобразует код Perl XS в код C -

-
-

- zipdetails -

-
-

- Отображает сведения о внутренней структуре Zip-файла -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/pkgconf.html b/lfs-12.1-sysv/chapter08/pkgconf.html deleted file mode 100644 index c017df7..0000000 --- a/lfs-12.1-sysv/chapter08/pkgconf.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - 8.18. Pkgconf-2.1.1 - - - - - - - - -

- 8.18. - Pkgconf-2.1.1 -

-
-
-

- Пакет pkgconf является преемником pkg-config и содержит инструмент, - который позволяет передавать пути установки или пути к библиотекам - для инструментов сборки на этапе настройки (configure) и - сборки(make) пакетов. -

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

- 8.18.1. Установка пакета Pkgconf -

-

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

-
./configure --prefix=/usr              \
-            --disable-static           \
-            --docdir=/usr/share/doc/pkgconf-2.1.1
-

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

-
make
-

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

-
make install
-

- Для обеспечения совместимости с исходным Pkg-config, создайте две - символические ссылки: -

-
ln -sv pkgconf   /usr/bin/pkg-config
-ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1
-
-
-

- 8.18.2. - Содержимое пакета Pkgconf -

-
-
-
- Установленные программы: - pkgconf, pkg-config (ссылка на pkgconf) и - bomtool -
-
- Установленные библиотеки: - libpkgconf.so -
-
- Созданные каталоги: - /usr/share/doc/pkgconf-2.1.1 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - -
-

- pkgconf -

-
-

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

-
-

- bomtool -

-
-

- Генерирует спецификацию программного обеспечения из - файлов pkg-config с расширением .pc -

-
-

- libpkgconf -

-
-

- Содержит большую часть функций pkgconf, позволяя другим - инструментам, таким как IDE и компиляторы, использовать - его фреймворки -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/pkgmgt.html b/lfs-12.1-sysv/chapter08/pkgmgt.html deleted file mode 100644 index b8b3f94..0000000 --- a/lfs-12.1-sysv/chapter08/pkgmgt.html +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - 8.2. Управление пакетами - - - - - - - - -

- 8.2. Управление - пакетами -

-
-

- Управление пакетами — часто cпрашиваемое дополнение к книге LFS. - Менеджер пакетов позволяет отслеживать установку файлов, упрощая - удаление и обновление пакетов. Хороший менеджер пакетов также будет - обрабатывать конфигурационные файлы, чтобы сохранить пользовательские - настройки при переустановке или обновлении пакета. Прежде чем вы - начнете задаваться вопросом, НЕТ—в этом разделе не будет ни - говориться, ни рекомендоваться какой-либо конкретный менеджер - пакетов. Что он действительно предоставляет, так это обзор наиболее - популярных методов и того, как они работают. Идеальным менеджером - пакетов для вас может быть один из этих методов или комбинация двух и - более методов. В этом разделе кратко упоминаются проблемы, которые - могут возникнуть при обновлении пакетов. -

-

- Некоторые причины, по которым менеджер пакетов не упоминается в LFS - или BLFS представлены ниже: -

-
-
    -
  • -

    - Рассмотрение управления пакетами отвлекает внимание от целей - этих книг—обучения тому, как строится система Linux. -

    -
  • -
  • -

    - Существует множество решений для управления пакетами, каждое из - которых имеет свои сильные и слабые стороны. Трудно найти - такое, которое удовлетворит всех. -

    -
  • -
-
-

- Есть несколько советов, написанных на тему управления пакетами. - Посетите проект Советы - возможно вы найдете решение, которое соответствует вашим - потребностям. -

-
-

- 8.2.1. Проблемы с обновлением -

-

- Менеджер пакетов упрощает обновление до более новых версий после их - выпуска. Как правило, инструкции в книгах LFS и BLFS можно - использовать для обновления до более новых версий. Вот некоторые - моменты, о которых следует помнить при обновлении пакетов, особенно - в работающей системе. -

-
-
    -
  • -

    - Если нужно обновить ядро Linux (например, с 5.10.17 до - 5.10.18 или 5.11.1), дополнительно пересобирать ничего не - нужно. Система продолжит нормально работать благодаря четко - определенной границе между ядром и пользовательским - пространством. В частности, заголовки Linux API не нужно - обновлять вместе с ядром. Вам просто нужно перезагрузить - систему, чтобы использовать обновленное ядро. -

    -
  • -
  • -

    - Если необходимо обновить Glibc до более новой версии - (например, с Glibc-2.36 до Glibc-2.39) необходимо выполнить - некоторые дополнительные действия, чтобы избежать поломки - системы. Подробности читайте в Раздел 8.5, - «Glibc-2.39». -

    -
  • -
  • -

    - Если пакет, содержащий общую библиотеку, обновляется и имя - библиотеки изменилось, то любые пакеты, динамически связанные - с библиотекой, необходимо перекомпилировать, чтобы связать с - более новой библиотекой. (Обратите внимание, что между - версией пакета и именем библиотеки нет никакой связи.) - Например, рассмотрим пакет foo-1.2.3, который устанавливает - общую библиотеку с именем libfoo.so.1. Предположим, вы обновили пакет - до более новой версии foo-1.2.4, которая устанавливает общую - библиотеку с именем libfoo.so.2, все пакеты, которые - динамически связаны с libfoo.so.1, должны быть перекомпилированы - для связи с libfoo.so.2, чтобы - использовать новую версию библиотеки. Вы не должны удалять - старые библиотеки, пока все зависимые пакеты не будут - перекомпилированы. -

    -
  • -
  • -

    - Если пакет (прямо или косвенно) связан как со старым, так и с - новым именем общей библиотеки (например, пакет ссылается как - на libfoo.so.2, так и на - libbar.so.1, в то время как - последний ссылается на libfoo.so.3), пакет может работать - неправильно, поскольку разные версии общей библиотеки - содержат несовместимые определения для некоторых имен - символов. Это может быть вызвано перекомпиляцией некоторых, - но не всех, пакетов, связанных со старой общей библиотекой, - после обновления пакета, предоставляющего общую библиотеку. - Чтобы избежать этой проблемы, пользователям необходимо как - можно скорее пересобрать каждый пакет, связанный с общей - библиотекой, с обновленной версией (например, с libfoo.so.2 - на libfoo.so.3). -

    -
  • -
  • -

    - Если пакет, содержащий общую библиотеку, обновляется, а имя - библиотеки не меняется, но уменьшается номер версии - файла библиотеки - (например, библиотека по-прежнему называется libfoo.so.1, но имя файла библиотеки - изменилось с libfoo.so.1.25 на - libfoo.so.1.24), следует - удалить файл библиотеки ранее установленной версии (в данном - случае libfoo.so.1.25). В - противном случае, команда ldconfig (запущенная - самостоятельно с помощью командной строки или при установке - какого-либо пакета) приведёт к сбросу символической ссылки - libfoo.so.1, которая будет - указывать на старый файл библиотеки, потому что кажется, что - она имеет «более - новую» версию, поскольку её номер версии - больше. Такая ситуация может произойти, если вам нужно - понизить версию пакета или авторы изменили схему управления - версиями файлов библиотеки. -

    -
  • -
  • -

    - Если пакет, содержащий общую библиотеку, обновляется, а имя - библиотеки не меняется, но устраняется серьезная проблема - (особенно уязвимость в системе безопасности), необходимо - перезапустить все работающие программы, связанные с общей - библиотекой. Следующая команда, запущенная от имени - пользователя root после - завершения обновления, выведет список программ, которые - использует старые версии этих библиотек (замените libfoo именем библиотеки): -

    -
    grep -l 'libfoo.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u
    -

    - Если для доступа к системе используется OpenSSH и он связан с обновленной - библиотекой, вам необходимо перезапустить службу sshd, затем выйти из - системы, снова войти в систему и повторно выполнить - предыдущую команду, чтобы убедиться, что удаленные библиотеки - более не используются. -

    -
  • -
  • -

    - Если исполняемая программа или библиотека перезаписаны, - процессы, использующие код или данные из них, могут - завершиться сбоем. Правильный способ обновить программу или - общую библиотеку, не вызывая сбоя процесса, - это сначала - удалить его, а затем установить новую версию. Команда - install, - предоставляемая Coreutils, - уже реализовала это, и большинство пакетов используют ее для - установки двоичных файлов и библиотек. Это означает, что - большую часть времени вас не будет беспокоить эта проблема. - Однако процесс установки некоторых пакетов (в частности, - SpiderMonkey в BLFS) просто перезаписывает файл, если он - существует, и вызывает сбой. Поэтому безопаснее сохранить - свою работу и закрыть ненужные запущенные программы перед - обновлением пакета. -

    -
  • -
-
-
-
-

- 8.2.2. Методы управления пакетами -

-

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

-
-

- 8.2.2.1. Всё у меня в голове! -

-

- Да, это метод управления пакетами. Некоторым людям не нужен - менеджер пакетов, потому что они хорошо знакомы с пакетами и - знают, какие файлы устанавливаются каждым пакетом. Некоторым - пользователям также не требуется какое-либо управление пакетами, - поскольку они планируют пересобирать всю систему при каждом - изменении пакета. -

-
-
-

- 8.2.2.2. Установка в отдельные каталоги -

-

- Это упрощенный метод управления пакетами, для которого не - требуется специальная программа управления. Каждый пакет - устанавливается в отдельный каталог. Например, пакет foo-1.1 - устанавливается в /opt/foo-1.1, а - символическая ссылка создается из /opt/foo в /opt/foo-1.1. Когда появляется новая версия - foo-1.2, она устанавливается в /opt/foo-1.2 и предыдущая символическая ссылка - заменяется символической ссылкой на новую версию. -

-

- Переменные окружения, такие как PATH, - MANPATH, INFOPATH, PKG_CONFIG_PATH, CPPFLAGS, LDFLAGS и - файл конфигурации /etc/ld.so.conf, - возможно, потребуется расширить, включив соответствующие - подкаталоги в /opt/foo-x.y. -

-

- Этот подход используется в книге BLFS для установки некоторых - очень больших пакетов, чтобы упростить их обновление. Если вы - устанавливаете много таких пакетов, эта схема становится - неуправляемой. Некоторые пакеты (например, заголовки Linux API и - Glibc) могут плохо работать с такой структурой. Никогда не используйте её в масштабах всей - системы. -

-
-
-

- 8.2.2.3. Управление пакетами с использованием символических - ссылок -

-

- Это разновидность предыдущей техники.Каждый пакет устанавливается - аналогично, но вместо создания символической ссылки на общее имя - пакета, каждому файлу создаётся символическая ссылка в иерархии - каталогов /usr. Это исключает - необходимость модификации значений переменных окружения. Хотя - такие ссылки могут быть созданы пользователем, многие менеджеры - пакетов используют именной такой подход. Наиболее популярные из - них - Stow, Epkg, Graft и Depot. -

-

- Установку нужно сымитировать, чтобы пакет думал, что он - установлен в /usr, хотя на самом - деле он установлен в иерархии /usr/pkg. Установка таким способом обычно - является нетривиальной задачей. Например, предположим, что вы - устанавливаете пакет libfoo-1.1. Следующие инструкции могут - привести к неправильной установке пакета: -

-
./configure --prefix=/usr/pkg/libfoo/1.1
-make
-make install
-

- Установка будет выполнена, но зависимые пакеты не смогут - ссылаться на libfoo. Если вы скомпилируете пакет, который - ссылается на libfoo, вы заметите, что он связан с /usr/pkg/libfoo/1.1/lib/libfoo.so.1 вместо - /usr/lib/libfoo.so.1, как вы - ожидаете. Правильный подход заключается в использовании - переменной DESTDIR для управления - установкой. Этот подход работает следующим образом: -

-
./configure --prefix=/usr
-make
-make DESTDIR=/usr/pkg/libfoo/1.1 install
-

- Большинство пакетов поддерживают этот подход, но есть и такие, - которые этого не делают. Для несовместимых пакетов вам может - потребоваться либо установить пакет вручную, либо вы можете - установить проблемные пакеты в /opt. -

-
-
-

- 8.2.2.4. На основе временной метки -

-

- В этом методе файлу присваивается временная метка перед - установкой пакета. После установки простое использование команды - find с - соответствующими параметрами может создать журнал всех файлов, - установленных после создания файла с временной метки. Менеджером - пакетов, использующим этот подход, является install-log. -

-

- Хотя преимущество этой схемы в том, что она проста, у нее есть - два недостатка. Если во время установки, файлы устанавливаются с - отметкой времени, отличной от текущего времени, эти файлы не - будут отслеживаться менеджером пакетов. Кроме того, эта схема - может использоваться только при установке пакетов по одному. - Журналы ненадежны, если два пакета устанавливаются одновременно - на двух разных консолях. -

-
-
-

- 8.2.2.5. Отслеживание сценариев установки -

-

- При таком подходе, записываются команды, выполняемые сценариями - установки. Есть два метода, которые можно использовать: -

-

- Переменная среды LD_PRELOAD может быть - установлена так, чтобы она указывала на библиотеку, которую нужно - предварительно загрузить перед установкой. Во время установки эта - библиотека отслеживает устанавливаемые пакеты, присоединяясь к - различным исполняемым файлам, таким как cp, install, mv, и отслеживая системные - вызовы, изменяющие файловую систему. Чтобы этот подход работал, - все исполняемые файлы должны быть динамически связаны без битов - suid или sgid. Предварительная загрузка библиотеки может вызвать - некоторые нежелательные побочные эффекты во время установки. - Поэтому рекомендуется выполнить некоторые тесты, чтобы убедиться, - что менеджер пакетов ничего не сломает и что он регистрирует все - соответствующие файлы. -

-

- Другой метод заключается в использовании strace, который регистрирует - все системные вызовы, сделанные во время выполнения сценариев - установки. -

-
-
-

- 8.2.2.6. Создание архивов пакетов -

-

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

-

- Этот подход используется большинством менеджеров пакетов, - имеющихся в коммерческих дистрибутивах. Примерами менеджеров - пакетов, которые следуют этому подходу, являются RPM (который, - кстати, требуется согласно спецификации Linux Standard - Base Specification), pkg-utils, apt Debian и система Portage - Gentoo. Описание того, как использовать этот стиль управления - пакетами для систем LFS, находится по адресу - https://mirror.linuxfromscratch.ru/hints/downloads/files/fakeroot.txt. -

-

- Создание файлов пакетов, содержащих информацию о зависимостях, - является сложной задачей и выходит за рамки LFS. -

-

- Slackware использует систему на основе tar для архивов пакетов. Эта - система намеренно не обрабатывает зависимости пакетов, как это - делают более сложные менеджеры пакетов. Подробнее об управлении - пакетами Slackware см. https://www.slackbook.org/html/package-management.html. -

-
-
-

- 8.2.2.7. Пользовательское управление пакетами -

-

- Эта схема, уникальная для LFS, была разработана Маттиасом - Бенкманом и доступна в проекте Hints. - В этой схеме каждый пакет устанавливается отдельным пользователем - в стандартные папки. Файлы, принадлежащие пакету, легко - идентифицируются путем проверки идентификатора пользователя. - Особенности и недостатки этого подхода слишком сложны, чтобы - описывать их в этом разделе. Для получения более подробной - информации, пожалуйста, ознакомьтесь с советами по адресу - - https://mirror.linuxfromscratch.ru/hints/downloads/files/more_control_and_pkg_man.txt. -

-
-
-
-

- 8.2.3. Развертывание LFS на нескольких системах -

-

- Одним из преимуществ системы LFS является отсутствие файлов, - зависящих от положения файлов на диске. Клонировать сборку LFS на - другой компьютер с той же архитектурой, что и у базовой системы, - так же просто, как использовать tar для архивации раздела LFS, - содержащем корневой каталог (около 900 МБ в несжатом виде для - базовой сборки LFS), скопировать этот файл по сети или с помощью CD - / USB носителя в новую систему и распаковать его. После этого - необходимо изменить несколько конфигурационных файлов. Файлы, - которые, возможно, потребуется изменить представлены в списке ниже: - /etc/hosts, /etc/fstab, /etc/passwd, /etc/group, /etc/shadow, /etc/ld.so.conf, /etc/sysconfig/rc.site, /etc/sysconfig/network, и /etc/sysconfig/ifconfig.eth0. -

-

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

-
- [Примечание] -

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

-

- Поступали некоторые сообщения о проблемах при копировании между - похожими, но не идентичными архитектурами. Например, набор - инструкций для Intel не идентичен набору инструкций для - процессора AMD, и более поздние версии некоторых процессоров - могут содержать инструкции, недоступные в более ранних версиях. -

-
-

- Наконец, новую систему необходимо сделать загрузочной так, как это - описано в Раздел 10.4, - «Использование GRUB для настройки процесса загрузки». -

-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/procps-ng.html b/lfs-12.1-sysv/chapter08/procps-ng.html deleted file mode 100644 index e3fd465..0000000 --- a/lfs-12.1-sysv/chapter08/procps-ng.html +++ /dev/null @@ -1,421 +0,0 @@ - - - - - - 8.77. Procps-ng-4.0.4 - - - - - - - - -

- 8.77. - Procps-ng-4.0.4 -

-
-
-

- Пакет Procps-ng содержит программы для мониторинга процессов. -

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

- 8.77.1. Установка пакета Procps-ng -

-

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

-
./configure --prefix=/usr                           \
-            --docdir=/usr/share/doc/procps-ng-4.0.4 \
-            --disable-static                        \
-            --disable-kill
-
-

- Значение параметра configure: -

-
-
- --disable-kill -
-
-

- Этот параметр отключает сборку команды kill; она будет установлена - из пакета Util-linux. -

-
-
-
-

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

-
make
-

- Чтобы запустить набор тестов, выполните: -

-
make -k check
-

- Известно, что тест ps with output flag - bsdtime,cputime,etime,etimes завершается неудачно, если ядро - хоста собрано с выключенным параметром CONFIG_BSD_PROCESS_ACCT. Также известно, что два - теста: pmap X with unreachable process - и pmap XX with unreachable process - иногда завершаются неудачно. -

-

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

-
make install
-
-
-

- 8.77.2. - Содержимое пакета Procps-ng -

-
-
-
- Установленные программы: - free, pgrep, pidof, pkill, pmap, ps, - pwdx, slabtop, sysctl, tload, top, uptime, vmstat, w и - watch -
-
- Установленные библиотеки: - libproc-2.so -
-
- Созданные каталоги: - /usr/include/procps и - /usr/share/doc/procps-ng-4.0.4 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- free -

-
-

- Сообщает объем свободной и используемой памяти (как - физической, так и файла подкачки) в системе. -

-
-

- pgrep -

-
-

- Выполняет поиск процессов на основе их имени и других - атрибутов -

-
-

- pidof -

-
-

- Сообщает PIDы указанных программ -

-
-

- pkill -

-
-

- Отправка сигналов процессам на основе их имени и других - атрибутов -

-
-

- pmap -

-
-

- Команда выводит детальную информацию об использование - оперативной памяти процессами -

-
-

- ps -

-
-

- Список запущенных процессов -

-
-

- pwdx -

-
-

- Сообщает текущий рабочий каталог процесса -

-
-

- slabtop -

-
-

- Отображает подробную информацию о кэш-памяти ядра в - режиме реального времени. -

-
-

- sysctl -

-
-

- Изменяет параметры ядра во время выполнения -

-
-

- tload -

-
-

- Выводит график текущей средней загрузки системы -

-
-

- top -

-
-

- Отображает список процессов, наиболее интенсивно - использующих ЦП; обеспечивает просмотр активности - процессора в режиме реального времени -

-
-

- uptime -

-
-

- Сообщает сколько времени работает система, сколько - пользователей вошли в систему и средние значения загрузки - системы. -

-
-

- vmstat -

-
-

- Сообщает статистику виртуальной памяти, содержащую - информацию о процессах, памяти, подкачке, блочном - вводе/выводе (IO), прерываниях и активности ЦП. -

-
-

- w -

-
-

- Показывает, какие пользователи в настоящее время вошли в - систему и с какого момента -

-
-

- watch -

-
-

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

-
-

- libproc-2 -

-
-

- Содержит функции, используемые большинством программ в - этом пакете. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/psmisc.html b/lfs-12.1-sysv/chapter08/psmisc.html deleted file mode 100644 index 149e35e..0000000 --- a/lfs-12.1-sysv/chapter08/psmisc.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - 8.31. Psmisc-23.6 - - - - - - - - -

- 8.31. Psmisc-23.6 -

-
-
-

- Пакет Psmisc содержит программы для отображения информации о - запущенных процессах. -

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

- 8.31.1. Установка пакета Psmisc -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.31.2. - Содержимое пакета Psmisc -

-
-
-
- Установленные программы: - fuser, killall, peekfd, prtstat, pslog, - pstree и pstree.x11 (ссылка на pstree) -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- fuser -

-
-

- Сообщает идентификаторы процессов (PID), которые - используют данные файлы или файловые системы. -

-
-

- killall -

-
-

- Уничтожает процессы по имени; посылает сигнал всем - процессам, выполняющим любую из заданных команд -

-
-

- peekfd -

-
-

- Просмотривает файловые дескрипторы запущенного процесса с - учетом его PID -

-
-

- prtstat -

-
-

- Выводит информацию о процессе -

-
-

- pslog -

-
-

- Сообщает текущий путь к журналам процесса -

-
-

- pstree -

-
-

- Отображает запущенные процессы в виде дерева -

-
-

- pstree.x11 -

-
-

- То же, что и pstree, за исключением - того, что он ожидает подтверждения перед выходом. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/readline.html b/lfs-12.1-sysv/chapter08/readline.html deleted file mode 100644 index 19948dc..0000000 --- a/lfs-12.1-sysv/chapter08/readline.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - 8.11. Readline-8.2 - - - - - - - - -

- 8.11. - Readline-8.2 -

-
-
-

- Пакет Readline представляет собой набор библиотек, предлагающих - возможности редактирования прямо в командной строке и просмотра - истории команд. -

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

- 8.11.1. Установка пакета Readline -

-

- Переустановка пакета Readline приводит к перемещению старых - библиотек в <libraryname>.old. Обычно это не вызывает - проблем, но в некоторых случаях могут возникать ошибки линковки с - ldconfig. Этого можно - избежать, выполнив следующие две команды sed: -

-
sed -i '/MV.*old/d' Makefile.in
-sed -i '/{OLDSUFF}/c:' support/shlib-install
-

- Теперь устраните проблему, выявленную разработчиками: -

-
patch -Np1 -i ../readline-8.2-upstream_fixes-3.patch
-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --with-curses    \
-            --docdir=/usr/share/doc/readline-8.2
-
-

- Значение нового параметра configure: -

-
-
- --with-curses -
-
-

- Этот параметр сообщает Readline, что он может найти функции - библиотеки termcap в библиотеке curses, а не в отдельной - библиотеке termcap. Это позволит сгенерировать корректный - файл readline.pc. -

-
-
-
-

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

-
make SHLIB_LIBS="-lncursesw"
-
-

- Значение параметра make: -

-
-
- SHLIB_LIBS="-lncursesw" -
-
-

- Этот параметр принудительно линкует Readline с библиотекой - libncursesw. -

-
-
-
-

- С этим пакетом не поставляется набор тестов. -

-

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

-
make SHLIB_LIBS="-lncursesw" install
-

- По желанию установите документацию: -

-
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2
-
-
-

- 8.11.2. - Содержимое пакета Readline -

-
-
-
- Установленные библиотеки: - libhistory.so и libreadline.so -
-
- Созданные каталоги: - /usr/include/readline и - /usr/share/doc/readline-8.2 -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- libhistory -

-
-

- Обеспечивает согласованный пользовательский интерфейс для - вызова строк из истории -

-
-

- libreadline -

-
-

- Предоставляет набор команд для управления текстом, - введенным в интерактивном сеансе программы. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/sed.html b/lfs-12.1-sysv/chapter08/sed.html deleted file mode 100644 index 76ac41b..0000000 --- a/lfs-12.1-sysv/chapter08/sed.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - 8.30. Sed-4.9 - - - - - - - - -

- 8.30. Sed-4.9 -

-
-
-

- Пакет Sed содержит потоковый редактор текста -

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

- 8.30.1. Установка пакета Sed -

-

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

-
./configure --prefix=/usr
-

- Скомпилируйте пакет и сгенерируйте HTML-документацию: -

-
make
-make html
-

- Чтобы протестировать пакет, выполните: -

-
chown -R tester .
-su tester -c "PATH=$PATH make check"
-

- Установите пакет и документацию к нему: -

-
make install
-install -d -m755           /usr/share/doc/sed-4.9
-install -m644 doc/sed.html /usr/share/doc/sed-4.9
-
-
-

- 8.30.2. Содержимое - пакета Sed -

-
-
-
- Установленные программы: - sed -
-
- Созданные каталоги: - /usr/share/doc/sed-4.9 -
-
-
-
-

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

- - - - - - - - - - - -
-

- sed -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/setuptools.html b/lfs-12.1-sysv/chapter08/setuptools.html deleted file mode 100644 index 4e05780..0000000 --- a/lfs-12.1-sysv/chapter08/setuptools.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - 8.54. Setuptools-69.1.0 - - - - - - - - -

- 8.54. - Setuptools-69.1.0 -

-
-
-

- Пакет Setuptools это инструмент, используемый для загрузки, сборки, - установки, обновления и удаления пакетов Python. -

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

- 8.54.1. Установка пакета Setuptools -

-

- Соберите пакет: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

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

-
pip3 install --no-index --find-links dist setuptools
-
-
-

- 8.54.2. - Содержимое пакета Setuptools -

-
-
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/_distutils_hack, - /usr/lib/python3.12/site-packages/pkg_resources, - /usr/lib/python3.12/site-packages/setuptools, and - /usr/lib/python3.12/site-packages/setuptools-69.1.0.dist-info -
-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/shadow.html b/lfs-12.1-sysv/chapter08/shadow.html deleted file mode 100644 index 7de24d3..0000000 --- a/lfs-12.1-sysv/chapter08/shadow.html +++ /dev/null @@ -1,942 +0,0 @@ - - - - - - 8.27. Shadow-4.14.5 - - - - - - - - -

- 8.27. - Shadow-4.14.5 -

-
-
-

- Пакет Shadow содержит программы для безопасной обработки паролей. -

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

- 8.27.1. Установка пакета Shadow -

-
- [Примечание] -

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

-

- Если вы хотите принудительно использовать надежные пароли, - обратитесь к инструкции - https://mirror.linuxfromscratch.ru/blfs/view/12.1/postlfs/cracklib.html - для установки CrackLib перед сборкой. Затем добавьте параметр - --with-libcrack в - приведенную ниже команду configure. -

-
-

- Отключите установку groups и ее справочных страниц, - так как Coreutils предоставляет версию лучше. Кроме того, запретите - установку страниц руководств, так как они были установлены в - Раздел 8.3, «Man-pages-6.06»: -

-
sed -i 's/groups$(EXEEXT) //' src/Makefile.in
-find man -name Makefile.in -exec sed -i 's/groups\.1 / /'   {} \;
-find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \;
-find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \;
-

- Вместо - используемого по умолчанию метода crypt, используйте более безопасный - метод шифрования паролей YESCRYPT, который также позволяет - использовать пароли длиннее 8 символов. Также необходимо изменить - устаревшее местоположение для почтовых ящиков пользователей - /var/spool/mail, которое Shadow - использует по умолчанию, на используемое в настоящее время - /var/mail. И удалите /bin и /sbin из - PATH, поскольку они являются просто - символическими ссылками на их аналоги в /usr. -

-
- [Примечание] -

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

-

- Если вы по какой-либо причине хотите включить /bin и/или /sbin - в PATH, измените PATH в файле .bashrc - после сборки LFS. -

-
-
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \
-    -e 's:/var/spool/mail:/var/mail:'                 \
-    -e '/PATH=/{s@/sbin:@@;s@/bin:@@}'                \
-    -i etc/login.defs
-
- [Примечание] -

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

-

- Если вы решили собрать Shadow с поддержкой Cracklib, выполните - эту команду: -

-
sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs
-
-

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

-
touch /usr/bin/passwd
-./configure --sysconfdir=/etc \
-            --disable-static  \
-            --with-{b,yes}crypt \
-            --without-libbsd    \
-            --with-group-name-max-length=32
-
-

- Значение новых параметров конфигурации: -

-
-
- touch - /usr/bin/passwd -
-
-

- Файл /usr/bin/passwd должен - существовать, потому что его местоположение жестко задано в - некоторых программах; если он не существует, скрипт установки - создаст его не в том месте. -

-
-
- --with-{b,yes}crypt -
-
-

- Оболочка расширяет это значение до двух параметров: - --with-bcrypt и - --with-yescrypt. Они - позволяют Shadow использовать алгоритмы Bcrypt и Yescrypt, - реализованные в Libxcrypt, - для хеширования паролей. Эти алгоритмы более безопасны (в - частности, гораздо более устойчивы к атакам с использованием - графических процессоров), чем традиционные алгоритмы SHA. -

-
-
- --with-group-name-max-length=32 -
-
-

- Максимально допустимая длина имени пользователя составляет 32 - символа. Сделайте такую же длину для названия группы. -

-
-
- --without-libbsd -
-
-

- Не используйте функцию readpassphrase из иблиотеки libbsd, - которой нет в LFS. Вместо этого используйте внутреннюю копию. -

-
-
-
-

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

-
make
-

- С этим пакетом не поставляется набор тестов. -

-

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

-
make exec_prefix=/usr install
-make -C man install-man
-
-
-

- 8.27.2. Настройка Shadow -

-

- Этот пакет содержит утилиты для добавления, изменения и удаления - пользователей и групп; установки и изменения их паролей; и - выполнения других задач администрирования. Полное объяснение того, - что означает password - shadowing, см. в файле doc/HOWTO в дереве распакованных - исходных текстов. При использовании Shadow имейте в виду, что - программы, которым необходимо проверять пароли (дисплейные - менеджеры, FTP-программы, демоны pop3 и т.д.), должны быть - совместимы с Shadow. То есть они должны уметь работать с теневыми - паролями. -

-

- Чтобы включить поддержку теневых паролей, выполните следующую - команду:: -

-
pwconv
-

- Чтобы включить использование теневых паролей для групп, запустите: -

-
grpconv
-

- Конфигурация Shadow по умолчанию для утилиты useradd имеет несколько - особенностей, требующих пояснения. Во-первых, по умолчанию утилита - useradd создает - пользователя и группу с тем же названием, что и имя пользователя. - По умолчанию, идентификатора пользователя (UID) и идентификатора - группы (GID) начинаются с 1000. Это означает, что если вы не - передадите дополнительные параметры в useradd, каждый пользователь - будет членом уникальной группы в системе. Если такое поведение - нежелательно, вам нужно передать один из параметров -g или -N в useradd или изменить настройку - USERGROUPS_ENAB в файле - /etc/login.defs. Смотрите справочную - страницу useradd(8) для - получения дополнительной информации. -

-

- Во-вторых, чтобы изменить параметры по умолчанию, необходимо - создать файл /etc/default/useradd и - настроить его в соответствии с вашими потребностями. Создайте его: -

-
mkdir -p /etc/default
-useradd -D --gid 999
-
-

- Пояснения к параметрам /etc/default/useradd -

-
-
- GROUP=999 -
-
-

- Этот параметр задает начальный номер группы, используемых в - файле /etc/group. Значение 999 - берется из приведенного выше параметра --gid. Вы можете установить - любое значение. Обратите внимание, что useradd никогда не будет - повторно использовать UID или GID. Если номер, указанный в - этом параметре, уже используется будет выбран следующий - доступный номер. Также обратите внимание, что если в вашей - системе нет группы с идентификатором, равным этому номеру, - при первом использовании useradd без параметра - -g — вы получите - следующее сообщение об ошибке: useradd: unknown GID 999, даже если - учетная запись была создана правильно. Поэтому мы создали - группу users с этим - идентификатором в Раздел 7.6, - «Создание основных файлов и символических ссылок». -

-
-
- CREATE_MAIL_SPOOL=yes -
-
-

- Этот параметр заставит утилиту useradd создавать файл - почтового ящика для каждого нового пользователя. useradd сделает этот файл - принадлежащим группе mail с - правами доступа 0660. Если вы предпочитаете, не создавать эти - файлы, выполните следующую команду: -

-
sed -i '/MAIL/s/yes/no/' /etc/default/useradd
-
-
-
-
-
-

- 8.27.3. Установка пароля пользователя root -

-

- Придумайте пароль для root и - установите командой: -

-
passwd root
-
-
-

- 8.27.4. - Содержимое пакета Shadow -

-
-
-
- Установленные программы: - chage, chfn, chgpasswd, chpasswd, chsh, - expiry, faillog, getsubids, gpasswd, groupadd, groupdel, - groupmems, groupmod, grpck, grpconv, grpunconv, login, logoutd, - newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, - pwconv, pwunconv, sg (ссылка на newgrp), su, useradd, userdel, - usermod, vigr (ссылка на vipw) и vipw -
-
- Установленные библиотеки: - libsubid.so -
-
- Созданные каталоги: - /etc/default и /usr/include/shadow -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- chage -

-
-

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

-
-

- chfn -

-
-

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

-
-

- chgpasswd -

-
-

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

-
-

- chpasswd -

-
-

- Используется для обновления паролей пользователей в - пакетном режиме. -

-
-

- chsh -

-
-

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

-
-

- expiry -

-
-

- Проверяет и применяет текущую политику истечения срока - действия пароля -

-
-

- faillog -

-
-

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

-
-

- getsubids -

-
-

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

-
-

- gpasswd -

-
-

- Используется для добавления и удаления пользователей и - администраторов в группы. -

-
-

- groupadd -

-
-

- Создает группу с указанным именем -

-
-

- groupdel -

-
-

- Удаляет группу с указанным именем -

-
-

- groupmems -

-
-

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

-
-

- groupmod -

-
-

- Используется для изменения имени группы или GID -

-
-

- grpck -

-
-

- Проверяет целостность файлов групп /etc/group и /etc/gshadow -

-
-

- grpconv -

-
-

- Создает или изменяет файл теневых групп, используя для - этого обычный файл групп -

-
-

- grpunconv -

-
-

- Обновляет /etc/group из - /etc/gshadow, а затем - удаляет последний -

-
-

- login -

-
-

- Используется системой для того, чтобы пользователь мог - войти в систему -

-
-

- logoutd -

-
-

- Это демон, используемый для обеспечения соблюдения - ограничений на время входа в систему и порты -

-
-

- newgidmap -

-
-

- Используется для сопоставления gid пространства имен - пользователя -

-
-

- newgrp -

-
-

- Используется для изменения GID во время сеанса входа в - систему -

-
-

- newuidmap -

-
-

- Используется для сопоставления uid пространства имен - пользователя -

-
-

- newusers -

-
-

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

-
-

- nologin -

-
-

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

-
-

- passwd -

-
-

- Используется для изменения пароля для учетной записи - пользователя или группы. -

-
-

- pwck -

-
-

- Проверяет целостность файлов паролей /etc/passwd и /etc/shadow -

-
-

- pwconv -

-
-

- Создает или изменяет файл теневых паролей, используя для - этого обычный файл паролей -

-
-

- pwunconv -

-
-

- Обновляет /etc/passwd из - /etc/shadow а затем удаляет - последний -

-
-

- sg -

-
-

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

-
-

- su -

-
-

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

-
-

- useradd -

-
-

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

-
-

- userdel -

-
-

- Удаляет учетную запись указанного пользователя -

-
-

- usermod -

-
-

- Используется для изменения имени пользователя, - идентификатора пользователя (UID), оболочки, группы, - домашнего каталога и т.д. -

-
-

- vigr -

-
-

- Редактирует файлы /etc/group или /etc/gshadow -

-
-

- vipw -

-
-

- Редактирует файлы /etc/passwd или /etc/shadow -

-
-

- libsubid -

-
-

- библиотека для обработки подчиненных диапазонов - идентификаторов пользователей и групп -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/stripping.html b/lfs-12.1-sysv/chapter08/stripping.html deleted file mode 100644 index 9832849..0000000 --- a/lfs-12.1-sysv/chapter08/stripping.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - 8.83. Удаление отладочных символов - - - - - - - - -

- 8.83. - Удаление отладочных символов -

-
-

- Этот раздел является необязательным. Если предполагаемый пользователь - не является программистом и не планирует выполнять какую-либо отладку - системного программного обеспечения, размер системы можно уменьшить - примерно на 2 ГБ, удалив отладочные символы и некоторые ненужные - записи таблицы символов из двоичных файлов и библиотек. Это не - вызывает никаких неудобств для обычного пользователя Linux. -

-

- Большинство людей, использующих приведенные ниже команды, не - испытывают никаких трудностей. Однако легко допустить опечатку и - сделать новую систему непригодной для использования. Поэтому перед - выполнением команды strip рекомендуется сделать - резервную копию системы LFS. -

-

- Команда strip с - параметром --strip-unneeded - удаляет все отладочные символы из двоичного файла или библиотеки. - Кроме этого, она удаляет все записи таблицы символов, ненужные - компоновщику (для статических библиотек) или динамическому - компоновщику (для динамически подключаемых двоичных файлов и общих - библиотек). -

-

- Отладочные символы из выбранных библиотек сжимаются с помощью - Zlib и сохраняются в отдельных - файлах. Эта отладочная информация необходима при выполнении - регрессионных тестов, с помощью - valgrind или - gdb позже, в BLFS. -

-

- Обратите внимание, что команда strip перезапишет двоичный файл или - библиотеку, которую она обрабатывает. Это может привести к сбою - процессов, использующих код или данные из файла. Если это затронет - сам процесс, выполняющий strip, удаляемый двоичный файл или - библиотека могут быть уничтожены; это может сделать систему полностью - непригодной для использования. Чтобы избежать этого, мы скопируем - некоторые библиотеки и двоичные файлы в /tmp, очистим их и переустановим с помощью команды - install. Прочтите - статью Раздел 8.2.1, «Проблемы с - обновлением», чтобы понять, почему следует использовать команду - install здесь. -

-
- [Примечание] -

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

-

- Имя загрузчика ELF — ld-linux-x86-64.so.2 в 64-битных системах. и - ld-linux.so.2 в 32-битных системах. Конструкция ниже выбирает - правильное имя для текущей архитектуры, исключая всё, что - заканчивается на g, если приведенные - ниже команды уже были выполнены. -

-
-
- [Важно] -

- Важно -

-

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

-
-
save_usrlib="$(cd /usr/lib; ls ld-linux*[^g])
-             libc.so.6
-             libthread_db.so.1
-             libquadmath.so.0.0.0
-             libstdc++.so.6.0.32
-             libitm.so.1.0.0
-             libatomic.so.1.2.0"
-
-cd /usr/lib
-
-for LIB in $save_usrlib; do
-    objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg
-    cp $LIB /tmp/$LIB
-    strip --strip-unneeded /tmp/$LIB
-    objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
-    install -vm755 /tmp/$LIB /usr/lib
-    rm /tmp/$LIB
-done
-
-online_usrbin="bash find strip"
-online_usrlib="libbfd-2.42.so
-               libsframe.so.1.0.0
-               libhistory.so.8.2
-               libncursesw.so.6.4-20230520
-               libm.so.6
-               libreadline.so.8.2
-               libz.so.1.3.1
-               libzstd.so.1.5.5
-               $(cd /usr/lib; find libnss*.so* -type f)"
-
-for BIN in $online_usrbin; do
-    cp /usr/bin/$BIN /tmp/$BIN
-    strip --strip-unneeded /tmp/$BIN
-    install -vm755 /tmp/$BIN /usr/bin
-    rm /tmp/$BIN
-done
-
-for LIB in $online_usrlib; do
-    cp /usr/lib/$LIB /tmp/$LIB
-    strip --strip-unneeded /tmp/$LIB
-    install -vm755 /tmp/$LIB /usr/lib
-    rm /tmp/$LIB
-done
-
-for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
-         $(find /usr/lib -type f -name \*.a)                 \
-         $(find /usr/{bin,sbin,libexec} -type f); do
-    case "$online_usrbin $online_usrlib $save_usrlib" in
-        *$(basename $i)* )
-            ;;
-        * ) strip --strip-unneeded $i
-            ;;
-    esac
-done
-
-unset BIN LIB save_usrlib online_usrbin online_usrlib
-
-

- Большое количество файлов будет помечено как ошибочные, потому что - формат файла не распознан. Эти предупреждения можно смело - игнорировать. Они указывают на то, что файлы являются скриптами, а не - двоичными файлами. -

-
- - - diff --git a/lfs-12.1-sysv/chapter08/sysklogd.html b/lfs-12.1-sysv/chapter08/sysklogd.html deleted file mode 100644 index f113c0a..0000000 --- a/lfs-12.1-sysv/chapter08/sysklogd.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - 8.80. Sysklogd-1.5.1 - - - - - - - - -

- 8.80. - Sysklogd-1.5.1 -

-
-
-

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

-
-
-
- Приблизительное время сборки: - менее 0.1 SBU -
-
- Требуемое дисковое - пространство: 680 KB -
-
-
-
-
-

- 8.80.1. Установка пакета Sysklogd -

-

- Во-первых, устраните проблему, которая при некоторых условиях - вызывает в klogd ошибку сегментирования и исправьте устаревшую - программную конструкцию: -

-
sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c
-sed -i 's/union wait/int/' syslogd.c
-

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

-
make
-

- Этот пакет не содержит набора тестов. -

-

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

-
make BINDIR=/sbin install
-
-
-

- 8.80.2. Настройка - Sysklogd -

-

- Создайте новый файл /etc/syslog.conf, - выполнив следующую команду: -

-
cat > /etc/syslog.conf << "EOF"
-# Begin /etc/syslog.conf
-
-auth,authpriv.* -/var/log/auth.log
-*.*;auth,authpriv.none -/var/log/sys.log
-daemon.* -/var/log/daemon.log
-kern.* -/var/log/kern.log
-mail.* -/var/log/mail.log
-user.* -/var/log/user.log
-*.emerg *
-
-# End /etc/syslog.conf
-EOF
-
-
-

- 8.80.3. - Содержимое пакета Sysklogd -

-
-
-
- Установленные программы: - klogd и syslogd -
-
-
-
-

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

- - - - - - - - - - - - - - - -
-

- klogd -

-
-

- Системный демон для перехвата и регистрации сообщений - ядра -

-
-

- syslogd -

-
-

- Регистрирует сообщения системных программ для записи в - лог [Каждое регистрируемое сообщение содержит как минимум - время события, имя хоста, а также имя программы, но это - зависит от настроек службы логирования.] -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/sysvinit.html b/lfs-12.1-sysv/chapter08/sysvinit.html deleted file mode 100644 index 23f79bf..0000000 --- a/lfs-12.1-sysv/chapter08/sysvinit.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - 8.81. Sysvinit-3.08 - - - - - - - - -

- 8.81. - Sysvinit-3.08 -

-
-
-

- Пакет Sysvinit содержит программы для управления загрузкой, - выполнением и выключением системы. -

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

- 8.81.1. Установка пакета Sysvinit -

-

- Сначала примените патч, который удаляет несколько программ, - установленных другими пакетами и исправляет предупреждение - компилятора: -

-
patch -Np1 -i ../sysvinit-3.08-consolidated-1.patch
-

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

-
make
-

- С этим пакетом не поставляется набор тестов. -

-

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

-
make install
-
-
-

- 8.81.2. - Содержимое пакета Sysvinit -

-
-
-
- Установленные программы: - bootlogd, fstab-decode, halt, init, - killall5, poweroff (ссылка на halt), reboot (ссылка на halt), - runlevel, shutdown и telinit (ссылка на init) -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- bootlogd -

-
-

- Логирует сообщения при загрузке системы -

-
-

- fstab-decode -

-
-

- Запускает команду с аргументами, заданными в fstab -

-
-

- halt -

-
-

- Обычно вызывает команду shutdown с параметром - -h, за - исключением случаев, когда уровень запуска уже равен 0, - тогда он посылает ядру сигнал на остановку системы; Кроме - этого отмечает в файле /var/log/wtmp, что система завершает - работу -

-
-

- init -

-
-

- Первый процесс, который запускается после инициализации - оборудования; init берет на себя процесс загрузки и - запускает все процессы, которые указанны в его файле - конфигурации -

-
-

- killall5 -

-
-

- Посылает сигнал всем процессам, за исключением процессов - в его собственном сеансе; он не завершит свою - родительскую оболочку -

-
-

- poweroff -

-
-

- Посылает ядру команду остановить систему и выключить - компьютер (смотрите команду halt) -

-
-

- reboot -

-
-

- Посылает ядру команду перезагрузить систему (смотрите - команду halt) -

-
-

- runlevel -

-
-

- Сообщает о предыдущем и текущем уровнях выполнения так, - как это указано в последней записи в файле /run/utmp -

-
-

- shutdown -

-
-

- Безопасно останавливает систему, отправляя сигналы всем - процессам и оповещая всех пользователей, находящихся в - системе -

-
-

- telinit -

-
-

- Сообщает init на какой уровень - выполнения перейти -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/tar.html b/lfs-12.1-sysv/chapter08/tar.html deleted file mode 100644 index fb77a3e..0000000 --- a/lfs-12.1-sysv/chapter08/tar.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - 8.70. Tar-1.35 - - - - - - - - -

- 8.70. Tar-1.35 -

-
-
-

- Пакет Tar предоставляет возможность создавать tar архивы, а также - производить с ними различные манипуляции. Tar может распаковать - предварительно созданный архив, добавить или обновить файлы в нём, - вернуть список файлов в архиве. -

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

- 8.70.1. Установка пакета Tar -

-

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

-
FORCE_UNSAFE_CONFIGURE=1  \
-./configure --prefix=/usr
-
-

- Значение параметра configure: -

-
-
- FORCE_UNSAFE_CONFIGURE=1 -
-
-

- Этот параметр принудительно запускает тест для mknod от имени пользователя root. Обычно считается опасным запускать - этот тест от имени пользователя root, но, поскольку он выполняется в - системе, которая была собрана лишь частично, его - переопределение допустимо. -

-
-
-
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

- Известно, что один тест, capabilities: binary store/restore, - завершается ошибкой при запуске, потому что в LFS отсутствует - selinux, он будет пропущен, если ядро хоста не поддерживает - расширенные атрибуты или метки безопасности файловой системы, - используемой для сборки LFS. -

-

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

-
make install
-make -C doc install-html docdir=/usr/share/doc/tar-1.35
-
-
-

- 8.70.2. Содержимое - пакета Tar -

-
-
-
- Установленные программы: - tar -
-
- Созданные каталоги: - /usr/share/doc/tar-1.35 -
-
-
-
-

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

- - - - - - - - - - - -
-

- tar -

-
-

- Создает архивы, извлекает файлы и отображает содержимое - архивов, также известных как Тарболл. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/tcl.html b/lfs-12.1-sysv/chapter08/tcl.html deleted file mode 100644 index a09e33d..0000000 --- a/lfs-12.1-sysv/chapter08/tcl.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - - - 8.15. Tcl-8.6.13 - - - - - - - - -

- 8.15. Tcl-8.6.13 -

-
-
-

- Пакет Tcl содержит Tool Command - Language, надежный скриптовый язык общего назначения. Пакет - Expect написан на языке - Tcl (произносится как "тикл"). -

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

- 8.15.1. Установка пакета Tcl -

-

- Этот пакет и следующие два (Expect и DejaGNU) устанавливаются для - поддержки возможности тестирования Binutils, GCC и других пакетов. - Установка трех пакетов для целей тестирования может показаться - избыточной, но вы будете чувствовать себя увереннее, когда знаете, - что наиболее важные инструменты работают правильно. -

-

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

-
SRCDIR=$(pwd)
-cd unix
-./configure --prefix=/usr           \
-            --mandir=/usr/share/man
-

- Соберите пакет: -

-
make
-
-sed -e "s|$SRCDIR/unix|/usr/lib|" \
-    -e "s|$SRCDIR|/usr/include|"  \
-    -i tclConfig.sh
-
-sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.5|/usr/lib/tdbc1.1.5|" \
-    -e "s|$SRCDIR/pkgs/tdbc1.1.5/generic|/usr/include|"    \
-    -e "s|$SRCDIR/pkgs/tdbc1.1.5/library|/usr/lib/tcl8.6|" \
-    -e "s|$SRCDIR/pkgs/tdbc1.1.5|/usr/include|"            \
-    -i pkgs/tdbc1.1.5/tdbcConfig.sh
-
-sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.3|/usr/lib/itcl4.2.3|" \
-    -e "s|$SRCDIR/pkgs/itcl4.2.3/generic|/usr/include|"    \
-    -e "s|$SRCDIR/pkgs/itcl4.2.3|/usr/include|"            \
-    -i pkgs/itcl4.2.3/itclConfig.sh
-
-unset SRCDIR
-

- Различные инструкции «sed» после команды «make» удаляют ссылки на - каталог сборки из файлов конфигурации и заменяют их на созданные - каталоги. Это необязательно для остальной части LFS, но может - понадобиться в случае, когда пакет, собранный позже, использует - Tcl. -

-

- Чтобы протестировать пакет, выполните: -

-
make test
-

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

-
make install
-

- Сделайте установленную библиотеку доступной для записи, чтобы позже - можно было удалить отладочные символы: -

-
chmod -v u+w /usr/lib/libtcl8.6.so
-

- >Установите заголовочные файлы Tcl. Они потребуются для - следующего пакета - Expect. -

-
make install-private-headers
-

- Теперь создайте необходимую символическую ссылку: -

-
ln -sfv tclsh8.6 /usr/bin/tclsh
-

- Переименуйте справочную страницу, которая конфликтует со справочной - страницей Perl: -

-
mv /usr/share/man/man3/{Thread,Tcl_Thread}.3
-

- При необходимости установите документацию, выполнив следующие - команды: -

-
cd ..
-tar -xf ../tcl8.6.13-html.tar.gz --strip-components=1
-mkdir -v -p /usr/share/doc/tcl-8.6.13
-cp -v -r  ./html/* /usr/share/doc/tcl-8.6.13
-
-
-

- 8.15.2. Содержимое - пакета Tcl -

-
-
-
- Установленные программы: - tclsh (ссылка на tclsh8.6) и - tclsh8.6 -
-
- Установленные библиотеки: - libtcl8.6.so и libtclstub8.6.a -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- tclsh8.6 -

-
-

- Командная оболочка Tcl -

-
-

- tclsh -

-
-

- Ссылка на tclsh8.6 -

-
-

- libtcl8.6.so -

-
-

- Библиотека Tcl -

-
-

- libtclstub8.6.a -

-
-

- Библиотека-заглушка Tcl -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/texinfo.html b/lfs-12.1-sysv/chapter08/texinfo.html deleted file mode 100644 index af1cc5b..0000000 --- a/lfs-12.1-sysv/chapter08/texinfo.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - 8.71. Texinfo-7.1 - - - - - - - - -

- 8.71. - Texinfo-7.1 -

-
-
-

- Пакет Texinfo содержит программы для чтения, записи и - преобразования информационных страниц. -

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

- 8.71.1. Установка пакета Texinfo -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-

- По желанию установите компоненты, входящие в пакет TeX:: -

-
make TEXMF=/usr/share/texmf install-tex
-
-

- Значение параметра make: -

-
-
- TEXMF=/usr/share/texmf -
-
-

- Переменная makefile TEXMF содержит - расположение корня дерева TeX, это понадобится, если, - например, пакет TeX планируется установить позже. -

-
-
-
-

- Система документации использует простой текстовый файл для хранения - списка пунктов меню. Файл находится в /usr/share/info/dir. К сожалению, из-за случайных - проблем в Makefile различных пакетов он иногда может не - синхронизироваться с информационными страницами, установленными в - системе. Если когда-либо потребуется пересоздать файл /usr/share/info/dir, следующие необязательные - команды решают эту задачу: -

-
pushd /usr/share/info
-  rm -v dir
-  for f in *
-    do install-info $f dir 2>/dev/null
-  done
-popd
-
-
-

- 8.71.2. - Содержимое пакета Texinfo -

-
-
-
- Установленные программы: - info, install-info, makeinfo (ссылка на - texi2any), pdftexi2dvi, pod2texi, texi2any, texi2dvi, texi2pdf, - и texindex -
-
- Установленные библиотеки: - MiscXS.so, Parsetexi.so и XSParagraph.so - (все в /usr/lib/texinfo) -
-
- Созданные каталоги: - /usr/share/texinfo и - /usr/lib/texinfo -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- info -

-
-

- Используется для чтения информационных страниц, которые - похожи на справочные страницы, но гораздо подробнее - описывают применение всех доступных параметров командной - строки [Например, сравните man bison и - info - bison.] -

-
-

- install-info -

-
-

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

-
-

- makeinfo -

-
-

- Переводит исходные документы Texinfo в информационные - страницы, обычный текст или HTML. -

-
-

- pdftexi2dvi -

-
-

- Используется для форматирования документа Texinfo в файл - Portable Document Format (PDF). -

-
-

- pod2texi -

-
-

- Преобразует Pod в формат Texinfo -

-
-

- texi2any -

-
-

- Переводит исходную документацию Texinfo в различные - другие форматы. -

-
-

- texi2dvi -

-
-

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

-
-

- texi2pdf -

-
-

- Используется для форматирования данного документа Texinfo - в файл Portable Document Format (PDF). -

-
-

- texindex -

-
-

- Используется для сортировки индексных файлов Texinfo. -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/udev.html b/lfs-12.1-sysv/chapter08/udev.html deleted file mode 100644 index fff3127..0000000 --- a/lfs-12.1-sysv/chapter08/udev.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - 8.75. Udev из Systemd-255 - - - - - - - - -

- 8.75. Udev из - Systemd-255 -

-
-
-

- Пакет Udev содержит программы для динамического создания узлов - устройств. -

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

- 8.75.1. Установка пакета Udev -

-

- Udev является частью пакета systemd-255. Используйте файл - systemd-255.tar.xz в качестве исходного архива. -

-

- Удалите две ненужные группы render - и sgx, из правил udev по умолчанию: -

-
sed -i -e 's/GROUP="render"/GROUP="video"/' \
-       -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
-

- Удалите одно правило udev, требующее полной установки Systemd: -

-
sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in
-

- Измените жестко заданные пути к файлам конфигурации сети для - автономной установки udev: -

-
sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h
-

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

-
mkdir -p build
-cd       build
-
-meson setup \
-      --prefix=/usr                 \
-      --buildtype=release           \
-      -Dmode=release                \
-      -Ddev-kvm-mode=0660           \
-      -Dlink-udev-shared=false      \
-      -Dlogind=false                \
-      -Dvconsole=false              \
-      ..
-
-

- Значение параметров meson: -

-
-
- --buildtype=release -
-
-

- Этот параметр переопределяет тип сборки по умолчанию - («debug»), который создает - неоптимизированные двоичные файлы. -

-
-
- -Dmode=release -
-
-

- Отключает некоторые функции, которые разработчики считают - экспериментальными. -

-
-
- -Ddev-kvm-mode=0660 -
-
-

- По умолчанию правило udev разрешает всем пользователям доступ - к /dev/kvm. Редакторы LFS - считают это опасным. Данная опция переопределяет разрешение - по умолчанию. -

-
-
- -Dlink-udev-shared=false -
-
-

- Эта опция запрещает udev связываться с внутренней общей - библиотекой systemd libsystemd-shared. Эта библиотека - предназначена для совместного использования многими - компонентами Systemd, и ее использование избыточно, когда - установлен только udev. -

-
-
- -Dlogind=false - -Dvconsole=false -
-
-

- Эти параметры предотвращают создание нескольких файлов правил - udev, принадлежащих другим компонентам Systemd, которые мы не - будем устанавливать. -

-
-
-
-

- Получите список предоставляемых udev helpers и сохраните его в - переменной (экспортировать его не обязательно, но это упрощает - сборку от имени обычного пользователя или при использовании - менеджера пакетов): -

-
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
-                      awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
-

- Соберите только компоненты, необходимые для udev: -

-
ninja udevadm systemd-hwdb \
-      $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
-      $(realpath libudev.so --relative-to .)                         \
-      $udev_helpers
-

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

-
install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network}
-install -vm755 -d /usr/{lib,share}/pkgconfig
-install -vm755 udevadm                     /usr/bin/
-install -vm755 systemd-hwdb                /usr/bin/udev-hwdb
-ln      -svfn  ../bin/udevadm              /usr/sbin/udevd
-cp      -av    libudev.so{,*[0-9]}         /usr/lib/
-install -vm644 ../src/libudev/libudev.h    /usr/include/
-install -vm644 src/libudev/*.pc            /usr/lib/pkgconfig/
-install -vm644 src/udev/*.pc               /usr/share/pkgconfig/
-install -vm644 ../src/udev/udev.conf       /etc/udev/
-install -vm644 rules.d/* ../rules.d/README         /usr/lib/udev/rules.d/
-install -vm644 $(find ../rules.d/*.rules \
-                      -not -name '*power-switch*') /usr/lib/udev/rules.d/
-install -vm644 hwdb.d/*  ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
-install -vm755 $udev_helpers                       /usr/lib/udev
-install -vm644 ../network/99-default.link          /usr/lib/udev/network
-

- Установите некоторые пользовательские правила и вспомогательные - файлы, полезные в среде LFS: -

-
tar -xvf ../../udev-lfs-20230818.tar.xz
-make -f udev-lfs-20230818/Makefile.lfs install
-

- Установите справочные страницы: -

-
tar -xf ../../systemd-man-pages-255.tar.xz                            \
-    --no-same-owner --strip-components=1                              \
-    -C /usr/share/man --wildcards '*/udev*' '*/libudev*'              \
-                                  '*/systemd.link.5'                  \
-                                  '*/systemd-'{hwdb,udevd.service}.8
-
-sed 's|systemd/network|udev/network|'                                 \
-    /usr/share/man/man5/systemd.link.5                                \
-  > /usr/share/man/man5/udev.link.5
-
-sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8   \
-                               > /usr/share/man/man8/udev-hwdb.8
-
-sed 's|lib.*udevd|sbin/udevd|'                                        \
-    /usr/share/man/man8/systemd-udevd.service.8                       \
-  > /usr/share/man/man8/udevd.8
-
-rm /usr/share/man/man*/systemd*
-

- Наконец, сбросьте значение переменной udev_helpers: -

-
unset udev_helpers
-
-
-

- 8.75.2. Настройка Udev -

-

- Информация об аппаратных устройствах хранится в каталогах - /etc/udev/hwdb.d и /usr/lib/udev/hwdb.d. Udev необходимо, чтобы эта информация была - скомпилирована в двоичную базу данных /etc/udev/hwdb.bin. Создайте исходную базу - данных: -

-
udev-hwdb update
-

- Эту команду необходимо запускать каждый раз при обновлении - информации об оборудовании. -

-
-
-

- 8.75.3. Содержимое - пакета Udev -

-
-
-
- Установленные программы: - udevadm, udevd (символическая ссылка на - udevadm) и udev-hwdb -
-
- Установленные библиотеки: - libudev.so -
-
- Созданные каталоги: - /etc/udev и /usr/lib/udev -
-
-
-
-

- Short Descriptions -

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- udevadm -

-
-

- Универсальный инструмент администрирования udev: - управляет демоном udevd, предоставляет информацию из базы - данных Udev, отслеживает uevents, ожидает завершения - uevents, проверяет конфигурацию Udev и запускает uevents - для данного устройства -

-
-

- udevd -

-
-

- Демон, который прослушивает uevents в сокете netlink, - создает устройства и запускает настроенные внешние - программы в ответ на эти uevents -

-
-

- udev-hwdb -

-
-

- Обновляет или запрашивает базу данных оборудования -

-
-

- libudev -

-
-

- Библиотека для получения информации об устройствах udev -

-
-

- /etc/udev -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/util-linux.html b/lfs-12.1-sysv/chapter08/util-linux.html deleted file mode 100644 index 4990d47..0000000 --- a/lfs-12.1-sysv/chapter08/util-linux.html +++ /dev/null @@ -1,1930 +0,0 @@ - - - - - - 8.78. Util-linux-2.39.3 - - - - - - - - -

- 8.78. - Util-linux-2.39.3 -

-
-
-

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

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

- 8.78.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.78.2. - Содержимое пакета 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 -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/vim.html b/lfs-12.1-sysv/chapter08/vim.html deleted file mode 100644 index 4d99020..0000000 --- a/lfs-12.1-sysv/chapter08/vim.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - 8.72. Vim-9.1.0041 - - - - - - - - -

- 8.72. Vim-9.1.0041 -

-
-
-

- Пакет Vim содержит мощный текстовый редактор. -

-
-
-
- Приблизительное время сборки: - 2.5 SBU -
-
- Требуемое дисковое - пространство: 236 MB -
-
-
-
- [Подсказка] -

- Альтернативы Vim -

-

- .Если вы предпочитаете другой текстовый редактор, например, - Emacs, Joe или Nano, обратитесь к - https://mirror.linuxfromscratch.ru/blfs/view/12.1/postlfs/editors.html - за рекомендациями по установке. -

-
-
-
-

- 8.72.1. Установка пакета Vim -

-

- Во-первых, измените расположение файла конфигурации vimrc на /etc: -

-
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h
-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы подготовить тесты, убедитесь, что пользователь tester может писать в исходное дерево: -

-
chown -R tester .
-

- Теперь запустите тесты от имени пользователя tester: -

-
su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \
-   &> vim-test.log
-

- Набор тестов выводит на экран много двоичных данных. Это может - вызвать проблемы с настройками текущего терминала (особенно, когда - мы переопределяем переменную TERM, чтобы - удовлетворить некоторые требования набора тестов). Чтобы этого - избежать, перенаправьте вывод в файл журнала, как показано выше. - Тест пройден успешно, если лог по завершении содержит текст: - ALL DONE. -

-

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

-
make install
-

- Многие пользователи рефлекторно набирают vi вместо vim. Чтобы разрешить выполнение - vim, когда - пользователи вводят vi, создайте символическую ссылку - как для двоичного файла, так и для справочной страницы: -

-
ln -sv vim /usr/bin/vi
-for L in  /usr/share/man/{,*/}man1/vim.1; do
-    ln -sv vim.1 $(dirname $L)/vi.1
-done
-

- По умолчанию документация Vim установливается в каталог - /usr/share/vim. Следующая - символическая ссылка позволяет получить доступ к документации через - каталог /usr/share/doc/vim-9.1.0041, - что согласуется с расположением документации остальных пакетов: -

-
ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0041
-

- Если в LFS будет установлена система X Window, может потребоваться - перекомпилировать Vim после установки X. Vim поставляется с - графической версией редактора, для которой требуется установка X и - некоторых дополнительных библиотек. Для получения дополнительной - информации об этом процессе обратитесь к документации по Vim и - странице установки Vim в книге BLFS по адресу - https://mirror.linuxfromscratch.ru/blfs/view/12.1/postlfs/vim.html. -

-
-
-

- 8.72.2. Настройка Vim -

-

- По умолчанию vim - работает в режиме, несовместимом с vi. Это может показаться - необычным для пользователей, которые в прошлом использовали другие - редакторы. Параметр «nocompatible» включен ниже, чтобы подчеркнуть - тот факт, что используется новое поведение. Настройка также - напоминает тем, кто хотел бы перейти в режим «compatible», что - параметр должен быть первым в файле конфигурации. Это необходимо, - потому что изменяются другие параметры, и переопределения - происходят после этой настройки. Создайте файл конфигурации - vim по умолчанию, - выполнив следующие действия: -

-
cat > /etc/vimrc << "EOF"
-" Begin /etc/vimrc
-
-" Ensure defaults are set before customizing settings, not after
-source $VIMRUNTIME/defaults.vim
-let skip_defaults_vim=1
-
-set nocompatible
-set backspace=2
-set mouse=
-syntax on
-if (&term == "xterm") || (&term == "putty")
-  set background=dark
-endif
-
-" End /etc/vimrc
-EOF
-

- Параметр set nocompatible - заставляет vim вести - себя более правильно (по умолчанию), чем vi-совместимый способ. - Удалите «no», - чтобы сохранить старое поведение vi. Параметр set backspace=2 позволяет удалять - символы через перенос строки, автоматические отступы и начало - вставки. Параметр syntax on - включает подсветку синтаксиса vim. Параметр set mouse= позволяет правильно - вставлять текст с помощью мыши при работе в chroot или через - удаленное соединение. Наконец, оператор if с параметром set background=dark корректирует - предположение vim о - цвете фона некоторых эмуляторов терминала. Это придает подсветке - лучшую цветовую схему для использования на черном фоне этих - программ. -

-

- Документацию по другим доступным параметрам можно получить, - выполнив следующую команду: -

-
vim -c ':options'
-
- [Примечание] -

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

-

- По умолчанию vim устанавливает файлы проверки орфографии только - для английского языка. Для установки файлов проверки орфографии - других языков, скопируйте файлы .spl и, при необходимости, .sug для вашего языка и кодировки символов из - runtime/spell, сохраните их в - /usr/share/vim/vim91/spell/. -

-

- Чтобы использовать эти файлы проверки орфографии, необходимо - указать параметры для vim в файле /etc/vimrc, пример: -

-
set spelllang=en,ru
-set spell
-

- Дополнительные сведения смотрите в файле runtime/spell/README.txt. -

-
-
-
-

- 8.72.3. Содержимое - пакета Vim -

-
-
-
- Установленные программы: - ex (ссылка на vim), rview (ссылка на - vim), rvim (ссылка на vim), vi (ссылка на vim), view (ссылка на - vim), vim, vimdiff (ссылка на vim), vimtutor и xxd -
-
- Созданные каталоги: - /usr/share/vim -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- ex -

-
-

- Запускает vim в режиме ex -

-
-

- rview -

-
-

- Это ограниченная версия view; никакие команды - оболочки не могут быть запущены, и view не может быть - приостановлен -

-
-

- rvim -

-
-

- Это ограниченная версия vim; никакие команды - оболочки не могут быть запущены, и vim не может быть - приостановлен -

-
-

- vi -

-
-

- Ссылка на vim -

-
-

- view -

-
-

- Запускает vim в режиме только для - чтения -

-
-

- vim -

-
-

- Сам редактор -

-
-

- vimdiff -

-
-

- Редактирует две или три версии файла с помощью - vim и - показывает различия -

-
-

- vimtutor -

-
-

- Обучает основным горячим клавишам и командам vim -

-
-

- xxd -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/wheel.html b/lfs-12.1-sysv/chapter08/wheel.html deleted file mode 100644 index 8d30c28..0000000 --- a/lfs-12.1-sysv/chapter08/wheel.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - 8.53. Wheel-0.42.0 - - - - - - - - -

- 8.53. Wheel-0.42.0 -

-
-
-

- Wheel — это библиотека Python, которая является эталонной - реализацией стандарта упаковки программ на языке Python. -

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

- 8.53.1. Установка пакета Wheel -

-

- Скомпилируйте Wheel с помощью следующей команды: -

-
pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD
-

- Установите Wheel: -

-
pip3 install --no-index --find-links=dist wheel
-
-
-

- 8.53.2. Содержимое - пакета Wheel -

-
-
-
- Установленные программы: - wheel -
-
- Созданные каталоги: - /usr/lib/python3.12/site-packages/wheel и - /usr/lib/python3.12/site-packages/wheel-0.42.0.dist-info -
-
-
-
-

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

- - - - - - - - - - - -
-

- wheel -

-
-

- это утилита для распаковки, упаковки или преобразования - wheel-архивов -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/xml-parser.html b/lfs-12.1-sysv/chapter08/xml-parser.html deleted file mode 100644 index e190c95..0000000 --- a/lfs-12.1-sysv/chapter08/xml-parser.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - 8.43. XML::Parser-2.47 - - - - - - - - -

- 8.43. - XML::Parser-2.47 -

-
-
-

- Модуль XML::Parser представляет собой Perl-интерфейс к XML-парсеру - Джеймса Кларка Expat. -

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

- 8.43.1. Установка пакета XML::Parser -

-

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

-
perl Makefile.PL
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make test
-

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

-
make install
-
-
-

- 8.43.2. - Содержимое XML::Parser -

-
-
-
- Установленный модуль: - Expat.so -
-
-
-
-

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

- - - - - - - - - - - -
-

- Expat -

-
-

- предоставляет Perl интерфейс для Expat -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/xz.html b/lfs-12.1-sysv/chapter08/xz.html deleted file mode 100644 index 8588892..0000000 --- a/lfs-12.1-sysv/chapter08/xz.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - - 8.8. Xz-5.4.6 - - - - - - - - -

- 8.8. Xz-5.4.6 -

-
-
-

- Пакет Xz содержит программы для сжатия и распаковки файлов. Он - предоставляет возможности для lzma и более новых форматов сжатия - xz. Сжатие текстовых файлов с помощью xz дает лучший процент сжатия, - чем с традиционные gzip или bzip2. -

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

- 8.8.1. Установка пакета Xz -

-

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

-
./configure --prefix=/usr    \
-            --disable-static \
-            --docdir=/usr/share/doc/xz-5.4.6
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-
-
-

- 8.8.2. Содержимое пакета - Xz -

-
-
-
- Установленные программы: - lzcat (ссылка на xz), lzcmp (ссылка на - xzdiff), lzdiff (ссылка на xzdiff), lzegrep (ссылка на xzgrep), - lzfgrep (ссылка на xzgrep), lzgrep (ссылка на xzgrep), lzless - (ссылка на xzless), lzma (ссылка на xz), lzmadec, lzmainfo, - lzmore (ссылка на xzmore), unlzma (ссылка на xz), unxz (ссылка - на xz), xz, xzcat (ссылка на xz), xzcmp (ссылка на xzdiff), - xzdec, xzdiff, xzegrep (ссылка на xzgrep), xzfgrep (ссылка на - xzgrep), xzgrep, xzless и xzmore -
-
- Установленные библиотеки: - liblzma.so -
-
- Созданные каталоги: - /usr/include/lzma и - /usr/share/doc/xz-5.4.6 -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- lzcat -

-
-

- Распаковывает в стандартный поток вывода -

-
-

- lzcmp -

-
-

- Запускает cmp для файлов сжатых - LZMA -

-
-

- lzdiff -

-
-

- Запускает diff для файлов сжатых - LZMA -

-
-

- lzegrep -

-
-

- Запускает egrep для файлов сжатых - LZMA -

-
-

- lzfgrep -

-
-

- Запускает fgrep для файлов сжатых - LZMA -

-
-

- lzgrep -

-
-

- Запускает grep для файлов сжатых - LZMA -

-
-

- lzless -

-
-

- Запускает less для файлов сжатых - LZMA -

-
-

- lzma -

-
-

- Сжимает или распаковывает файлы в формате LZMA -

-
-

- lzmadec -

-
-

- Небольшой и быстрый декодер для файлов сжатых LZMA. -

-
-

- lzmainfo -

-
-

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

-
-

- 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 -

-
-

- Библиотека, реализующая сжатие данных без потерь с - блочной сортировкой с использованием алгоритма - Lempel-Ziv-Markov -

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/zlib.html b/lfs-12.1-sysv/chapter08/zlib.html deleted file mode 100644 index 9b45ad0..0000000 --- a/lfs-12.1-sysv/chapter08/zlib.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - 8.6. Zlib-1.3.1 - - - - - - - - -

- 8.6. Zlib-1.3.1 -

-
-
-

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

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

- 8.6.1. Установка пакета Zlib -

-

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

-
./configure --prefix=/usr
-

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

-
make
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make install
-

- Удалите бесполезную статическую библиотеку: -

-
rm -fv /usr/lib/libz.a
-
-
-

- 8.6.2. Содержимое - пакета Zlib -

-
-
-
- Установленные библиотеки: - libz.so -
-
-
-
-

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

- - - - - - - - - - - -
-

- libz -

-
-

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

-
-
-
-
- - - diff --git a/lfs-12.1-sysv/chapter08/zstd.html b/lfs-12.1-sysv/chapter08/zstd.html deleted file mode 100644 index d3262e0..0000000 --- a/lfs-12.1-sysv/chapter08/zstd.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - 8.9. Zstd-1.5.5 - - - - - - - - -

- 8.9. Zstd-1.5.5 -

-
-
-

- Zstandard — это алгоритм сжатия в реальном времени, обеспечивающий - высокую степень сжатия. Он предлагает очень широкий диапазон - компромиссов между сжатием и скоростью при поддержке очень быстрого - декодера. -

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

- 8.9.1. Установка пакета Zstd -

-

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

-
make prefix=/usr
-
- [Примечание] -

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

-

- В выходных данных теста есть несколько мест, выводящих сообщение - 'failed'. Они ожидаемы, и только 'FAIL' является фактическим - сбоем теста. Сбоев при тестировании быть не должно. -

-
-

- Чтобы протестировать пакет, выполните: -

-
make check
-

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

-
make prefix=/usr install
-

- Удалите статическую библиотеку: -

-
rm -v /usr/lib/libzstd.a
-
-
-

- 8.9.2. Содержимое - пакета Zstd -

-
-
-
- Установленные программы: - zstd, zstdcat (ссылка на zstd), zstdgrep, - zstdless, zstdmt (ссылка на zstd) и unzstd (ссылка на - zstd) -
-
- Установленные библиотеки: - libzstd.so -
-
-
-
-

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

- - - - - - - - - - - - - - - - - - - - - - - -
-

- zstd -

-
-

- Сжимает или распаковывает файлы в формате ZSTD -

-
-

- zstdgrep -

-
-

- Запускает grep на сжатых ZSTD - файлах -

-
-

- zstdless -

-
-

- Запускает less на сжатых ZSTD - файлах -

-
-

- libzstd -

-
-

- Библиотека, реализующая сжатие данных без потерь, с - использованием алгоритма ZSTD -

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