<Trước | Nội dung | Tiếp theo>
2.2. Yêu cầu hệ thống máy chủ
Hệ thống máy chủ của bạn phải có phần mềm sau với các phiên bản tối thiểu được chỉ định. Đây không phải là vấn đề đối với hầu hết các bản phân phối Linux hiện đại. Cũng lưu ý rằng nhiều bản phân phối sẽ đặt tiêu đề phần mềm thành các gói riêng biệt, thường ở dạng “ -devel ”hoặc“ -dev ”. Hãy chắc chắn cài đặt chúng nếu bản phân phối của bạn cung cấp chúng.
Các phiên bản trước của gói phần mềm được liệt kê có thể hoạt động, nhưng chưa được kiểm tra.
• bash-3.2 (/ bin / sh phải là một liên kết tượng trưng hoặc liên kết cứng để bash)
• Binutils-2.25 (Các phiên bản lớn hơn 2.32 không được khuyến khích vì chúng chưa được kiểm tra)
• Bison-2.7 (/ usr / bin / yacc phải là một liên kết đến bison hoặc tập lệnh nhỏ thực thi bison)
• Bzip2-1.0.4
• Coreutils-6.9
• Diffutils-2.8.1
• Findutils-4.2.31
• Gawk-4.0.1 (/ usr / bin / awk phải là một liên kết đến gawk)
• GCC-6.2 bao gồm trình biên dịch C ++, g ++ (Các phiên bản lớn hơn 9.2.0 không được khuyến khích vì chúng chưa được kiểm tra)
• Glibc-2.11 (Các phiên bản lớn hơn 2.30 không được khuyến khích vì chúng chưa được kiểm tra)
• Grep-2.5.1a
• Gzip-1.3.12
• Nhân Linux-3.2
Lý do cho yêu cầu phiên bản hạt nhân là chúng tôi chỉ định phiên bản đó khi xây dựng glibc trong Chương 6 theo khuyến nghị của các nhà phát triển. Nó cũng được yêu cầu bởi udev.
Nếu hạt nhân máy chủ cũ hơn 3.2, bạn sẽ cần phải thay thế hạt nhân đó bằng một phiên bản cập nhật hơn. Có hai cách bạn có thể thực hiện để giải quyết vấn đề này. Trước tiên, hãy xem liệu nhà cung cấp Linux của bạn có cung cấp gói hạt nhân 3.2 trở lên hay không. Nếu vậy, bạn có thể muốn cài đặt nó. Nếu nhà cung cấp của bạn không cung cấp gói hạt nhân có thể chấp nhận được hoặc bạn không muốn
cài đặt nó, bạn có thể tự biên dịch hạt nhân. Hướng dẫn biên dịch hạt nhân và cấu hình bộ tải khởi động (giả sử máy chủ sử dụng GRUB) nằm trong Chương 8.
• M4-1.4.10
• Tạo-4.0
• Bản vá-2.5.4
• Perl-5.8.8
• Python-3.4
• Sed-4.1.5
• Tar-1.22
• Texinfo-4.7
• Xz-5.0.0
Quan trọng
Lưu ý rằng các liên kết tượng trưng được đề cập ở trên là bắt buộc để xây dựng hệ thống LFS bằng cách sử dụng các hướng dẫn có trong cuốn sách này. Các liên kết tượng trưng trỏ đến phần mềm khác (chẳng hạn như dash, mawk, v.v.) có thể hoạt động, nhưng không được nhóm phát triển LFS kiểm tra hoặc hỗ trợ và có thể yêu cầu sai lệch so với hướng dẫn hoặc các bản vá bổ sung cho một số gói.
Quan trọng
Lưu ý rằng các liên kết tượng trưng được đề cập ở trên là bắt buộc để xây dựng hệ thống LFS bằng cách sử dụng các hướng dẫn có trong cuốn sách này. Các liên kết tượng trưng trỏ đến phần mềm khác (chẳng hạn như dash, mawk, v.v.) có thể hoạt động, nhưng không được nhóm phát triển LFS kiểm tra hoặc hỗ trợ và có thể yêu cầu sai lệch so với hướng dẫn hoặc các bản vá bổ sung cho một số gói.
tiếng vang elif [
vọng lại
bỏ lỡ
fi
tiếng vang elif [
vọng lại
bỏ lỡ
fi
-n "Coreutils:"; chown --version | đầu -n1 | cắt
-n "Coreutils:"; chown --version | đầu -n1 | cắt
--phiên bản
--phiên bản
--phiên bản
--phiên bản
--phiên bản
--phiên bản
|
|
|
|
|
|
cái đầu
cái đầu
cái đầu
cái đầu
-n1
-n1
-n1
-n1
-n1
-n1
"/ usr / bin / awk ->` readlink -f / usr / bin / awk` ";
-x / usr / bin / awk]; sau đó
awk là `/ usr / bin / awk --version | đầu -n1 '
"/ usr / bin / awk ->` readlink -f / usr / bin / awk` ";
-x / usr / bin / awk]; sau đó
awk là `/ usr / bin / awk --version | đầu -n1 '
"không tìm thấy awk"
"không tìm thấy awk"
Để xem liệu hệ thống máy chủ của bạn có tất cả các phiên bản thích hợp và khả năng biên dịch chương trình hay không, hãy chạy như sau:
cat> version-check.sh << "EOF"
#! / bin / bash
# Tập lệnh đơn giản để liệt kê số phiên bản của các công cụ phát triển quan trọng xuất LC_ALL = C
bash --version | đầu -n1 | cut -d "" -f2-4 MYSH = $ (liên kết đọc -f / bin / sh)
echo "/ bin / sh -> $ MYSH"
echo $ MYSH | grep -q bash || echo "ERROR: / bin / sh không trỏ tới bash" bỏ đặt MYSH
echo -n "Binutils:"; ld --version | đầu -n1 | cut -d "" -f3- bison --version | đầu -n1
if [-h / usr / bin / yacc]; sau đó
cat> version-check.sh << "EOF"
#! / bin / bash
# Tập lệnh đơn giản để liệt kê số phiên bản của các công cụ phát triển quan trọng xuất LC_ALL = C
bash --version | đầu -n1 | cut -d "" -f2-4 MYSH = $ (liên kết đọc -f / bin / sh)
echo "/ bin / sh -> $ MYSH"
echo $ MYSH | grep -q bash || echo "ERROR: / bin / sh không trỏ tới bash" bỏ đặt MYSH
echo -n "Binutils:"; ld --version | đầu -n1 | cut -d "" -f3- bison --version | đầu -n1
if [-h / usr / bin / yacc]; sau đó
"/ usr / bin / yacc ->` readlink -f / usr / bin / yacc` ";
-x / usr / bin / yacc]; sau đó
yacc là `/ usr / bin / yacc --version | đầu -n1 '
"/ usr / bin / yacc ->` readlink -f / usr / bin / yacc` ";
-x / usr / bin / yacc]; sau đó
yacc là `/ usr / bin / yacc --version | đầu -n1 '
"không tìm thấy yacc"
bzip2 --version 2> & 1 </ dev / null | đầu -n1 | tiếng vọng cut -d ""
khác
tìm kiếm
-f1,6-
-d ")" -f2
"không tìm thấy yacc"
bzip2 --version 2> & 1 </ dev / null | đầu -n1 | tiếng vọng cut -d ""
khác
tìm kiếm
if [-h / usr / bin / awk]; sau đó
if [-h / usr / bin / awk]; sau đó
tiếng vang elif [
vọng lại
bỏ lỡ
fi
tiếng vang elif [
vọng lại
bỏ lỡ
fi
gcc --version | head -n1 g ++ --version | đầu -n1
ldd - phiên bản | đầu -n1 | cut -d "" -f2- # glibc phiên bản grep --version | đầu -n1
gzip --version | head -n1 cat / proc / version
m4 - phiên bản | head -n1 make --version | head -n1 bản vá --version | head -n1 echo Perl `perl -V: version` python3 --version
sed --version | head -n1 tar --version | đầu -n1
makeinfo --version | head -n1 # texinfo phiên bản xz --version | đầu -n1
gcc --version | head -n1 g ++ --version | đầu -n1
ldd - phiên bản | đầu -n1 | cut -d "" -f2- # glibc phiên bản grep --version | đầu -n1
gzip --version | head -n1 cat / proc / version
m4 - phiên bản | head -n1 make --version | head -n1 bản vá --version | head -n1 echo Perl `perl -V: version` python3 --version
sed --version | head -n1 tar --version | đầu -n1
makeinfo --version | head -n1 # texinfo phiên bản xz --version | đầu -n1
echo 'int main () {}'> dummy.c && g ++ -o dummy dummy.c if [-x dummy]
then echo "g ++ biên dịch OK";
else echo "biên dịch g ++ không thành công"; fi rm -f dummy.c dummy
EOF
bash phiên bản-check.sh
echo 'int main () {}'> dummy.c && g ++ -o dummy dummy.c if [-x dummy]
then echo "g ++ biên dịch OK";
else echo "biên dịch g ++ không thành công"; fi rm -f dummy.c dummy
EOF
bash phiên bản-check.sh
<Trước | Nội dung | Tiếp theo>