<Предыдущая | Содержание: | Следующая>
2.2. Требования к хост-системе
Ваша хост-система должна иметь следующее программное обеспечение с указанными минимальными версиями. Это не должно быть проблемой для большинства современных дистрибутивов Linux. Также обратите внимание, что многие дистрибутивы помещают заголовки программного обеспечения в отдельные пакеты, часто в форме « -devel »или« -dev ». Обязательно установите их, если они есть в вашем дистрибутиве.
Более ранние версии перечисленных пакетов программного обеспечения могут работать, но не были протестированы.
• Баш-3.2 (/ bin / sh должно быть символьной или жесткой ссылкой на bash)
• Бинутилс-2.25 (Версии выше 2.32 не рекомендуются, так как они не тестировались)
• Бизон-2.7 (/ usr / bin / yacc должен быть ссылкой на bison или небольшой скрипт, выполняющий bison)
• Bzip2-1.0.4
• Coreutils-6.9
• Диффутилс-2.8.1
• Findutils-4.2.31
• Гавк-4.0.1 (/ usr / bin / awk должен быть ссылкой на gawk)
• ССЗ-6.2 включая компилятор C ++, г ++ (Версии выше 9.2.0 не рекомендуются, так как они не тестировались)
• Глибк-2.11 (Версии выше 2.30 не рекомендуются, так как они не тестировались)
• Греп-2.5.1а
• Gzip-1.3.12
• Ядро Linux-3.2
Причина требования к версии ядра заключается в том, что мы указываем эту версию при сборке glibc в главе 6 по рекомендации разработчиков. Это также требуется для udev.
Если ядро хоста более ранней, чем 3.2, вам нужно будет заменить ядро на более новую версию. Есть два способа сделать это. Сначала проверьте, предоставляет ли ваш поставщик Linux пакет ядра 3.2 или новее. Если да, вы можете установить его. Если ваш поставщик не предлагает приемлемый пакет ядра или вы не хотите
установив его, вы можете скомпилировать ядро самостоятельно. Инструкции по компиляции ядра и настройке загрузчика (при условии, что хост использует GRUB) находятся в главе 8.
• M4-1.4.10
• Марка-4.0
• Патч-2.5.4
• Перл-5.8.8
• Питон-3.4
• Сед-4.1.5
• Тар-1.22
• Тексинфо-4.7

• Хз-5.0.0
Важнo
Обратите внимание, что упомянутые выше символические ссылки необходимы для построения системы LFS с использованием инструкций, содержащихся в этой книге. Символические ссылки, указывающие на другое программное обеспечение (такое как dash, mawk и т. Д.), Могут работать, но они не тестируются и не поддерживаются командой разработчиков LFS и могут потребовать либо отклонения от инструкций, либо дополнительных исправлений для некоторых пакетов.
Важнo
Обратите внимание, что упомянутые выше символические ссылки необходимы для построения системы LFS с использованием инструкций, содержащихся в этой книге. Символические ссылки, указывающие на другое программное обеспечение (такое как dash, mawk и т. Д.), Могут работать, но они не тестируются и не поддерживаются командой разработчиков LFS и могут потребовать либо отклонения от инструкций, либо дополнительных исправлений для некоторых пакетов.

эхо элиф [
эхо еще
эхо
fi
эхо элиф [
эхо еще
эхо
fi
-n "Coreutils:"; chown --version | голова -n1 | резать
-n "Coreutils:"; chown --version | голова -n1 | резать
--версия
--версия
--версия
--версия
--версия
--версия
|
|
|
|
|
|
голова голова
голова голова
-n1
-n1
-n1
-n1
-n1
-n1
"/ usr / bin / awk ->` readlink -f / usr / bin / awk` ";
-x / usr / bin / awk]; тогда
awk - это `/ usr / bin / awk --version | голова -n1`
"/ usr / bin / awk ->` readlink -f / usr / bin / awk` ";
-x / usr / bin / awk]; тогда
awk - это `/ usr / bin / awk --version | голова -n1`
"awk не найден"
"awk не найден"
Чтобы узнать, есть ли у вашей хост-системы все подходящие версии и есть ли возможность компилировать программы, запустите следующее:
cat> version-check.sh << "EOF"
#! / Bin / Баш
# Простой скрипт для вывода списка номеров версий важнейших инструментов разработки export LC_ALL = C
bash --version | голова -n1 | вырезать -d "" -f2-4 MYSH = $ (ссылка для чтения -f / bin / sh)
эхо "/ bin / sh -> $ MYSH"
echo $ MYSH | grep -q bash || echo "ОШИБКА: / bin / sh не указывает на bash" сбросить MYSH
echo -n "Binutils:"; ld --version | голова -n1 | cut -d "" -f3- bison --version | голова -n1
если [-h / usr / bin / yacc]; тогда
cat> version-check.sh << "EOF"
#! / Bin / Баш
# Простой скрипт для вывода списка номеров версий важнейших инструментов разработки export LC_ALL = C
bash --version | голова -n1 | вырезать -d "" -f2-4 MYSH = $ (ссылка для чтения -f / bin / sh)
эхо "/ bin / sh -> $ MYSH"
echo $ MYSH | grep -q bash || echo "ОШИБКА: / bin / sh не указывает на bash" сбросить MYSH
echo -n "Binutils:"; ld --version | голова -n1 | cut -d "" -f3- bison --version | голова -n1
если [-h / usr / bin / yacc]; тогда
"/ usr / bin / yacc ->` readlink -f / usr / bin / yacc` ";
-x / usr / bin / yacc]; тогда
yacc - это `/ usr / bin / yacc --version | голова -n1`
"/ usr / bin / yacc ->` readlink -f / usr / bin / yacc` ";
-x / usr / bin / yacc]; тогда
yacc - это `/ usr / bin / yacc --version | голова -n1`
"yacc не найден"
bzip2 --version 2> & 1 </ dev / null | голова -n1 | вырезать -d "" эхо
Разница
найти таращиться
-f1,6-
-d ")" -f2
"yacc не найден"
bzip2 --version 2> & 1 </ dev / null | голова -n1 | вырезать -d "" эхо
Разница
найти таращиться
если [-h / usr / bin / awk]; тогда
если [-h / usr / bin / awk]; тогда
эхо элиф [
эхо еще
эхо
fi
эхо элиф [
эхо еще
эхо
fi

gcc --version | head -n1 g ++ --version | голова -n1
ldd --version | голова -n1 | cut -d "" -f2- # версия glibc grep --version | голова -n1
gzip --version | голова -n1 cat / proc / version
m4 --version | head -n1 make --version | head -n1 patch --version | голова -n1 echo Perl `perl -V: версия` python3 --version
sed --version | head -n1 tar --version | голова -n1
makeinfo --version | head -n1 # texinfo version xz --version | голова -n1
gcc --version | head -n1 g ++ --version | голова -n1
ldd --version | голова -n1 | cut -d "" -f2- # версия glibc grep --version | голова -n1
gzip --version | голова -n1 cat / proc / version
m4 --version | head -n1 make --version | head -n1 patch --version | голова -n1 echo Perl `perl -V: версия` python3 --version
sed --version | head -n1 tar --version | голова -n1
makeinfo --version | head -n1 # texinfo version xz --version | голова -n1
echo 'int main () {}'> dummy.c && g ++ -o dummy dummy.c if [-x dummy]
затем echo "g ++ compilation OK";
else echo "Ошибка компиляции g ++"; fi rm -f dummy.c dummy
EOF
версия bash-check.sh
echo 'int main () {}'> dummy.c && g ++ -o dummy dummy.c if [-x dummy]
затем echo "g ++ compilation OK";
else echo "Ошибка компиляции g ++"; fi rm -f dummy.c dummy
EOF
версия bash-check.sh
Документация