<Sebelum | Contents [show] | Seterusnya>
2.2. Keperluan Sistem Hos
Sistem hos anda harus mempunyai perisian berikut dengan versi minimum yang ditunjukkan. Ini tidak sepatutnya menjadi isu untuk kebanyakan pengedaran Linux moden. Juga ambil perhatian bahawa banyak pengedaran akan meletakkan pengepala perisian ke dalam pakej berasingan, selalunya dalam bentuk “ -devel" atau " -dev”. Pastikan anda memasangnya jika pengedaran anda menyediakannya.
Versi terdahulu pakej perisian yang disenaraikan mungkin berfungsi, tetapi belum diuji.
• bash-3.2 (/bin/sh harus menjadi pautan simbolik atau keras ke bash)
• Binutils-2.25 (Versi yang lebih besar daripada 2.32 tidak disyorkan kerana ia belum diuji)
• Bison-2.7 (/usr/bin/yacc hendaklah menjadi pautan kepada bison atau skrip kecil yang melaksanakan bison)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/usr/bin/awk sepatutnya menjadi pautan ke gawk)
• GCC-6.2 termasuk pengkompil C++, g ++ (Versi yang lebih besar daripada 9.2.0 tidak disyorkan kerana ia belum diuji)
• Glibc-2.11 (Versi yang lebih besar daripada 2.30 tidak disyorkan kerana ia belum diuji)
• Grep-2.5.1a
• Gzip-1.3.12
• Linux Kernel-3.2
Sebab untuk keperluan versi kernel ialah kami menentukan versi itu semasa membina glibc dalam Bab 6 atas cadangan pembangun. Ia juga diperlukan oleh udev.
Jika kernel hos lebih awal daripada 3.2, anda perlu menggantikan kernel dengan versi yang lebih terkini. Terdapat dua cara yang boleh anda lakukan untuk perkara ini. Mula-mula, lihat sama ada vendor Linux anda menyediakan pakej kernel 3.2 atau lebih baru. Jika ya, anda mungkin ingin memasangnya. Jika vendor anda tidak menawarkan pakej kernel yang boleh diterima, atau anda lebih suka tidak
memasangnya, anda boleh menyusun kernel sendiri. Arahan untuk menyusun kernel dan mengkonfigurasi pemuat but (dengan mengandaikan hos menggunakan GRUB) terdapat dalam Bab 8.
• M4-1.4.10
• Buat-4.0
• Tampalan-2.5.4
• Perl-5.8.8
• Python-3.4
• Sed-4.1.5
• Tar-1.22
• Texinfo-4.7
• Xz-5.0.0
penting
Ambil perhatian bahawa symlinks yang dinyatakan di atas diperlukan untuk membina sistem LFS menggunakan arahan yang terkandung dalam buku ini. Symlinks yang menghala ke perisian lain (seperti dash, mawk, dsb.) mungkin berfungsi, tetapi tidak diuji atau disokong oleh pasukan pembangunan LFS, dan mungkin memerlukan sama ada sisihan daripada arahan atau tampung tambahan pada beberapa pakej.
penting
Ambil perhatian bahawa symlinks yang dinyatakan di atas diperlukan untuk membina sistem LFS menggunakan arahan yang terkandung dalam buku ini. Symlinks yang menghala ke perisian lain (seperti dash, mawk, dsb.) mungkin berfungsi, tetapi tidak diuji atau disokong oleh pasukan pembangunan LFS, dan mungkin memerlukan sama ada sisihan daripada arahan atau tampung tambahan pada beberapa pakej.
echo elif [
bergema lain
echo
fi
echo elif [
bergema lain
echo
fi
-n "Coreutils: "; chown --version | kepala -n1 | potong
-n "Coreutils: "; chown --version | kepala -n1 | potong
--versi
--versi
--versi
--versi
--versi
--versi
|
|
|
|
|
|
kepala
kepala kepala
kepala
kepala kepala
-n1
-n1
-n1
-n1
-n1
-n1
"/usr/bin/awk -> `pautan baca -f /usr/bin/awk`";
-x /usr/bin/awk ]; kemudian
awk ialah `/usr/bin/awk --version | kepala -n1`
"/usr/bin/awk -> `pautan baca -f /usr/bin/awk`";
-x /usr/bin/awk ]; kemudian
awk ialah `/usr/bin/awk --version | kepala -n1`
"awk tidak dijumpai"
"awk tidak dijumpai"
Untuk melihat sama ada sistem hos anda mempunyai semua versi yang sesuai dan keupayaan untuk menyusun atur cara, jalankan yang berikut:
kucing > version-check.sh << "EOF"
#! / Bin / Bash
# Skrip mudah untuk menyenaraikan nombor versi alat pembangunan kritikal eksport LC_ALL=C
bash --version | kepala -n1 | potong -d" " -f2-4 MYSH=$(pautan baca -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh tidak menunjuk ke bash" nyahset MYSH
echo -n "Binutils: "; ld --version | kepala -n1 | potong -d" " -f3- bison --version | kepala -n1
jika [ -h /usr/bin/yacc ]; kemudian
kucing > version-check.sh << "EOF"
#! / Bin / Bash
# Skrip mudah untuk menyenaraikan nombor versi alat pembangunan kritikal eksport LC_ALL=C
bash --version | kepala -n1 | potong -d" " -f2-4 MYSH=$(pautan baca -f /bin/sh)
echo "/bin/sh -> $MYSH"
echo $MYSH | grep -q bash || echo "ERROR: /bin/sh tidak menunjuk ke bash" nyahset MYSH
echo -n "Binutils: "; ld --version | kepala -n1 | potong -d" " -f3- bison --version | kepala -n1
jika [ -h /usr/bin/yacc ]; kemudian
"/usr/bin/yacc -> `pautan baca -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; kemudian
yacc ialah `/usr/bin/yacc --version | kepala -n1`
"/usr/bin/yacc -> `pautan baca -f /usr/bin/yacc`";
-x /usr/bin/yacc ]; kemudian
yacc ialah `/usr/bin/yacc --version | kepala -n1`
"yacc tidak ditemui"
bzip2 --versi 2>&1 < /dev/null | kepala -n1 | potong -d" " gema
diff
cari gawk
-f1,6-
-d")" -f2
"yacc tidak ditemui"
bzip2 --versi 2>&1 < /dev/null | kepala -n1 | potong -d" " gema
diff
cari gawk
jika [ -h /usr/bin/awk ]; kemudian
jika [ -h /usr/bin/awk ]; kemudian
echo elif [
bergema lain
echo
fi
echo elif [
bergema lain
echo
fi
gcc --version | kepala -n1 g++ --versi | kepala -n1
ldd --versi | kepala -n1 | cut -d" " -f2- # glibc version grep --version | kepala -n1
gzip --version | kepala -n1 kucing /proc/version
m4 --versi | kepala -n1 buat --versi | head -n1 patch --version | head -n1 echo Perl `perl -V:version` python3 --version
sed --versi | kepala -n1 tar --versi | kepala -n1
makeinfo --version | head -n1 # texinfo versi xz --version | kepala -n1
gcc --version | kepala -n1 g++ --versi | kepala -n1
ldd --versi | kepala -n1 | cut -d" " -f2- # glibc version grep --version | kepala -n1
gzip --version | kepala -n1 kucing /proc/version
m4 --versi | kepala -n1 buat --versi | head -n1 patch --version | head -n1 echo Perl `perl -V:version` python3 --version
sed --versi | kepala -n1 tar --versi | kepala -n1
makeinfo --version | head -n1 # texinfo versi xz --version | kepala -n1
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c jika [ -x dummy ]
kemudian echo "g++ compilation OK";
else echo "g++ compilation failed"; fi rm -f dummy.c dummy
EOF
bash version-check.sh
echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c jika [ -x dummy ]
kemudian echo "g++ compilation OK";
else echo "g++ compilation failed"; fi rm -f dummy.c dummy
EOF
bash version-check.sh