การกระจาย Linux ที่เล็กที่สุดตามขนาดการติดตั้งคืออะไร? [ปิด]


13

ฉันพยายามทดลองกับ Linux และมองหาการกระจายที่เล็กที่สุดตามขนาดการติดตั้ง (RAM, CPU ไม่สำคัญ)


คุณต้องการพิจารณาดิสทริบิวชันที่สามารถบู๊ตได้หรือไม่เป็นไรถ้าคุณต้องคอมไพล์เคอร์เนลด้วยตนเองและเลือกเนื้อหาของระบบไฟล์?
Mark Plotnick

4
คุณต้องการการกระจายปัจจุบันเท่านั้น คนจาก 20 ปีที่แล้วน่าจะเป็นชื่อที่ "เล็กที่สุด" หรือไม่?
Mark Plotnick

1
@ MarkPlotnick: ทุกอย่างดีตราบใดที่มันทำงานบนฮาร์ดไดรฟ์ / แล็ปท็อปของฉัน ถ้าฉันต้องทำทุกอย่างด้วยตนเองการกวดวิชาเป็นข้อกำหนด;) ถ้าคุณสามารถให้ลิงก์แก่ดิ distro อายุ 20 ปีซึ่งเล็กกว่า 8Mb (ttylinux) ฉันมีความสุข
Qohelet

คุณมีเกณฑ์ในการเลือกการกระจายอย่างไร เดเบียนอาจมีขนาดค่อนข้างเล็ก แต่ขึ้นอยู่กับจำนวน "สิ่งของ" ที่คุณใส่ในการติดตั้ง คุณต้องการ GUI หรือไม่ คุณต้องการแอพพลิเคชั่นสำนักงาน / ผลิตภาพหรือไม่? สิ่งที่เกี่ยวกับเว็บเซิร์ฟเวอร์หรือฐานข้อมูล
roaima

@roaima: ดังกล่าว: ขนาดการติดตั้งควรมีขนาดเล็ก เล็กมากจริง ๆ GUI จะดีจริง ๆ แต่ถ้าจำเป็นฉันต้องพูดถึงมัน (ส่วนที่เหลือ)
Qohelet

คำตอบ:


25

อัปเดต: ttylinux ไม่ได้ฟอกขณะนี้! หากคุณยังคงสนใจเริ่มต้นที่นี่หรือที่นี่

ขึ้นอยู่กับแพลตฟอร์มของคุณ ttylinux อาจเป็นสิ่งที่คุณต้องการ:

ระบบ ttylinux ที่เล็กที่สุดนี้มีระบบไฟล์ 8 MB และทำงานบนคอมพิวเตอร์ i486 ภายใน RAM ขนาด 28 MB แต่มีสภาพแวดล้อมบรรทัดคำสั่งที่สมบูรณ์และพร้อมสำหรับการเข้าถึงอินเทอร์เน็ต

เริ่มต้นในปี 2001และรุ่นล่าสุดคือจาก2015-03-05ดังนั้นจึงยังคงอยู่


ฉันคิดว่าเรามีผู้ชนะ ขอบคุณฉันไม่คิดว่าเป็นไปได้ที่จะไปต่ำกว่านั้นมาก ฉันประหลาดใจขอบคุณสำหรับคำตอบ
Qohelet

1
ลิงก์ที่ระบุไม่ถูกต้องอีกต่อไป distro นี้ยังใช้ได้ทุกที่หรือไม่? นี้ดูเหมือนว่าเป็นไปได้ แต่ผมยังไม่ได้ทดสอบ (ยัง)
LondonRob

5

distro ขนาดเล็กที่นึกถึงคือ "Damn Small Linux" ขนาด 50 MB ( link , wiki )

แต่ก็ยังมี distro ที่เล็กกว่า "Tiny Core Linux" ซึ่งมีขนาดประมาณ 15 MB ( link , wiki )


1
DSL ดูไม่ต่อเนื่อง
Dubu


4

Buildroot

หากคุณมีความยินดีที่จะไปผ่านขั้นตอนการรวบรวมและการลดลงในคุณสมบัติที่คุณสามารถลอง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

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


3

Tomsrtbtเป็นสองเมกะไบต์ มันพอดีกับฟลอปปี้


นั่นคือการกระจายที่ยอดเยี่ยมเมื่อ 13 ปีที่แล้ว อย่างน้อยที่สุดนั่นก็เป็น iBiblio ที่สดที่สุด หรือคุณรู้เกี่ยวกับรุ่นที่ใหม่กว่า?
ผลิต

ฉันไม่รู้อะไรเลยเมื่อเร็ว ๆ นี้
Mark Plotnick

ลองดูสิ ... มันยากที่จะหาเวอร์ชั่น ส่วนใหญ่อยู่ในหอจดหมายเหตุศพ หนึ่งกำลังทำงาน ( ibiblio.org/pub/Linux/system/recovery ) แต่การทดสอบที่ฉันใช้ไม่ประสบความสำเร็จ น่าเสียดาย 2,9Mb ช่างยอดเยี่ยม
Qohelet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.