Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Linux From Scratch - Version 6.8
Назад Пролог Вперед

vii. Требование к хост-системе

На вашей хост системе должно быть следующее программное обеспечение с номерами версий, не ниже указанных. Для большинства современных дистрибутивов Linux это не должно быть проблемой. Также отметим, что во многих дистрибутивах заголовочные файлы программ помещаются в отдельные пакеты, имеющие часто вид "<имя-пакета>-devel" или "<имя-пакета>-dev". Не забудьте установить их, если они предлагаются в вашем дистрибутиве.

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

  • Bash-3.2 (должна быть символическая или обычная ссылка /bin/sh на bash)
  • Binutils-2.17 (версии, выше чем 2.21., не рекомендуются, поскольку они не проверялись.)
  • Bison-2.3 (должна быть символическая или обычная ссылка /usr/bin/yacc на bison, либо нужен небольшой скипт, который выполняет программу bison)
  • Bzip2-1.0.4
  • Coreutils-6.9
  • Diffutils-2.8.1
  • Findutils-4.2.31
  • Gawk-3.1.5 (должна быть ссылка /usr/bin/awk на gawk)
  • Gcc-4.1.2 (версии, выше 4.5.2, не рекомендуются, поскольку они не проверялись.)
  • Glibc-2.5.1 (версии, выше 2.13, не рекомендуются, поскольку они не проверялись.)
  • Grep-2.5.1a
  • Gzip-1.3.12
  • Linux Kernel-2.6.22.5 (необходимо компилировать компилятором версии GCC-4.1.2 или выше)

    Причина такого требования к версии ядра обусловлена тем, что мы используем именно эту версию в главе 6 при сборке glibc в соответствие с рекомендациями разработчиков.

    Если версия ядра хост системы либо ниже 2.6.22.5, либо она не компилировалась с помощью компилятора GCC-4.1.2 (или более поздней), вам потребуется заменить ядро другим, которое будет соответствовать спецификациям. Есть два способа сделать это. Во-первых, посмотреть, предоставляет ли поставщик вашей системы Linux пакет ядра версии 2.6.22.5 или более поздней. Если да, то вы можете установить его. Если ваш поставщик не предлагает приемлемого пакета с ядром, или вы предпочитаете его не устанавливать, вы можете скомпилировать ядро самостоятельно. В главе 8 есть инструкции по компиляции ядра и конфигурированию начального загрузчика (при условии, что в хостовой системе используется GRUB).

  • M4-1.4.10
  • Make-3.81
  • Patch-2.5.4
  • Perl-5.8.8
  • Sed-4.1.5
  • Tar-1.18
  • Texinfo-4.9

Заметим, что символические ссылки, упомянутые выше, необходимы для построения системы LFS с использованием инструкций, содержащихся в этой книге. Символические ссылки, которые указывают на другие программы (например, dash, mawk и т. д.), могут также работать, но они не проверялись и не поддерживаются командой разработчиков LFS. Поэтому может потребоваться либо отходить от инструкции, либо для некоторых пакетов нужны будут дополнительные патчи.

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

cat > version-check.sh < "EOF"
#!/bin/bash
export LC_ALL=C

# Simple script to list version numbers of critical development tools

bash --version | head -n1 | cut -d" " -f2-4
echo "/bin/sh -> `readlink -f /bin/sh`"
echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-
bison --version | head -n1
if [ -e /usr/bin/yacc ];
  then echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; 
  else echo "yacc not found"; fi
bzip2 --version 2>&1 < /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 [ -e /usr/bin/awk ];
  then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; 
  else echo "awk not found"; fi
gcc --version | head -n1
/lib/libc.so.6 | head -n1 | cut -d"," -f1
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`
sed --version | head -n1
tar --version | head -n1
echo "Texinfo: `makeinfo --version | head -n1`"
echo 'main(){}' > dummy.c && gcc -o dummy dummy.c
if [ -x dummy ]; then echo "Compilation OK";
  else echo "Compilation failed"; fi
rm -f dummy.c dummy

EOF

bash version-check.sh

Предыдущий раздел: Оглавление Следующий раздел:
Предварительные требования   Типографские соглашения