<ก่อนหน้านี้ | เนื้อหา | ถัดไป>
เหตุผลสำหรับแพ็คเกจในหนังสือ
ตามที่ระบุไว้ก่อนหน้านี้ เป้าหมายของ LFS คือการสร้างระบบระดับพื้นฐานที่สมบูรณ์และใช้งานได้ ซึ่งรวมถึงแพ็คเกจทั้งหมดที่จำเป็นในการทำซ้ำในขณะที่ให้ฐานที่ค่อนข้างน้อยที่สุดเพื่อปรับแต่งระบบที่สมบูรณ์ยิ่งขึ้นตามตัวเลือกของผู้ใช้ นี่ไม่ได้หมายความว่า LFS เป็นระบบที่เล็กที่สุดเท่าที่จะเป็นไปได้ รวมแพ็คเกจที่สำคัญหลายอย่างที่ไม่จำเป็นอย่างเคร่งครัด รายการด้านล่างระบุเหตุผลสำหรับแต่ละแพ็คเกจในหนังสือ
• บัญชีรายชื่อ
แพ็คเกจนี้ประกอบด้วยยูทิลิตี้เพื่อจัดการ Access Control Lists ซึ่งใช้เพื่อกำหนดสิทธิ์การเข้าถึงแบบละเอียดมากขึ้นสำหรับไฟล์และไดเร็กทอรี
• Attribution-NonCommercial-ShareAlike
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับจัดการแอ็ตทริบิวต์แบบขยายบนอ็อบเจ็กต์ระบบไฟล์
• คอนเฟอเรนซ์อัตโนมัติ
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับสร้างเชลล์สคริปต์ที่สามารถกำหนดค่าซอร์สโค้ดโดยอัตโนมัติจากเทมเพลตของผู้พัฒนา บ่อยครั้งจำเป็นต้องสร้างแพ็คเกจใหม่หลังจากอัพเดตโพรซีเดอร์บิลด์
• ออโต้เมค
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับสร้างไฟล์ Make จากเทมเพลต บ่อยครั้งจำเป็นต้องสร้างแพ็คเกจใหม่หลังจากอัพเดตโพรซีเดอร์บิลด์
• ทุบตี
แพ็คเกจนี้เป็นไปตามข้อกำหนดหลักของ LSB เพื่อจัดเตรียมอินเทอร์เฟซ Bourne Shell ให้กับระบบ มันถูกเลือกมากกว่าแพ็คเกจเชลล์อื่น ๆ เนื่องจากการใช้งานทั่วไปและความสามารถที่กว้างขวางนอกเหนือจากฟังก์ชันเชลล์พื้นฐาน
• BC
แพ็คเกจนี้ให้ภาษาการประมวลผลตัวเลขที่แม่นยำตามอำเภอใจ เป็นไปตามข้อกำหนดที่จำเป็นเมื่อสร้างเคอร์เนล Linux
• ไบนูทิลส์
แพ็คเกจนี้ประกอบด้วยตัวเชื่อมโยง แอสเซมเบลอร์ และเครื่องมืออื่นๆ สำหรับจัดการไฟล์อ็อบเจ็กต์ โปรแกรมในแพ็คเกจนี้จำเป็นสำหรับการรวบรวมแพ็คเกจส่วนใหญ่ในระบบ LFS และอื่นๆ
• กระทิง
แพ็คเกจนี้ประกอบด้วย yacc เวอร์ชัน GNU (Yet Another Compiler Compiler) ที่จำเป็นในการสร้างโปรแกรม LFS อื่นๆ อีกหลายโปรแกรม
• Bzip2
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับบีบอัดและขยายไฟล์ จำเป็นต้องขยายแพ็คเกจ LFS จำนวนมาก
•ตรวจสอบ
แพ็คเกจนี้ประกอบด้วยสายรัดทดสอบสำหรับโปรแกรมอื่นๆ มันถูกติดตั้งใน toolchain ชั่วคราวเท่านั้น
• Coreutils
แพ็คเกจนี้ประกอบด้วยโปรแกรมที่จำเป็นสำหรับการดูและจัดการไฟล์และไดเร็กทอรีจำนวนมาก โปรแกรมเหล่านี้จำเป็นสำหรับการจัดการไฟล์บรรทัดคำสั่ง และจำเป็นสำหรับขั้นตอนการติดตั้งของทุกแพ็คเกจใน LFS
• เดจากนู
แพ็คเกจนี้มีเฟรมเวิร์กสำหรับการทดสอบโปรแกรมอื่นๆ มันถูกติดตั้งใน toolchain ชั่วคราวเท่านั้น
• ดิฟฟูทิลส์
แพ็คเกจนี้ประกอบด้วยโปรแกรมที่แสดงความแตกต่างระหว่างไฟล์หรือไดเร็กทอรี โปรแกรมเหล่านี้สามารถใช้เพื่อสร้างแพตช์ และยังใช้ในโพรซีเดอร์บิลด์ของแพ็คเกจจำนวนมากอีกด้วย
• E2fsprogs
แพ็คเกจนี้ประกอบด้วยยูทิลิตี้สำหรับจัดการระบบไฟล์ ext2, ext3 และ ext4 ระบบไฟล์เหล่านี้คือระบบไฟล์ที่ใช้กันทั่วไปและได้รับการทดสอบอย่างถี่ถ้วนซึ่ง Linux รองรับ
• ยูเดฟ
แพ็คเกจนี้เป็นตัวจัดการอุปกรณ์ โดยจะควบคุมรายการในไดเร็กทอรี /dev แบบไดนามิกเมื่อมีการเพิ่มหรือลบอุปกรณ์ออกจากระบบ
• ชาวต่างชาติ
แพ็คเกจนี้มีไลบรารีการแยกวิเคราะห์ XML ที่ค่อนข้างเล็ก มันเป็นสิ่งจำเป็นโดยโมดูล XML::Parser Perl
• คาดหวัง
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับดำเนินการบทสนทนาตามสคริปต์กับโปรแกรมแบบโต้ตอบอื่นๆ มักใช้สำหรับทดสอบแพ็คเกจอื่นๆ มันถูกติดตั้งใน toolchain ชั่วคราวเท่านั้น
•ไฟล์
แพ็คเกจนี้มียูทิลิตี้สำหรับกำหนดประเภทของไฟล์หรือไฟล์ที่กำหนด แพ็คเกจสองสามตัวต้องการมันเพื่อสร้าง
• Findutils
แพ็คเกจนี้ประกอบด้วยโปรแกรมค้นหาไฟล์ในระบบไฟล์ มันถูกใช้ในสคริปต์บิลด์ของแพ็คเกจจำนวนมาก
• เฟล็กซ์
แพ็คเกจนี้ประกอบด้วยยูทิลิตี้สำหรับสร้างโปรแกรมที่รู้จักรูปแบบในข้อความ เป็นเวอร์ชัน GNU ของโปรแกรม lex (lexical analyzer) จำเป็นต้องสร้างแพ็คเกจ LFS หลายแพ็คเกจ
• จ้องเขม็ง
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับจัดการไฟล์ข้อความ เป็นเวอร์ชัน GNU ของ awk (Aho-Weinberg- Kernighan) มันถูกใช้ในสคริปต์บิลด์ของแพ็คเกจอื่น ๆ มากมาย
• สกสค
สิบ
แพ็คเกจนี้คือ Gnu Compiler Collection ประกอบด้วยคอมไพเลอร์ C และ C++ รวมถึงคอมไพเลอร์อื่นๆ อีกหลายตัวที่ไม่ได้สร้างโดย LFS
• จีดีบีเอ็ม
แพ็คเกจนี้ประกอบด้วยไลบรารีตัวจัดการฐานข้อมูล GNU มันถูกใช้โดยแพ็คเกจ LFS อื่น Man-DB
• รับข้อความ
แพ็คเกจนี้ประกอบด้วยยูทิลิตี้และไลบรารีสำหรับการทำให้เป็นสากลและการแปลเป็นภาษาท้องถิ่นของแพ็คเกจจำนวนมาก
• กลิบซี
แพ็คเกจนี้มีไลบรารี C หลัก โปรแกรม Linux จะไม่ทำงานหากไม่มีมัน
• จีเอ็มพี
แพ็คเกจนี้ประกอบด้วยไลบรารีคณิตศาสตร์ที่มีฟังก์ชันที่เป็นประโยชน์สำหรับการคำนวณทางคณิตศาสตร์ที่แม่นยำโดยพลการ จำเป็นต้องสร้าง Gcc
• จีเพอร์ฟ
แพ็คเกจนี้ประกอบด้วยโปรแกรมที่สร้างฟังก์ชันแฮชที่สมบูรณ์แบบจากชุดคีย์ จำเป็นสำหรับ Eudev
• เกรป
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับค้นหาผ่านไฟล์ โปรแกรมเหล่านี้ถูกใช้โดยสคริปต์บิลด์ของแพ็คเกจส่วนใหญ่
• กรอฟฟ์
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับประมวลผลและจัดรูปแบบข้อความ หน้าที่ที่สำคัญอย่างหนึ่งของโปรแกรมเหล่านี้คือการจัดรูปแบบหน้าคน
• ด้วง
แพ็คเกจนี้คือ Grand Unified Boot Loader มันเป็นหนึ่งในตัวโหลดการบูตที่มีอยู่มากมาย แต่มีความยืดหยุ่นมากที่สุด
• จีซิป
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับบีบอัดและขยายไฟล์ จำเป็นต้องขยายแพ็คเกจจำนวนมากใน LFS และที่อื่น ๆ
• Iana-ฯลฯ
แพ็คเกจนี้ให้ข้อมูลสำหรับบริการเครือข่ายและโปรโตคอล จำเป็นเพื่อเปิดใช้งานความสามารถด้านเครือข่ายที่เหมาะสม
• อินเทอร์เน็ต
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับการดูแลระบบเครือข่ายขั้นพื้นฐาน
• อินเตอร์ทูล
แพ็คเกจนี้มีเครื่องมือสำหรับแยกสตริงที่แปลได้จากไฟล์ต้นฉบับ
• IProute2
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับเครือข่าย IPv4 และ IPv6 ขั้นพื้นฐานและขั้นสูง ได้รับเลือกจากแพ็คเกจเครื่องมือเครือข่ายทั่วไปอื่นๆ (net-tools) สำหรับความสามารถ IPv6
• กิโลไบต์
แพ็คเกจนี้ประกอบด้วยไฟล์ตารางคีย์ ยูทิลิตี้คีย์บอร์ดสำหรับคีย์บอร์ดที่ไม่ใช่ของสหรัฐฯ และฟอนต์คอนโซลจำนวนหนึ่ง
• กมธ
แพ็คเกจนี้ประกอบด้วยโปรแกรมที่จำเป็นในการจัดการโมดูลเคอร์เนลของลินุกซ์
• น้อย
แพ็คเกจนี้มีโปรแกรมดูไฟล์ข้อความที่ดีมากที่อนุญาตให้เลื่อนขึ้นหรือลงเมื่อดูไฟล์ Man-DB ใช้เพื่อดู manpages
• ลิบแคป
แพ็คเกจนี้ใช้ส่วนต่อประสานพื้นที่ผู้ใช้กับความสามารถ POSIX 1003.1e ที่มีอยู่ในเคอร์เนล Linux
• ลิเบลฟ์
โครงการ elfutils มีไลบรารีและเครื่องมือสำหรับไฟล์ ELF และข้อมูล DWARF ยูทิลิตีส่วนใหญ่ในแพ็คเกจนี้มีอยู่ในแพ็คเกจอื่น แต่จำเป็นต้องมีไลบรารีเพื่อสร้างเคอร์เนล Linux โดยใช้การกำหนดค่าเริ่มต้น (และมีประสิทธิภาพสูงสุด)
• ลิบฟี่
แพ็คเกจนี้ใช้อินเทอร์เฟซการเขียนโปรแกรมระดับสูงแบบพกพากับการประชุมการโทรต่างๆ บางโปรแกรมอาจไม่ทราบว่าจะส่งต่ออาร์กิวเมนต์ใดไปยังฟังก์ชันในเวลาที่คอมไพล์ ตัวอย่างเช่น ล่ามอาจถูกบอกในขณะใช้งานเกี่ยวกับจำนวนและประเภทของอาร์กิวเมนต์ที่ใช้ในการเรียกใช้ฟังก์ชันที่กำหนด สามารถใช้ Libffi ในโปรแกรมดังกล่าวเพื่อจัดเตรียมสะพานจากโปรแกรมล่ามไปยังโค้ดที่คอมไพล์
• ลิบไปป์ไลน์
แพ็คเกจ Libpipeline มีไลบรารีสำหรับจัดการไปป์ไลน์ของกระบวนการย่อยด้วยวิธีที่ยืดหยุ่นและสะดวกสบาย มันเป็นสิ่งจำเป็นโดยแพ็คเกจ Man-DB
• ลิบทูล
แพ็คเกจนี้มีสคริปต์สนับสนุนไลบรารีทั่วไปของ GNU ครอบคลุมความซับซ้อนของการใช้ไลบรารีที่ใช้ร่วมกันในอินเทอร์เฟซแบบพกพาที่สอดคล้องกัน มันเป็นสิ่งจำเป็นสำหรับชุดทดสอบในแพ็คเกจ LFS อื่นๆ
• เคอร์เนลลินุกซ์
แพ็คเกจนี้เป็นระบบปฏิบัติการ มันคือ Linux ในสภาพแวดล้อม GNU/Linux
•ม. 4
แพ็คเกจนี้ประกอบด้วยตัวประมวลผลแมโครข้อความทั่วไปซึ่งมีประโยชน์ในฐานะเครื่องมือสร้างสำหรับโปรแกรมอื่นๆ
• ทำ
แพ็คเกจนี้มีโปรแกรมสำหรับกำกับการสร้างแพ็คเกจ มันเป็นสิ่งจำเป็นสำหรับเกือบทุกแพ็คเกจใน LFS
• แมน-DB
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับค้นหาและดูหน้าคน มันถูกเลือกแทนแพ็คเกจสำหรับบุรุษเนื่องจากความสามารถในการทำให้เป็นสากลที่เหนือกว่า มันจัดหาโปรแกรมผู้ชาย
• หน้าคน
แพ็คเกจนี้ประกอบด้วยเนื้อหาจริงของหน้าคู่มือ Linux พื้นฐาน
• เมซอน
แพ็คเกจนี้มีเครื่องมือซอฟต์แวร์สำหรับสร้างซอฟต์แวร์โดยอัตโนมัติ เป้าหมายหลักของ Meson คือการลดระยะเวลาที่นักพัฒนาซอฟต์แวร์ต้องใช้ในการกำหนดค่าระบบบิลด์ของตน
• กนง.
แพ็คเกจนี้มีฟังก์ชันสำหรับเลขคณิตของจำนวนเชิงซ้อน มันเป็นสิ่งจำเป็นโดย Gcc
• MPFR
แพ็คเกจนี้มีฟังก์ชันสำหรับการคำนวณทางคณิตศาสตร์ที่แม่นยำหลายรายการ มันเป็นสิ่งจำเป็นโดย Gcc
• นินจา
แพ็คเกจนี้ประกอบด้วยระบบบิลด์ขนาดเล็กที่เน้นความเร็ว ได้รับการออกแบบให้มีไฟล์อินพุตที่สร้างโดยระบบบิลด์ระดับสูง และรันบิลด์ได้เร็วที่สุด
• พยาบาล
แพ็คเกจนี้ประกอบด้วยไลบรารีสำหรับการจัดการหน้าจออักขระที่ไม่ขึ้นกับเทอร์มินัล มักใช้เพื่อจัดเตรียมการควบคุมเคอร์เซอร์สำหรับระบบการทำเมนู มันเป็นสิ่งจำเป็นโดยแพ็คเกจจำนวนมากใน LFS
• Opensl
แพ็คเกจนี้มีเครื่องมือการจัดการและไลบรารีที่เกี่ยวข้องกับการเข้ารหัส สิ่งเหล่านี้มีประโยชน์สำหรับการจัดเตรียมฟังก์ชันการเข้ารหัสให้กับแพ็คเกจอื่น ๆ รวมถึงเคอร์เนลของ Linux
• ปะ
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับแก้ไขหรือสร้างไฟล์โดยใช้ a ปะ ไฟล์ที่สร้างโดยโปรแกรม diff โดยทั่วไป จำเป็นสำหรับขั้นตอนการสร้างสำหรับแพ็คเกจ LFS หลายแพ็คเกจ
• เพิร์ล
แพ็คเกจนี้เป็นล่ามสำหรับภาษารันไทม์ PERL จำเป็นสำหรับชุดการติดตั้งและทดสอบของแพ็คเกจ LFS หลายชุด
• Pkg-config.php
แพ็คเกจนี้จัดเตรียมโปรแกรมเพื่อส่งคืนข้อมูลเมตาเกี่ยวกับไลบรารีหรือแพ็คเกจที่ติดตั้ง
• พรอคส์-เอ็นจี
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับกระบวนการตรวจสอบ โปรแกรมเหล่านี้มีประโยชน์สำหรับการดูแลระบบ และยังใช้โดย LFS Bootscripts
• ปส
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับแสดงข้อมูลเกี่ยวกับกระบวนการที่ทำงานอยู่ โปรแกรมเหล่านี้มีประโยชน์สำหรับการดูแลระบบ
• หลาม 3
แพ็คเกจนี้จัดเตรียมภาษาที่แปลแล้วซึ่งมีปรัชญาการออกแบบที่เน้นความสามารถในการอ่านโค้ด
• อ่านไลน์
แพ็คเกจนี้เป็นชุดของไลบรารีที่มีความสามารถในการแก้ไขบรรทัดคำสั่งและประวัติ มันถูกใช้โดย Bash
• เซด
แพ็คเกจนี้อนุญาตให้แก้ไขข้อความโดยไม่ต้องเปิดในโปรแกรมแก้ไขข้อความ มันยังจำเป็นสำหรับสคริปต์กำหนดค่าของแพ็คเกจ LFS ส่วนใหญ่
• เงา
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับจัดการรหัสผ่านอย่างปลอดภัย
Linux ตั้งแต่เริ่มต้น - เวอร์ชัน 9.0
• ระบบล็อก
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับบันทึกข้อความของระบบ เช่น โปรแกรมที่กำหนดโดยกระบวนการเคอร์เนลหรือ daemon เมื่อเหตุการณ์ผิดปกติเกิดขึ้น
• ซิสวินิท
แพ็คเกจนี้มีโปรแกรม init ซึ่งเป็นพาเรนต์ของกระบวนการอื่นๆ ทั้งหมดบนระบบ Linux
• ทาร์
แพ็คเกจนี้ให้ความสามารถในการเก็บถาวรและแยกข้อมูลของแพ็คเกจทั้งหมดที่ใช้ใน LFS
• ทีซีแอล
แพ็คเกจนี้ประกอบด้วย Tool Command Language ที่ใช้ในชุดทดสอบจำนวนมากในแพ็คเกจ LFS มันถูกติดตั้งใน toolchain ชั่วคราวเท่านั้น
• เท็กซัสอินโฟ
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับอ่าน เขียน และแปลงหน้าข้อมูล ใช้ในขั้นตอนการติดตั้งของแพ็คเกจ LFS จำนวนมาก
• ยูทิลิตี้ลินุกซ์
แพ็คเกจนี้ประกอบด้วยโปรแกรมอรรถประโยชน์เบ็ดเตล็ด รวมถึงยูทิลิตี้สำหรับจัดการระบบไฟล์ คอนโซล พาร์ติชั่น และข้อความ
• วิม
แพ็คเกจนี้มีตัวแก้ไข ได้รับเลือกเนื่องจากเข้ากันได้กับตัวแก้ไข vi แบบคลาสสิกและความสามารถอันทรงพลังจำนวนมาก ตัวแก้ไขเป็นตัวเลือกส่วนบุคคลสำหรับผู้ใช้จำนวนมาก และตัวแก้ไขอื่น ๆ สามารถแทนที่ได้หากต้องการ
• XML::โปรแกรมแยกวิเคราะห์
แพ็คเกจนี้เป็นโมดูล Perl ที่เชื่อมต่อกับ Expat
• ยูทิลิตี้ XZ
แพ็คเกจนี้ประกอบด้วยโปรแกรมสำหรับบีบอัดและขยายไฟล์ ให้การบีบอัดสูงสุดโดยทั่วไปและมีประโยชน์สำหรับการคลายการบีบอัดแพ็กเกจในรูปแบบ XZ หรือ LZMA
• ซลิบ
แพ็คเกจนี้ประกอบด้วยรูทีนการบีบอัดและคลายการบีบอัดที่ใช้โดยบางโปรแกรม