2.2. Ana Sistem Gereksinimleri
Ana sisteminiz, belirtilen minimum sürümlerle aşağıdaki yazılıma sahip olmalıdır. Bu, çoğu modern Linux dağıtımı için bir sorun olmamalıdır. Ayrıca, birçok dağıtımın yazılım başlıklarını genellikle “ şeklinde ayrı paketlere yerleştireceğini unutmayın. -geliştir” veya “ -dev”. Dağıtımınız sağlıyorsa bunları yüklediğinizden emin olun.
Listelenen yazılım paketlerinin önceki sürümleri çalışabilir, ancak test edilmemiştir.
• bash-3.2 (/bin/sh, bash için sembolik veya sabit bir bağlantı olmalıdır)
• Binutils-2.25 (2.32'den büyük sürümler test edilmediğinden önerilmez)
• bizon-2.7 (/usr/bin/yacc, bizon'a veya bizonu çalıştıran küçük komut dosyasına bir bağlantı olmalıdır)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/usr/bin/awk, gawk'a bir bağlantı olmalıdır)
• GCC-6.2 C++ derleyicisi dahil, g ++ (9.2.0'den büyük sürümler test edilmediğinden önerilmez)
• Glibc-2.11 (2.30'den büyük sürümler test edilmediğinden önerilmez)
• Grep-2.5.1a
• Gzip-1.3.12
• Linux Çekirdeği-3.2
Çekirdek sürümü gereksiniminin nedeni, geliştiricilerin tavsiyesi üzerine Bölüm 6'da glibc oluştururken o sürümü belirtmemizdir. Ayrıca udev tarafından da gereklidir.
Ana bilgisayar çekirdeği 3.2'den eskiyse, çekirdeği daha güncel bir sürümle değiştirmeniz gerekecektir. Bu konuda gidebileceğiniz iki yol var. İlk olarak, Linux satıcınızın 3.2 veya sonraki bir çekirdek paketi sağlayıp sağlamadığına bakın. Eğer öyleyse, yüklemek isteyebilirsiniz. Satıcınız kabul edilebilir bir çekirdek paketi sunmuyorsa veya siz önermemeyi tercih ediyorsanız
kurun, bir çekirdeği kendiniz derleyebilirsiniz. Çekirdeği derlemek ve önyükleyiciyi yapılandırmak için talimatlar (ana bilgisayarın GRUB kullandığı varsayılarak) Bölüm 8'de bulunmaktadır.
• M4-1.4.10
• Yap-4.0
• Yama-2.5.4
• Perl-5.8.8
• Python-3.4
• Sed-4.1.5
• katran-1.22
• Texinfo-4.7
• Xz-5.0.0
Hatırlatma
Bu kitapta yer alan talimatları kullanarak bir LFS sistemi oluşturmak için yukarıda bahsedilen sembolik bağlantıların gerekli olduğunu unutmayın. Diğer yazılımlara (çizgi, mawk vb.) işaret eden sembolik bağlantılar çalışabilir, ancak LFS geliştirme ekibi tarafından test edilmez veya desteklenmez ve talimatlardan sapma veya bazı paketlere ek yamalar gerektirebilir.
Hatırlatma
Bu kitapta yer alan talimatları kullanarak bir LFS sistemi oluşturmak için yukarıda bahsedilen sembolik bağlantıların gerekli olduğunu unutmayın. Diğer yazılımlara (çizgi, mawk vb.) işaret eden sembolik bağlantılar çalışabilir, ancak LFS geliştirme ekibi tarafından test edilmez veya desteklenmez ve talimatlardan sapma veya bazı paketlere ek yamalar gerektirebilir.
yankı elif [
yankı başka
kaçırmak
fi
yankı elif [
yankı başka
kaçırmak
fi
-n "Çekirdekler: "; chown --versiyon | kafa -n1 | kesmek
-n "Çekirdekler: "; chown --versiyon | kafa -n1 | kesmek
--versiyon
--versiyon
--versiyon
--versiyon
--versiyon
--versiyon
|
|
|
|
|
|
baş
kafa kafa
baş
kafa kafa
-n1
-n1
-n1
-n1
-n1
-n1
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk ]; sonra
awk `/usr/bin/awk --version | kafa -n1`
"/usr/bin/awk -> `readlink -f /usr/bin/awk`";
-x /usr/bin/awk ]; sonra
awk `/usr/bin/awk --version | kafa -n1`
"awk bulunamadı"
"awk bulunamadı"
Ana bilgisayar sisteminizin tüm uygun sürümlere sahip olup olmadığını ve programları derleme becerisine sahip olup olmadığını görmek için aşağıdakileri çalıştırın:
cat > version-check.sh << "EOF"
#! / Bin / bash
# Kritik geliştirme araçlarının sürüm numaralarını listelemek için basit komut dosyası dışa aktarma LC_ALL=C
bash --versiyon | kafa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
yankı $MYSH | grep -q bash || echo "ERROR: /bin/sh bash'ı göstermiyor" unset MYSH
echo -n "Binutils: "; ld --versiyon | kafa -n1 | kesim -d" " -f3- bizon --version | kafa -n1
eğer [ -h /usr/bin/yacc ]; sonra
cat > version-check.sh << "EOF"
#! / Bin / bash
# Kritik geliştirme araçlarının sürüm numaralarını listelemek için basit komut dosyası dışa aktarma LC_ALL=C
bash --versiyon | kafa -n1 | cut -d" " -f2-4 MYSH=$(readlink -f /bin/sh)
echo "/bin/sh -> $MYSH"
yankı $MYSH | grep -q bash || echo "ERROR: /bin/sh bash'ı göstermiyor" unset MYSH
echo -n "Binutils: "; ld --versiyon | kafa -n1 | kesim -d" " -f3- bizon --version | kafa -n1
eğer [ -h /usr/bin/yacc ]; sonra
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; sonra
yacc `/usr/bin/yacc'dir --version | kafa -n1`
"/usr/bin/yacc -> `readlink -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; sonra
yacc `/usr/bin/yacc'dir --version | kafa -n1`
"yacc bulunamadı"
bzip2 --version 2>&1 < /dev/null | kafa -n1 | kesim -d" " yankı
fark
gawk bul
-f1,6-
-d")" -f2
"yacc bulunamadı"
bzip2 --version 2>&1 < /dev/null | kafa -n1 | kesim -d" " yankı
fark
gawk bul
eğer [ -h /usr/bin/awk ]; sonra
eğer [ -h /usr/bin/awk ]; sonra
yankı elif [
yankı başka
kaçırmak
fi
yankı elif [
yankı başka
kaçırmak
fi
gcc --versiyon | head -n1 g++ --version | kafa -n1
ldd --versiyon | kafa -n1 | cut -d" " -f2- # glibc version grep --version | kafa -n1
gzip --versiyon | head -n1 cat /proc/versiyon
m4 --sürüm | head -n1 make --version | head -n1 yaması --version | head -n1 echo Perl 'perl -V:versiyon' python3 --version
sed --versiyon | head -n1 tar --version | kafa -n1
makeinfo --versiyon | head -n1 # texinfo sürüm xz --version | kafa -n1
gcc --versiyon | head -n1 g++ --version | kafa -n1
ldd --versiyon | kafa -n1 | cut -d" " -f2- # glibc version grep --version | kafa -n1
gzip --versiyon | head -n1 cat /proc/versiyon
m4 --sürüm | head -n1 make --version | head -n1 yaması --version | head -n1 echo Perl 'perl -V:versiyon' python3 --version
sed --versiyon | head -n1 tar --version | kafa -n1
makeinfo --versiyon | head -n1 # texinfo sürüm xz --version | kafa -n1
echo 'int main(){}' > kukla.c && g++ -o kukla kukla.c if [ -x kukla ]
sonra yankı "g++ derlemesi tamam";
else echo "g++ derlemesi başarısız"; fi rm -f kukla.c kukla
EOF
bash versiyonu-check.sh
echo 'int main(){}' > kukla.c && g++ -o kukla kukla.c if [ -x kukla ]
sonra yankı "g++ derlemesi tamam";
else echo "g++ derlemesi başarısız"; fi rm -f kukla.c kukla
EOF
bash versiyonu-check.sh