diff options
Diffstat (limited to 'lfs-12.0-sysv/chapter02/hostreqs.html')
-rw-r--r-- | lfs-12.0-sysv/chapter02/hostreqs.html | 379 |
1 files changed, 0 insertions, 379 deletions
diff --git a/lfs-12.0-sysv/chapter02/hostreqs.html b/lfs-12.0-sysv/chapter02/hostreqs.html deleted file mode 100644 index a99a5e5..0000000 --- a/lfs-12.0-sysv/chapter02/hostreqs.html +++ /dev/null @@ -1,379 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 2.2. Требования к хост-системе - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.0"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.0 - </h4> - <h3> - Глава 2. Подготовка хост-системы - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="introduction.html" title= - "Введение">Пред.</a> - <p> - Введение - </p> - </li> - <li class="next"> - <a accesskey="n" href="stages.html" title= - "Этапы сборки системы LFS">След.</a> - <p> - Этапы сборки системы LFS - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter02.html" title= - "Глава 2. Подготовка хост-системы">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - <div class="sect1" lang="en" xml:lang="en"> - <h1 class="sect1"> - <a id="ch-partitioning-hostreqs" name= - "ch-partitioning-hostreqs"></a>2.2. Требования к хост-системе - </h1> - <div class="sect2" lang="en" xml:lang="en"> - <h2 class="sect2"> - 2.2.1. Аппаратное обеспечение - </h2> - <p> - Редакторы LFS рекомендуют, чтобы процессор имел не менее четырех - ядер и не менее 8 ГБ памяти. Старые системы, не отвечающие этим - требованиям, будут по-прежнему работать, но время сборки пакетов - будет значительно больше, чем указано в документации. - </p> - </div> - <div class="sect2" lang="en" xml:lang="en"> - <h2 class="sect2"> - 2.2.2. Программное обеспечение - </h2> - <p> - Ваша хост-система должна иметь следующее программное обеспечение с - указанными минимальными версиями. Это не должно быть проблемой для - большинства современных дистрибутивов Linux. Также обратите - внимание на то, что многие дистрибутивы помещают заголовочные файлы - в отдельные пакеты, как правило в формате <span class= - "quote">«<span class= - "quote"><package-name>-devel</span>»</span> или <span class= - "quote">«<span class= - "quote"><package-name>-dev</span>»</span>. Обязательно - установите эти пакеты, если ваш дистрибутив их предоставляет. - </p> - <p> - Более ранние версии перечисленных ниже пакетов могут работать, но - это не проверялось. - </p> - <div class="itemizedlist"> - <ul class="compact"> - <li class="listitem"> - <p> - <span class="strong"><strong>Bash-3.2</strong></span> - (/bin/sh должен быть символической или жесткой ссылкой на - bash) - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Binutils-2.13.1</strong></span> - (Версия выше 2.41 не рекомендуется, так как она не - тестировалась) - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Bison-2.7</strong></span> - (/usr/bin/yacc должен быть ссылкой на bison или небольшой - скрипт, запускающий bison) - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Coreutils-7.0</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Diffutils-2.8.1</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Findutils-4.2.31</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Gawk-4.0.1</strong></span> - (/usr/bin/awk должен быть ссылкой на gawk) - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>GCC-5.1</strong></span>, включая - компилятор C++, <span class= - "command"><strong>g++</strong></span> (версии выше 11.2.0 не - рекомендуются, поскольку они не тестировались). Также должны - присутствовать стандартные библиотеки C и C++ (с - заголовочными файлами), чтобы компилятор C++ мог осуществлять - сборку программ. - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Grep-2.5.1a</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Gzip-1.3.12</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Linux - Kernel-4.14</strong></span> - </p> - <p> - Причиной, по которой указаны минимальные требования к версии - ядра, является то, что мы указываем эту версию при сборке - <span class="application">glibc</span> в <a class="xref" - href="../chapter05/chapter05.html" title= - "Глава 5. Сборка кросс-тулчейна">Глава 5</a> и <a class= - "xref" href="../chapter08/chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения"> - Глава 8</a>. Так как более старые ядра не - поддерживаются, скомпилированный пакет <span class= - "application">glibc</span> немного меньше и быстрее. По - состоянию на июнь 2023 г. 4.14 является самой старой версией - ядра, поддерживаемой разработчиками ядра. - </p> - <p> - Если версия ядра хоста более ранняя, чем 4.14, вам необходимо - обновить ядро на более современную версию. Есть два способа - сделать это. Во-первых, посмотрите, предоставляет ли ваш - дистрибутив Linux пакет ядра 4.14 или более позднюю версию. - Если это так, установите его. Если ваш дистрибутив не - предлагает приемлемый пакет ядра или вы предпочитаете не - устанавливать его, вы можете скомпилировать ядро - самостоятельно. Инструкции по компиляции ядра и настройке - загрузчика (при условии, что хост использует GRUB) находятся - в <a class="xref" href="../chapter10/chapter10.html" title= - "Глава 10. Делаем систему LFS загрузочной">Глава 10</a>. - </p> - <p> - Для сборки LFS необходимо, чтобы ядро хоста поддерживало - псевдотерминал UNIX 98 (PTY). Обычно он включен на всех - настольных или серверных дистрибутивах, поставляющих Linux - 4.14 или более новое ядро. Если вы собираете собственное - хоста, убедитесь, что для параметра <code class= - "option">CONFIG_UNIX98_PTYS</code> установлено значение - <code class="literal">y</code> в конфигурационном файле ядра. - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>M4-1.4.10</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Make-4.0</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Patch-2.5.4</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Perl-5.8.8</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Python-3.4</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Sed-4.1.5</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Tar-1.22</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Texinfo-5.0</strong></span> - </p> - </li> - <li class="listitem"> - <p> - <span class="strong"><strong>Xz-5.0.0</strong></span> - </p> - </li> - </ul> - </div> - <div class="admon important"> - <img alt="[Важно]" src="../images/important.png" /> - <h3> - Важно - </h3> - <p> - Обратите внимание, что упомянутые выше символические ссылки - необходимы для создания системы LFS с использованием инструкций, - содержащихся в этой книге. Симлинки, указывающие на другое - программное обеспечение (например, dash, mawk и т. д.), могут - работать, но не тестируются и не поддерживаются командой - разработчиков LFS, и могут потребовать либо отклонения от - инструкций, либо дополнительных исправлений для некоторых - пакетов. - </p> - </div> - <h2> - <a id="version-check" name="version-check"></a> - </h2> - <p> - Чтобы узнать, есть ли в вашей хост-системе все необходимые пакеты и - возможность компилировать программы, выполните следующий скрипт: - </p> - <pre class="userinput"><kbd class= - "command">cat > version-check.sh << "EOF" -<code class="literal">#!/bin/bash -# A script to list version numbers of critical development tools - -# If you have tools installed in other directories, adjust PATH here AND -# in ~lfs/.bashrc (section 4.4) as well. - -LC_ALL=C -PATH=/usr/bin:/bin - -bail() { echo "FATAL: $1"; exit 1; } -grep --version > /dev/null 2> /dev/null || bail "grep does not work" -sed '' /dev/null || bail "sed does not work" -sort /dev/null || bail "sort does not work" - -ver_check() -{ - if ! type -p $2 &>/dev/null - then - echo "ERROR: Cannot find $2 ($1)"; return 1; - fi - v=$($2 --version 2>&1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1) - if printf '%s\n' $3 $v | sort --version-sort --check &>/dev/null - then - printf "OK: %-9s %-6s >= $3\n" "$1" "$v"; return 0; - else - printf "ERROR: %-9s is TOO OLD ($3 or later required)\n" "$1"; - return 1; - fi -} - -ver_kernel() -{ - kver=$(uname -r | grep -E -o '^[0-9\.]+') - if printf '%s\n' $1 $kver | sort --version-sort --check &>/dev/null - then - printf "OK: Linux Kernel $kver >= $1\n"; return 0; - else - printf "ERROR: Linux Kernel ($kver) is TOO OLD ($1 or later required)\n" "$kver"; - return 1; - fi -} - -# Coreutils first because-sort needs Coreutils >= 7.0 -ver_check Coreutils sort 7.0 || bail "--version-sort unsupported" -ver_check Bash bash 3.2 -ver_check Binutils ld 2.13.1 -ver_check Bison bison 2.7 -ver_check Diffutils diff 2.8.1 -ver_check Findutils find 4.2.31 -ver_check Gawk gawk 4.0.1 -ver_check GCC gcc 5.1 -ver_check "GCC (C++)" g++ 5.1 -ver_check Grep grep 2.5.1a -ver_check Gzip gzip 1.3.12 -ver_check M4 m4 1.4.10 -ver_check Make make 4.0 -ver_check Patch patch 2.5.4 -ver_check Perl perl 5.8.8 -ver_check Python python3 3.4 -ver_check Sed sed 4.1.5 -ver_check Tar tar 1.22 -ver_check Texinfo texi2any 5.0 -ver_check Xz xz 5.0.0 -ver_kernel 4.14 - -if mount | grep -q 'devpts on /dev/pts' && [ -e /dev/ptmx ] -then echo "OK: Linux Kernel supports UNIX 98 PTY"; -else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi - -alias_check() { - if $1 --version 2>&1 | grep -qi $2 - then printf "OK: %-4s is $2\n" "$1"; - else printf "ERROR: %-4s is NOT $2\n" "$1"; fi -} -echo "Aliases:" -alias_check awk GNU -alias_check yacc Bison -alias_check sh Bash - -echo "Compiler check:" -if printf "int main(){}" | g++ -x c++ - -then echo "OK: g++ works"; -else echo "ERROR: g++ does NOT work"; fi -rm -f a.out</code> -EOF - -bash version-check.sh</kbd></pre> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="introduction.html" title= - "Введение">Пред.</a> - <p> - Введение - </p> - </li> - <li class="next"> - <a accesskey="n" href="stages.html" title= - "Этапы сборки системы LFS">След.</a> - <p> - Этапы сборки системы LFS - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter02.html" title= - "Глава 2. Подготовка хост-системы">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - </body> -</html> |