การใช้งาน Linux ที่เล็กที่สุดที่เป็นไปได้คืออะไร? [ปิด]


21

อะไรคือส่วนประกอบขั้นต่ำที่เปลือยเปล่าสำหรับ Linux OS ที่ใช้งานได้และฉันสามารถใช้เป็นฐานในการขยายและปรับปรุงได้เมื่อฉันเรียนรู้ Linux และความเข้าใจและความต้องการของฉันเติบโตขึ้น

คำตอบ:


26

หากคุณหมายถึงเรียนรู้ Linux ในการทำความรู้จักซอร์สโค้ดคุณอาจต้องลองLinux ตั้งแต่เริ่มต้น



9

หากคุณกำลังมองหาการเรียนรู้ Gentoo เป็นตัวเลือกที่ดี - การติดตั้ง Gentoo ขั้นต่ำคือรูทเชลล์และตัวจัดการแพ็คเกจและคุณสร้างระบบที่เหลือจากที่นั่น Gentoo ยังอยู่ใกล้กับอัปสตรีมบนแพ็คเกจดังนั้นคุณจะไม่ประสบปัญหามากเกินไปหากคุณต้องการดาวน์โหลดและสร้างแพ็คเกจด้วยตัวเอง (และที่จริงแล้วคุณสามารถเพิ่มลงในไฟล์ /etc/portage/package.provided ได้ หลังจากที่ติดตั้งแล้วและใช้เป็นการอ้างอิง!)

หากคุณกำลังมองหาระบบลีนุกซ์ที่เล็กที่สุดเท่าที่จะเป็นไปได้ให้สร้างเคอร์เนลของคุณเองดึงไดรเวอร์และฟีเจอร์ทั้งหมดที่คุณไม่ได้วางแผนจะใช้แล้วเพิ่ม initramfs ที่ประกอบไปด้วย Busybox ที่ย่อเล็กสุด ผลที่ได้คือระบบลีนุกซ์ที่สามารถบู๊ตได้อย่างเต็มรูปแบบในการปฏิบัติการเดี่ยว (ซึ่งคุณสามารถชี้ bootloader ของคุณได้ที่), และคุณสามารถใส่ได้ไม่เกิน 10 MB โดยไม่ต้องลอง


พาราสุดท้ายของคุณ - ฉันคิดว่านั่นจะเป็นจุดเริ่มต้นที่ดี แล้วฉันจะรู้ว่ามีอะไรและทำไมมันอยู่ที่นั่นโดยใช้มันเป็นฐานในการเติบโต
slashmais

10MB? คุณอาจทำได้ต่ำกว่า 1MB
Falmarri

8

Archlinux ใช้กลุ่มฐานของไฟล์สำหรับการติดตั้งขั้นต่ำมาก

พร้อมกับฐาน develกลุ่มถ้าคุณจะต้องทำพัฒนาระบบใด ๆ


3
ในทิศทางที่ถูกต้องยังคงมีแพ็คเกจจำนวนมาก แต่ฉันสามารถใช้สิ่งที่พวกเขาให้ & ตัดแพ็คเกจจนกว่าสิ่งต่าง ๆ จะพัง
slashmais

การติดตั้ง Arch ได้กลายเป็นแบบแยกส่วนมากขึ้นกว่าปี 2010 - พูดจากหน่วยความจำ / โดยไม่ต้องปั่นการติดตั้งใหม่ยูทิลิตี้ 'pacstrap' ให้คุณเลือกกลุ่มที่จะใช้รวมถึง 'ฐาน' หรืออาจไม่มีอะไรเลย ฉันคิดว่าฐานมีเนื้อหาของระบบ) หากคุณต้องการที่จะก้าวไปอีกขั้นหนึ่ง แต่ยังคงมี distro ที่ใช้กันอย่างน้อยราง Slackware น่าจะเป็นสิ่งที่ดี
djvs

การติดตั้ง Arch นั้นมีลักษณะจำเพาะน้อยกว่ามากเนื่องจากพวกเขารองรับเฉพาะ am64 arch, systemd-only สำหรับ init, ฯลฯ อย่างไรก็ตามฉันก็อยากจะแนะนำ Slackware
Lucas Ramage

8

หากคุณต้องการเพียงเล็กน้อยขั้นต่ำของระบบ Linux คุณอาจลองใช้การกระจายสำหรับระบบฝังตัวเช่นเราเตอร์ ปกติแล้วพวกเขาจะมีซอฟต์แวร์ขั้นต่ำที่แน่นอนเท่านั้นและการขาดส่วนติดต่อผู้ใช้แบบกราฟิกทั่วไปทำให้คุณคุ้นเคยกับบรรทัดคำสั่ง ข้อเสียเปรียบอย่างหนึ่งก็คือระบบเหล่านั้นมักทำลายการประชุมลีนุกซ์ปกติเช่นพวกเขาติดตั้งซอฟต์แวร์ในที่ที่ไม่ธรรมดาหรือใช้ระบบ init ที่ง่าย

หากคุณต้องการที่จะให้มันยิงคุณอาจลองเช่นOpenWRT ในเครื่องเสมือน


ฉันสามารถใช้ OpenWrt สำหรับการอ้างอิงได้ ฉันจะดีใจถ้าคุณสามารถชี้ให้เห็นเว็บไซต์อื่น ๆ ใช้ VirtualBox อยู่แล้วและพวกเขาก็มีคู่มือแนะนำการติดตั้ง OpenWrt
slashmais

อาจจะฝัง Debian: emdebian.org
fschmitt


8

rootfs ที่เรียกใช้งานเดี่ยว

ระบบขั้นต่ำที่แน่นอนเรียกใช้/initโปรแกรมเดียวตามที่อธิบายไว้ในSingle Application Linux ผู้ใช้ขั้นสูง

ลินุกซ์สดน้อยที่สุด

https://github.com/ivandavidov/minimal

สำหรับระบบอินเทอร์แอคทีฟที่น่าสนใจยิ่งขึ้นนี่เป็นสคริปต์ขนาดเล็ก (ส่วนใหญ่เป็นการศึกษา) ที่:

  • ดาวน์โหลดซอร์สสำหรับเคอร์เนลและ busybox
  • รวบรวมพวกเขา
  • สร้าง ISO 8Mb ที่สามารถบู๊ตได้

ISO จะทำให้คุณอยู่ในเชลล์ขั้นต่ำด้วย busybox

ด้วย QEMU คุณสามารถบูตเข้าสู่ระบบได้อย่างง่ายดาย

ฉันได้ทำการแก้ไขเพื่ออนุญาตให้เรียกใช้จากไดเรกทอรีแหล่งเคอร์เนล: https://github.com/cirosantilli/runlinux

การใช้งาน:

git clone https://github.com/ivandavidov/minimal
cd minimal/src
./build_minimal_linux_live.sh
# Wait.
# Install QEMU.
# minimal_linux_live.iso was generated
./qemu64.sh

และคุณจะถูกทิ้งไว้ในหน้าต่าง QEMU พร้อมกับระบบขั้นต่ำสุดใหม่ น่ากลัว

เนื่องจากมีขนาดเล็กจึงเป็นตัวเลือกที่ดีในการอ่านแหล่งที่มาและทำความเข้าใจกับสิ่งที่เกิดขึ้น

ทดสอบกับ Ubuntu 16.04

Buildroot

https://buildroot.org/

ชุด Makefile script ขนาดใหญ่ที่จัดการ:

  • เครื่องมือการคอมไพล์ข้าม GCC
  • การรวบรวมเคอร์เนล
  • การรวบรวม bootloader
  • การสร้างรูต
  • มีแพ็คเกจดาวน์โหลด / สร้างสูตรในทรีซอร์สรวมถึงสิ่งที่ซับซ้อนเช่น GTK มีระบบการพึ่งพา

ตัวอย่างที่น้อยที่สุด:

git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.05
make qemu_x86_defconfig
# Can't use -jN, use `BR2_JLEVEL=2` instead.
BR2_JLEVEL=2 make
# Wait.
# cat board/qemu/x86_64/readme.txt
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user
# You are now in a shell with BusyBox utilities.

มันมีสูตรสำหรับการสร้าง X11 ตั้งแต่เริ่มต้น: วิธีการติดตั้ง X11 บนระบบ Linux Buildroot ของฉันเอง?

การต่อสู้ระดับมืออาชีพได้ทดสอบสิ่งที่องค์กรขนาดใหญ่ใช้

อัลไพน์ Linux

https://github.com/gliderlabs/docker-alpine

การกระจายแบบฝังด้วยตัวจัดการแพคเกจที่เสนอไบนารีที่คอมไพล์แล้วจากเว็บไซต์

ดูสิ่งนี้ด้วย


1
ในที่สุดฉันก็ไปเส้นทาง LFS จดบันทึกสิ่งนี้และจะสำรวจในไม่ช้า
slashmais

6

เป็นอย่างไรบ้างที่ไม่มีใครพูดถึงtomsrtbt ? (Linux บนฟล็อปปี้ขนาด 1.44 นิ้วเดียว)


ฟังดูถูกต้องแล้ว - ลิงค์?
slashmais

ไม่ต้องกังวล - พบมัน
slashmais

4
ใครบ้างที่ยังมีฟลอปปี้ไดรฟ์ในวันนี้ ;)
p-static

1
ตอนนี้ฉันกำลังดูอยู่ แต่ฉันใช้มันเพียงครั้งเดียวในหลายปีที่ผ่านมาฉันมีพีซี
lamcro

3
@ p-static: ฉันใช้กล่องเก่าเป็นเซิร์ฟเวอร์การพิมพ์ - มันยังมีฟล็อปปี้ไดรฟ์ขนาด 8 1/4 นิ้วและฉันเพิ่งทดสอบกับ floppies อายุ 20 ปี - น่าอัศจรรย์ที่ floppies ยังคงตกลง! พร้อมกับข้อมูลที่ไม่ถูกขัดจังหวะพวกเขาด้วย (รหัสเทอร์โบปาสกาล v3 จากวันนักเรียน)
slashmais

4

คุณสามารถลองใช้ Slackware linux การติดตั้งด้วยเมนูจะช่วยให้คุณสามารถติดตั้งระบบขั้นต่ำได้ คุณสามารถออกจาก man pages, X11, Tcl, Emacs และนั่นเป็นเพียงแค่การติดตั้งระดับบนสุดเท่านั้น คุณสามารถดำน้ำในการติดตั้งและติดตั้งแพคเกจขั้นต่ำเปลือยเท่านั้น

หลังจากนั้นฉันจะคอมไพล์เคอร์เนลใหม่สำหรับเครื่องที่คุณติดตั้ง

Slackware ยังคงมีค่าเริ่มต้นเป็นตัวจัดการการบูตของ Lilo ดังนั้นคุณจะต้องรู้มากกว่าเรื่องที่คุณต้องการรู้เกี่ยวกับบูตเซกเตอร์ซึ่งพาร์ติชั่นถูกทำเครื่องหมายว่าสามารถบู๊ตได้สิ่งที่ initrd ของคุณมีอยู่ ฯลฯ


3

สำหรับฉันแล้วDamn Small Linuxมีชื่อสำหรับ "distro Linux ที่เล็กที่สุดที่เป็นไปได้"! อย่างไรก็ตามฉันได้ยินมาว่ามันหยุดชั่วคราว นอกจากนี้คุณยังสามารถดูรายชื่อของดิคล้ายกัน (เรียกว่า "มินิลินุกซ์") ในการนี้หน้าวิกิพีเดีย

หากพื้นที่ไม่ใช่เป้าหมายของคุณฉันจะแนะนำGentooหรือArch Linuxทั้งคู่ติดตั้งระบบพื้นฐาน คุณเลือกสิ่งที่จะใช้และติดตั้งแพ็คเกจตามที่คุณต้องการ


ไม่ใช่พื้นที่ - เรียนรู้ Linux ฉันดูที่เหล่านั้นส่วนใหญ่เช่นเดียวกับ LFS แต่ LFS ทำให้คุณทำ / เพิ่มสิ่งที่มันรู้สึกไม่เพียงพอคำอธิบาย
slashmais

3
หากคุณต้องการเรียนรู้ Archlinux นั้นดีจริงๆ Arch วิกิพีเดียมีALOTชัดเจนข้อมูลที่เป็นประโยชน์
สเตฟาน

ดูเหมือนว่าฉันได้เปลี่ยนเป้าหมายหลังจากที่คุณยิงกระสุนขอโทษ: o
slashmais

2

สิ่งที่คุณต้องทำคือดาวน์โหลดเคอร์เนลล่าสุดจาก kernel.org ทำmake menuconfigและเพียงแค่มองผ่านตัวเลือกและใช้มันเป็นจุดเริ่มต้นสำหรับการวิจัยและการตรวจสอบ คุณจะได้เรียนรู้มากมาย


"เวลาคือศัตรูของฉัน" - ไม่ใช่จริงๆ แต่ฉันจะตรวจสอบคำแนะนำของคุณอย่างแน่นอน
slashmais

0

คุณสามารถดูPuppy Linuxได้ มันอาจจะไม่เล็กที่สุด แต่ก็มีความน่าพอใจเล็ก ๆ น้อย ๆ

อย่างไรก็ตาม Linux distrtos ที่มีความหมายว่าเล็กมักมักจะอยู่ในระดับเล็กน้อย สำหรับการเรียนรู้ลินุกซ์ฉันจะเดเบียนแบบสดๆที่ไหนสักแห่ง . ฉันจะได้รับแหล่ง debian เคอร์เนลแหล่งทุบตีและแหล่งที่มาด้วงข้ามรวบรวมและติดตั้ง จากนั้นข้ามคอมไพล์ติดตั้งโปรแกรมแก้ไข apt และ gcc จากนั้นสร้างรายการแพ็กเกจจาก debian live ติดตั้งซอร์สสำหรับแต่ละแพ็กเกจรวบรวมและติดตั้ง จากนั้นเพิ่ม X ตามด้วย Wm ที่คุณเลือกจากนั้นคุณมีพื้นฐานสำหรับสิ่งที่คุณต้องการจะทำ

PS: apt-get source ทำให้คุณได้รับแพ็คเกจเดเบียน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.