2.2. Cerințe de sistem gazdă
Sistemul dvs. gazdă ar trebui să aibă următorul software cu versiunile minime indicate. Aceasta nu ar trebui să fie o problemă pentru majoritatea distribuțiilor Linux moderne. De asemenea, rețineți că multe distribuții vor plasa antetele software în pachete separate, adesea sub forma „ -dezvoltare” sau „ -dev”. Asigurați-vă că le instalați dacă distribuția dvs. le oferă.
Versiunile anterioare ale pachetelor software enumerate pot funcționa, dar nu au fost testate.
• bash-3.2 (/bin/sh ar trebui să fie un link simbolic sau hard către bash)
• Binutils-2.25 (Versiunile mai mari decât 2.32 nu sunt recomandate deoarece nu au fost testate)
• Zimbrul-2.7 (/usr/bin/yacc ar trebui să fie un link către bison sau un script mic care execută bison)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/usr/bin/awk ar trebui să fie un link către gawk)
• GCC-6.2 inclusiv compilatorul C++, g ++ (Versiunile mai mari decât 9.2.0 nu sunt recomandate deoarece nu au fost testate)
• Glibc-2.11 (Versiunile mai mari decât 2.30 nu sunt recomandate deoarece nu au fost testate)
• Grep-2.5.1a
• Gzip-1.3.12
• Linux Kernel-3.2
Motivul pentru cerința versiunii de kernel este că specificăm acea versiune atunci când construim glibc în Capitolul 6, la recomandarea dezvoltatorilor. Este cerut și de udev.
Dacă nucleul gazdă este mai devreme de 3.2, va trebui să înlocuiți nucleul cu o versiune mai actualizată. Există două moduri în care puteți face acest lucru. Mai întâi, vedeți dacă furnizorul dvs. Linux oferă un pachet de kernel 3.2 sau mai recent. Dacă da, poate doriți să-l instalați. Dacă furnizorul dvs. nu oferă un pachet acceptabil de nucleu sau ați prefera să nu o faceți
instalați-l, puteți compila singur un nucleu. Instrucțiunile pentru compilarea nucleului și configurarea încărctorului de pornire (presupunând că gazda folosește GRUB) se află în Capitolul 8.
• M4-1.4.10
• Face-4.0
• Patch-2.5.4
• Perl-5.8.8
• Python-3.4
• Sed-4.1.5
• Tar-1.22
• Texinfo-4.7
• Xz-5.0.0
Important
Rețineți că legăturile simbolice menționate mai sus sunt necesare pentru a construi un sistem LFS folosind instrucțiunile conținute în această carte. Legăturile simbolice care indică alte programe (cum ar fi dash, mawk etc.) pot funcționa, dar nu sunt testate sau susținute de echipa de dezvoltare LFS și pot necesita fie abateri de la instrucțiuni, fie corecții suplimentare pentru unele pachete.
Important
Rețineți că legăturile simbolice menționate mai sus sunt necesare pentru a construi un sistem LFS folosind instrucțiunile conținute în această carte. Legăturile simbolice care indică alte programe (cum ar fi dash, mawk etc.) pot funcționa, dar nu sunt testate sau susținute de echipa de dezvoltare LFS și pot necesita fie abateri de la instrucțiuni, fie corecții suplimentare pentru unele pachete.
echo elif [
ecou altceva
ecou
fi
echo elif [
ecou altceva
ecou
fi
-n "Coreutils: "; chown --versiune | cap -n1 | a tăia
-n "Coreutils: "; chown --versiune | cap -n1 | a tăia
--versiune
--versiune
--versiune
--versiune
--versiune
--versiune
|
|
|
|
|
|
cap
cap cap
cap
cap cap
-n1
-n1
-n1
-n1
-n1
-n1
„/usr/bin/awk -> `readlink -f /usr/bin/awk`”;
-x /usr/bin/awk ]; atunci
awk este `/usr/bin/awk --version | cap -n1`
„/usr/bin/awk -> `readlink -f /usr/bin/awk`”;
-x /usr/bin/awk ]; atunci
awk este `/usr/bin/awk --version | cap -n1`
"awk nu a fost gasit"
"awk nu a fost gasit"
Pentru a vedea dacă sistemul dumneavoastră gazdă are toate versiunile adecvate și capacitatea de a compila programe, rulați următoarele:
cat > version-check.sh << „EOF”
#! / Bin / bash
# Script simplu pentru a lista numerele de versiune ale instrumentelor de dezvoltare critice export LC_ALL=C
bash --versiune | cap -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo „/bin/sh -> $MYSH”
echo $MYSH | grep -q bash || echo „EROARE: /bin/sh nu indică spre bash” unset MYSH
echo -n "Binutils: "; ld --versiune | cap -n1 | cut -d" " -f3- bizon --versiune | cap -n1
dacă [ -h /usr/bin/yacc ]; atunci
cat > version-check.sh << „EOF”
#! / Bin / bash
# Script simplu pentru a lista numerele de versiune ale instrumentelor de dezvoltare critice export LC_ALL=C
bash --versiune | cap -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo „/bin/sh -> $MYSH”
echo $MYSH | grep -q bash || echo „EROARE: /bin/sh nu indică spre bash” unset MYSH
echo -n "Binutils: "; ld --versiune | cap -n1 | cut -d" " -f3- bizon --versiune | cap -n1
dacă [ -h /usr/bin/yacc ]; atunci
„/usr/bin/yacc -> `readlink -f /usr/bin/yacc`”;
-x /usr/bin/yacc ]; atunci
yacc este `/usr/bin/yacc --version | cap -n1`
„/usr/bin/yacc -> `readlink -f /usr/bin/yacc`”;
-x /usr/bin/yacc ]; atunci
yacc este `/usr/bin/yacc --version | cap -n1`
"yacc nu a fost găsit"
bzip2 --version 2>&1 < /dev/null | cap -n1 | cut -d" " ecou
dif
găsi gawk
-f1,6-
-d")" -f2
"yacc nu a fost găsit"
bzip2 --version 2>&1 < /dev/null | cap -n1 | cut -d" " ecou
dif
găsi gawk
if [ -h /usr/bin/awk ]; atunci
if [ -h /usr/bin/awk ]; atunci
echo elif [
ecou altceva
ecou
fi
echo elif [
ecou altceva
ecou
fi
gcc --versiune | cap -n1 g++ --versiune | cap -n1
ldd --versiune | cap -n1 | cut -d" " -f2- # glibc version grep --version | cap -n1
gzip --versiune | head -n1 cat /proc/version
m4 --versiunea | head -n1 make --version | cap -n1 patch --versiune | head -n1 echo Perl `perl -V:version` python3 --version
sed --versiune | head -n1 tar --versiune | cap -n1
makeinfo --versiune | head -n1 # texinfo version xz --version | cap -n1
gcc --versiune | cap -n1 g++ --versiune | cap -n1
ldd --versiune | cap -n1 | cut -d" " -f2- # glibc version grep --version | cap -n1
gzip --versiune | head -n1 cat /proc/version
m4 --versiunea | head -n1 make --version | cap -n1 patch --versiune | head -n1 echo Perl `perl -V:version` python3 --version
sed --versiune | head -n1 tar --versiune | cap -n1
makeinfo --versiune | head -n1 # texinfo version xz --version | cap -n1
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
apoi echo "g++ compilare OK";
else echo "compilarea g++ a eșuat"; fi rm -f dummy.c dummy
EOF
bash version-check.sh
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]
apoi echo "g++ compilare OK";
else echo "compilarea g++ a eșuat"; fi rm -f dummy.c dummy
EOF
bash version-check.sh