ฉันพยายามทดลองกับ Linux และมองหาการกระจายที่เล็กที่สุดตามขนาดการติดตั้ง (RAM, CPU ไม่สำคัญ)
ฉันพยายามทดลองกับ Linux และมองหาการกระจายที่เล็กที่สุดตามขนาดการติดตั้ง (RAM, CPU ไม่สำคัญ)
คำตอบ:
อัปเดต: ttylinux ไม่ได้ฟอกขณะนี้! หากคุณยังคงสนใจเริ่มต้นที่นี่หรือที่นี่
ขึ้นอยู่กับแพลตฟอร์มของคุณ ttylinux อาจเป็นสิ่งที่คุณต้องการ:
ระบบ ttylinux ที่เล็กที่สุดนี้มีระบบไฟล์ 8 MB และทำงานบนคอมพิวเตอร์ i486 ภายใน RAM ขนาด 28 MB แต่มีสภาพแวดล้อมบรรทัดคำสั่งที่สมบูรณ์และพร้อมสำหรับการเข้าถึงอินเทอร์เน็ต
เริ่มต้นในปี 2001และรุ่นล่าสุดคือจาก2015-03-05ดังนั้นจึงยังคงอยู่
OpenWrtเป็นหนึ่งในที่เล็กที่สุด
หากคุณมีความยินดีที่จะไปผ่านขั้นตอนการรวบรวมและการลดลงในคุณสมบัติที่คุณสามารถลองbuildroot ฉันสร้างการติดตั้ง Linux ขั้นพื้นฐาน (โดยเฉพาะอย่างยิ่งเคอร์เนล, ยูทิลิตี้ Busybox ที่น้อยที่สุดและแอปพลิเคชันพิเศษหนึ่งรายการ) ซึ่งพอดีกับอิมเมจ ISO 6MB
กุญแจสำคัญในที่นี้คือเพื่อลดการกำหนดค่าเคอร์เนลและ Busybox ("make linux-nconfig" และ "make busybox-menuconfig") ให้เหลือน้อยที่สุดที่คุณต้องการจากนั้นจึงเปิดใช้งานการบีบอัด XZ บน ramdisk เคอร์เนลเริ่มต้น การลดทุกอย่างที่ฉันไม่ต้องการทำให้ฉันลดอิมเมจ ISO ลงเหลือประมาณ 9MB และหลังจากเปิดใช้งานการบีบอัด XZ ลงเหลือ 6MB
สำหรับเคอร์เนลฉันเพิ่งตรวจสอบแต่ละตัวเลือกในเมนูการกำหนดค่าและปิดการใช้งานเว้นแต่ว่าฉันต้องการมันเป็นพิเศษ คุณสามารถปิดการใช้งานไดรเวอร์เครือข่ายทั้งหมดที่คุณไม่มีอะแดปเตอร์เครือข่ายที่เกี่ยวข้องปิดการใช้งานอื่น ๆ ฮาร์ดแวร์ทั่วไปน้อยกว่าที่คุณไม่ได้คาดการณ์ไว้โดยใช้ (การ์ดอนุกรมหลายพอร์ต, จอยสติ๊ก, อุปกรณ์มัลติฟังก์ชัน ... ) และอื่น ๆ บน. คุณสามารถปล่อยให้ระบบย่อยหลาย ๆ ระบบใช้งานขั้นพื้นฐานได้มากกว่าระบบที่มีความซับซ้อนมากกว่า (เช่น ACPI CPU ที่ไม่ได้ใช้งานพื้นฐานแทนที่จะเป็น Intel / AMD CPU ที่ไม่ได้ใช้งาน) ซึ่งอาจหมายความว่าคุณจะแลกเปลี่ยนประสิทธิภาพการใช้พลังงาน คุณสามารถปิดการใช้งานระบบย่อยทั้งหมดเช่นการสนับสนุนการไฮเบอร์เนต / สลีปและระบบเสียงหากคุณไม่ต้องการใช้
คุณสามารถประหยัดพื้นที่ได้มากโดยการทำเช่นนั้น ตัวอย่างเช่น KVM (virtualisation) และ btrfs รองรับโมดูล (ซึ่งฉันตัดสินใจที่จะใส่เคอร์เนลเป็นโมดูลที่สามารถโหลดได้ในกรณีที่ฉันต้องการในอนาคต) ใช้เวลาถึง 1.1 MB ด้วยตนเอง โดยการลบไฟล์โมดูลเหล่านั้นคุณสามารถลงไปประมาณ 4.9MB อาจเป็นได้ว่าพวกเขาใช้พื้นที่น้อยกว่าที่รวมอยู่ในเคอร์เนลไบนารี แต่แล้วฉันได้เห็นว่าโมดูลขนาดเล็กอื่น ๆ มีขนาด 20-100 กิโลไบต์ดังนั้นระยะของคุณอาจแตกต่างกันไป
Busybox เป็นไบนารีเดียวที่ทำงานเหมือนไบนารีที่แตกต่างกันขึ้นอยู่กับวิธีที่เรียกจากบรรทัดคำสั่งซึ่งช่วยให้คุณประหยัดพื้นที่ มันรวมอยู่ใน Buildroot ตามค่าเริ่มต้น มันสามารถทำงานเป็น ls, df, dd, cat, nc, bash และอื่น ๆ อีกมากมาย ดูเหมือนว่าจะเป็นการแทนที่ที่ดีสำหรับผู้ใช้ * nix เกือบทั้งหมดยกเว้นว่าคุณต้องการส่วนขยายยูทิลิตี้บางอย่างซึ่งคุณสามารถค้นหาได้ในยูทิลิตี้รุ่นเต็มรูปแบบ / ดั้งเดิม (เช่น GNU, BSD) Busybox คล้ายกับเคอร์เนลในแง่ของการปิดใช้งานคุณสมบัติ - ปิดการใช้งานทุกอย่างยกเว้นไบนารี (แอปเพล็ต AKA) ที่คุณต้องการและขนาดจะลดลง Busybox ที่คอมไพล์แบบไดนามิกนั้นใช้เวลามากถึง 512 กิโลไบต์ใน Buildroot และประมาณ 2.1MB บน Ubuntu 14.10 เวอร์ชัน Ubuntu ที่ใหญ่กว่ารองรับเวอร์ชัน Buildroot ของฉันมากกว่าและก็เป็น '
คุณสามารถลองบางสิ่งด้านล่างเพื่อลดขนาดให้ใหญ่ขึ้น แต่ทำการสำรองข้อมูลไดเรกทอรีการทำงานบ่อยๆเพราะคุณอาจติดตั้ง Buildroot ที่คุณกำลังทำงานอยู่และอาจต้องสร้างไบนารีใหม่บางส่วน
บีบอัดไฟล์เรียกใช้งานทั้งหมด (รวมถึงเคอร์เนล) ด้วยตัวบีบอัด UPX เนื่องจาก UPX ได้รับการออกแบบมาโดยเฉพาะเพื่อทำการบีบอัดไฟล์ที่เรียกใช้งานได้ทำให้สิ่งนี้ส่งผลให้ไฟล์บีบอัดเล็กลงมาก แต่โปรดตรวจสอบให้แน่ใจว่าคุณได้ทดสอบโปรแกรมปฏิบัติการทั้งหมดหลังจากนั้นและทำงานได้อย่างถูกต้อง
ใช้ libc อื่น ฉันใช้ uClibc แต่ฉันได้ยินมาว่า musl และ dietlib นั้นเล็กกว่ามาก ฉันมีปัญหาในการสร้าง musl ในครั้งนี้ แต่มันอาจทำงานได้ดีขึ้น
แทนที่บางส่วนหรือทั้งหมดสาธารณูปโภค userland กับasmutils ยูทิลิตี้เหล่านี้ใช้ยูทิลิตี้ * nix ทั่วไปบางอย่างในแอสเซมบลีบริสุทธิ์ (แทนที่จะเป็นภาษา C หรือภาษาอื่น ๆ ) ซึ่งในทางทฤษฎีอนุญาตให้มีโค้ดขนาดกะทัดรัดมากขึ้น บางตัวทำงานได้ดี แต่บางอันสามารถใช้ได้เฉพาะในวิธีการขั้นพื้นฐานเท่านั้น (เช่น "mount" ใช้พารามิเตอร์ในลำดับเฉพาะเท่านั้นและไม่มีตัวเลือกการเมานท์ FS-specific) ในทางกลับกันพวกเขามีขนาดเล็กมาก (ส่วนใหญ่จะน้อยกว่า 1KB เรียบเรียงเล็ก ๆ ประมาณ 139 ไบต์) คุณสามารถเลือกสิ่งที่คุณต้องการใช้เพื่อให้คุณสามารถใช้การแทนที่เหล่านี้สำหรับคำสั่งที่คุณต้องการประหยัดพื้นที่และเก็บเวอร์ชันที่มีคุณสมบัติหลากหลายเป็นแอปเพล็ต Busybox
Tomsrtbtเป็นสองเมกะไบต์ มันพอดีกับฟลอปปี้