Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

2.2. Wymagania systemowe hosta

Twój system hosta powinien mieć następujące oprogramowanie ze wskazanymi wersjami minimalnymi. Nie powinno to stanowić problemu dla większości nowoczesnych dystrybucji Linuksa. Należy również zauważyć, że wiele dystrybucji umieszcza nagłówki oprogramowania w osobnych pakietach, często w formie „ -rozwój” lub „ -dev”. Pamiętaj, aby je zainstalować, jeśli twoja dystrybucja je zapewnia.

Wcześniejsze wersje wymienionych pakietów oprogramowania mogą działać, ale nie zostały przetestowane.

bash-3.2 (/bin/sh powinien być symbolicznym lub twardym linkiem do basha)

Binutils-2.25 (Wersje większe niż 2.32 nie są zalecane, ponieważ nie zostały przetestowane)

Żubr-2.7 (/usr/bin/yacc powinien być linkiem do bizona lub małego skryptu wykonującego bizona)

Bzip2-1.0.4

Coreutils-6.9

Utrudnienia-2.8.1

Findutils-4.2.31

Gawk-4.0.1 (/usr/bin/awk powinno być linkiem do gawk)

GCC-6.2 w tym kompilator C++, g ++ (Wersje większe niż 9.2.0 nie są zalecane, ponieważ nie zostały przetestowane)

Glibc-2.11 (Wersje większe niż 2.30 nie są zalecane, ponieważ nie zostały przetestowane)

Grep-2.5.1a

Gzip-1.3.12

Jądro Linuksa-3.2

Powodem wymagania dotyczącego wersji jądra jest to, że określamy tę wersję podczas budowania glibc w rozdziale 6 na zalecenie programistów. Jest to również wymagane przez udev.

Jeśli jądro hosta jest starsze niż 3.2, będziesz musiał wymienić jądro na nowszą wersję. Możesz to zrobić na dwa sposoby. Najpierw sprawdź, czy twój dostawca Linuksa zapewnia pakiet jądra 3.2 lub nowszy. Jeśli tak, możesz chcieć go zainstalować. Jeśli twój dostawca nie oferuje akceptowalnego pakietu jądra lub wolisz tego nie robić

zainstaluj go, możesz samodzielnie skompilować jądro. Instrukcje dotyczące kompilacji jądra i konfiguracji programu ładującego (zakładając, że host używa GRUB) znajdują się w rozdziale 8.

M4-1.4.10

Zrób-4.0

Łatka-2.5.4

Perl-5.8.8

Python-3.4

Seda-4.1.5

Smoła-1.22


Informacje tekstowe-4.7

Xz-5.0.0


Ważny

Zauważ, że wspomniane powyżej dowiązania symboliczne są wymagane do zbudowania systemu LFS przy użyciu instrukcji zawartych w tej książce. Dowiązania symboliczne wskazujące na inne oprogramowanie (takie jak myślnik, mawk itp.) mogą działać, ale nie są testowane ani obsługiwane przez zespół programistów LFS i mogą wymagać odstępstwa od instrukcji lub dodatkowych poprawek do niektórych pakietów.

Ważny

Zauważ, że wspomniane powyżej dowiązania symboliczne są wymagane do zbudowania systemu LFS przy użyciu instrukcji zawartych w tej książce. Dowiązania symboliczne wskazujące na inne oprogramowanie (takie jak myślnik, mawk itp.) mogą działać, ale nie są testowane ani obsługiwane przez zespół programistów LFS i mogą wymagać odstępstwa od instrukcji lub dodatkowych poprawek do niektórych pakietów.


echo Elif [

echo jeszcze

przegapić

fi

echo Elif [

echo jeszcze

przegapić

fi

-n "Coreutils: "; chown --wersja | głowa -n1 | cięcie

-n "Coreutils: "; chown --wersja | głowa -n1 | cięcie

--wersja

--wersja

--wersja

--wersja

--wersja

--wersja

|

|

|

|

|

|

głowa

głowa głowa

głowa

głowa głowa

-n1

-n1

-n1

-n1

-n1

-n1

"/usr/bin/awk -> `readlink -f /usr/bin/awk`";

-x /usr/bin/awk ]; Następnie

awk to `/usr/bin/awk --wersja | głowa -n1`

"/usr/bin/awk -> `readlink -f /usr/bin/awk`";

-x /usr/bin/awk ]; Następnie

awk to `/usr/bin/awk --wersja | głowa -n1`

"nie znaleziono awk"

"nie znaleziono awk"

Aby sprawdzić, czy system hosta ma wszystkie odpowiednie wersje i możliwość kompilowania programów, uruchom następujące polecenie:


cat > wersja-check.sh << "EOF"

#! / bin / bash

# Prosty skrypt wyświetlający listę numerów wersji krytycznych narzędzi programistycznych export LC_ALL=C

bash --wersja | głowa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)

echo "/bin/sh -> $MYSH"

echo $MYSH | grep -q bash || echo „BŁĄD: /bin/sh nie wskazuje na bash” usuwa MYSH


echo -n "Binuty: "; ld --wersja | głowa -n1 | wytnij -d" " -f3- bizon --wersja | głowa -n1


if [-h /usr/bin/yacc]; Następnie

cat > wersja-check.sh << "EOF"

#! / bin / bash

# Prosty skrypt wyświetlający listę numerów wersji krytycznych narzędzi programistycznych export LC_ALL=C

bash --wersja | głowa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)

echo "/bin/sh -> $MYSH"

echo $MYSH | grep -q bash || echo „BŁĄD: /bin/sh nie wskazuje na bash” usuwa MYSH


echo -n "Binuty: "; ld --wersja | głowa -n1 | wytnij -d" " -f3- bizon --wersja | głowa -n1


if [-h /usr/bin/yacc]; Następnie


"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";

-x /usr/bin/yacc ]; Następnie

yacc to `/usr/bin/yacc --wersja | głowa -n1`

"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";

-x /usr/bin/yacc ]; Następnie

yacc to `/usr/bin/yacc --wersja | głowa -n1`


„nie znaleziono yac”


bzip2 --version 2>&1 < /dev/null | głowa -n1 | wytnij -d" " echo

diff

znajdź gawk

-f1,6-

-d")" -f2

„nie znaleziono yac”


bzip2 --version 2>&1 < /dev/null | głowa -n1 | wytnij -d" " echo

diff

znajdź gawk


if [ -h /usr/bin/awk ]; Następnie

if [ -h /usr/bin/awk ]; Następnie


echo Elif [

echo jeszcze

przegapić

fi

echo Elif [

echo jeszcze

przegapić

fi


gcc --wersja | głowa -n1 g++ --wersja | głowa -n1

ldd --wersja | głowa -n1 | cut -d" " -f2- # wersja glibc grep --version | głowa -n1

gzip --wersja | head -n1 kot /proc/wersja

m4 --wersja | head -n1 make --version | head -n1 poprawka --wersja | head -n1 echo Perl `perl -V:wersja` python3 --version

sed --wersja | head -n1 tar --wersja | głowa -n1

makeinfo --wersja | head -n1 # texinfo wersja xz --wersja | głowa -n1

gcc --wersja | głowa -n1 g++ --wersja | głowa -n1

ldd --wersja | głowa -n1 | cut -d" " -f2- # wersja glibc grep --version | głowa -n1

gzip --wersja | head -n1 kot /proc/wersja

m4 --wersja | head -n1 make --version | head -n1 poprawka --wersja | head -n1 echo Perl `perl -V:wersja` python3 --version

sed --wersja | head -n1 tar --wersja | głowa -n1

makeinfo --wersja | head -n1 # texinfo wersja xz --wersja | głowa -n1



echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]

następnie echo „Kompilacja g++ OK”;

w przeciwnym razie echo „Kompilacja g++ nie powiodła się”; fi rm -f dummy.c dummy

EOF


bash sprawdzanie wersji.sh


echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c if [ -x dummy ]

następnie echo „Kompilacja g++ OK”;

w przeciwnym razie echo „Kompilacja g++ nie powiodła się”; fi rm -f dummy.c dummy

EOF


bash sprawdzanie wersji.sh


Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: