Files
LFS_Book/chapter02/hostreqs.xml
Anton Maisak 18dfba6a5f Revision: 11647
Author: renodr
Date: 3 августа 2019 г. 3:57:21
Message:
Minor typo fix
----
Modified : /trunk/BOOK/chapter02/hostreqs.xml
2020-09-14 15:18:57 +03:00

266 lines
9.5 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="pre-hostreqs" xreflabel="Host System Requirements">
<?dbhtml filename="hostreqs.html"?>
<title>Требования к хост-системе</title>
<para>Ваша хост система должна иметь следующее программное обеспечение с
минимальными версиями, которые будут указаны. На современных дистрибутивах проблем не должно быть, однако,
необходимо знать, что некоторые дистрибутивы хранят заголовочные файлы в отдельных пакетах, как правило, в таком формате:
<quote>&lt;package-name&gt;-devel</quote> или
<quote>&lt;package-name&gt;-dev</quote>.
Убедитесь что они были установлены, в случае если ваш дистрибутив их предоставляет.
</para>
<para>
Более ранние версии из списка программного обеспечения могут работать, но этот момент
не проверялся (тестирование не производилось).</para>
<itemizedlist spacing="compact">
<listitem>
<para>
<emphasis role="strong">Bash-3.2</emphasis> (/bin/sh
должен быть символической или жесткой ссылкой на bash)</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Binutils-2.25</emphasis> (Версия старше чем
&binutils-version; не рекомендуется, потому что тестирование таковой не проводилось.</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Bison-2.7</emphasis> (/usr/bin/yacc
должен быть ссылкой на bison или небольшим скриптом который выполняет bison)</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Bzip2-1.0.4</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Coreutils-6.9</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Diffutils-2.8.1</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Findutils-4.2.31</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Gawk-4.0.1</emphasis> (/usr/bin/awk
должен быть ссылкой на gawk)</para>
</listitem>
<!-- glibc-2.30 requires gcc-6.2 or later -->
<listitem>
<para>
<emphasis role="strong">GCC-6.2</emphasis> включая компилятор Си++
, <command>g++</command> (Версия старше чем &gcc-version; не рекомендуется,
потому что тестирование таковой не проводилось.)
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Glibc-2.11</emphasis> (Версия старше чем
&glibc-version; не рекомендуется,
потому что тестирование таковой не проводилось.)
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Grep-2.5.1a</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Gzip-1.3.12</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Ядро Linux &min-kernel;</emphasis>
</para>
<para>Причина минимальной версии ядра - указание такой версии при сборке пакета <application>glibc</application> в главе&nbsp;6, которая является рекомендацией разработчиков. Она также необходима для пакета udev.</para>
<para>Если версия ядра хост системы более ранняя, чем &min-kernel; вам придется заменить его на более свежую. Существует как минимум два способа как это сделать. Сперва посмотрите, предоставляет ли дистрибутив хост системы ядро версии &min-kernel; или более позднюю. Если этот так - нужно его обновить. В ином случае, вы можете выполнить сборку
ядра самостоятельно. Инструкции для компиляции ядра и настройка загрузчика представлены в
главе <xref linkend="chapter-bootable"/>
(При условии что в хост системе используется загрузчик GRUB).</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">M4-1.4.10</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Make-4.0</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Patch-2.5.4</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Perl-5.8.8</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Python-3.4</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Sed-4.1.5</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Tar-1.22</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Texinfo-4.7</emphasis>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Xz-5.0.0</emphasis>
</para>
</listitem>
</itemizedlist>
<important>
<para>Обратите внимание, что упомянутые выше символические ссылки необходимы для создания системы LFS используя инструкции, содержащиеся в этой книге. Символические ссылки которые
указывают на программы (такие как dash, mawk, и т.д.) могут работать, но они не тестировались и не поддерживаются командой разработчиков LFS и возможно потребуются отклонения от инструкций или применение дополнительных патчей для некоторых пакетов.</para>
</important>
<!-- Use an empty sect2 element to prevent a pdf warning. -->
<bridgehead renderas="sect2" id="version-check" xreflabel="Требования к хост-системе">
</bridgehead>
<!--<title> </title>-->
<para >Чтобы узнать, имеет ли ваша хост-система все соответствующие версии и
   возможность компиляции программ, выполните следующие действия:</para>
<!-- ANY additional lines in the script cause a pdf rendering problem-->
<screen role="nodump">
<userinput>cat &gt; version-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
# Simple script to list version numbers of critical development tools
export LC_ALL=C
bash --version | head -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -&gt; $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh does not point to bash"
unset MYSH
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -h /usr/bin/yacc ]; then
echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
elif [ -x /usr/bin/yacc ]; then
echo yacc is `/usr/bin/yacc --version | head -n1`
else
echo "yacc not found"
fi
bzip2 --version 2&gt;&amp;1 &lt; /dev/null | head -n1 | cut -d" " -f1,6-
echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
diff --version | head -n1
find --version | head -n1
gawk --version | head -n1
if [ -h /usr/bin/awk ]; then
echo "/usr/bin/awk -&gt; `readlink -f /usr/bin/awk`";
elif [ -x /usr/bin/awk ]; then
echo awk is `/usr/bin/awk --version | head -n1`
else
echo "awk not found"
fi
gcc --version | head -n1
g++ --version | head -n1
ldd --version | head -n1 | cut -d" " -f2- # glibc version
grep --version | head -n1
gzip --version | head -n1
cat /proc/version
m4 --version | head -n1
make --version | head -n1
patch --version | head -n1
echo Perl `perl -V:version`
python3 --version
sed --version | head -n1
tar --version | head -n1
makeinfo --version | head -n1 # texinfo version
xz --version | head -n1
<?hard-pagebreak?>
echo 'int main(){}' &gt; dummy.c &amp;&amp; g++ -o dummy dummy.c
if [ -x dummy ]
then echo "g++ compilation OK";
else echo "g++ compilation failed"; fi
rm -f dummy.c dummy</literal>
EOF
bash version-check.sh</userinput>
</screen>
<!--
<para>Also check for some library consistency:</para>
<screen role="nodump"><userinput>cat &gt; library-check.sh &lt;&lt; "EOF"
<literal>#!/bin/bash
for lib in lib{gmp,mpfr,mpc}.la; do
echo $lib: $(if find /usr/lib* -name $lib|
grep -q $lib;then :;else echo not;fi) found
done
unset lib</literal>
EOF
bash library-check.sh</userinput></screen>
<para>The files identified by this script should be all present
or all absent, but not only one or two present.</para>
-->
</sect1>