summaryrefslogtreecommitdiff
path: root/lfs-12.0-sysv/chapter02/hostreqs.html
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.0-sysv/chapter02/hostreqs.html')
-rw-r--r--lfs-12.0-sysv/chapter02/hostreqs.html379
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">&lt;package-name&gt;-devel</span>»</span> или <span class=
- "quote">«<span class=
- "quote">&lt;package-name&gt;-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. Сборка кросс-тулчейна">Глава&nbsp;5</a> и <a class=
- "xref" href="../chapter08/chapter08.html" title=
- "Глава 8. Установка базового системного программного обеспечения">
- Глава&nbsp;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 загрузочной">Глава&nbsp;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 &gt; version-check.sh &lt;&lt; "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 &gt; /dev/null 2&gt; /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 &amp;&gt;/dev/null
- then
- echo "ERROR: Cannot find $2 ($1)"; return 1;
- fi
- v=$($2 --version 2&gt;&amp;1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1)
- if printf '%s\n' $3 $v | sort --version-sort --check &amp;&gt;/dev/null
- then
- printf "OK: %-9s %-6s &gt;= $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 &amp;&gt;/dev/null
- then
- printf "OK: Linux Kernel $kver &gt;= $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 &gt;= 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' &amp;&amp; [ -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&gt;&amp;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>