เลิกสลับดิสโทร: วิธีใช้ลินุกซ์ดิสโทรใดก็ได้บนคอมพิวเตอร์เครื่องเดียว
คุณไม่จำเป็นต้องบูตสองระบบหรือสลับระหว่างดิสโทร Distrobox ช่วยให้คุณติดตั้งและรันดิสโทร Linux ใดก็ได้ภายในคอนเทนเนอร์เสมือนหรือ "กล่อง" คุณสามารถเข้าถึงตัวจัดการแพ็กเกจของดิสโทรนั้นและติดตั้งแอป (GUI หรือ CLI) ที่ทำงานภายในพื้นที่เดสก์ท็อปของดิสโทรที่คุณใช้อยู่ได้
วิธีที่ฉันหยุดการย้ายดิสทริบิวชัน
เมื่อไม่กี่ปีที่ผ่านมา ฉันเคยประสบกับอาการที่เรียกว่า "อาการวัตถุแวววาว" กับการแจกจ่ายลินุกซ์ แทนที่จะติดตั้งตั้งค่าและใช้งานระบบปฏิบัติการนั้นในแต่ละวันเพื่อทำงาน ฉันกลับคอยเปลี่ยนไปทุกดิสโทรใหม่ที่พบในที่สุด ฉันก็พบว่ามันเป็นเรื่องธรรมดาค่อนข้างมากในหมู่คนที่สนใจลินุกซ์ นอกจากนี้ยังเป็นเรื่องธรรมดาจนมีชื่อเรียกด้วย มันเรียกว่า "distro hopping"
ส่วนที่แปลกก็คือ ดิสโทร Linux ส่วนใหญ่ที่ผมสลับไปมานั้นทั้งหมดล้วนแต่มีพื้นฐานมาจาก Debian เมื่อผมตัดสินใจที่จะเลือกติดตั้งเพียงหนึ่งครั้ง ผมก็รู้ว่าผมกำลังไล่ตามความสวยงามและการปรับแต่งด้วยงานอดิเรกการสลับดิสโทรของผม นี่เป็นความตระหนักที่น่าสนใจ เพราะชุมชนสอนให้ผมรู้ว่าผมสามารถปรับแต่งดิสโทรใดก็ได้ให้ดูเหมือนดิสโทรอื่น ๆ ผมเพียงแค่ต้องเปลี่ยนสภาพแวดล้อมเดสก์ท็อป หน้าจอล็อก บูตโหลดเดอร์ และทุกอย่างกลางระหว่าง
สิ่งที่ฉันไม่สามารถเปลี่ยนแบบ hot swap ได้คือโปรแกรมจัดการแพ็กเกจเริ่มต้นและวิธีที่ระบบจัดการการอัปเดต ตัวอย่างเช่น Debian และระบบที่อิงตาม Debian ใช้โปรแกรมจัดการแพ็กเกจ APT รีโปอย่างเป็นทางการสำหรับโปรแกรมจัดการแพ็กเกจนี้มีแพ็กเกจน้อยกว่าของ Arch Linux อย่างมาก แพ็กเกจ apt มักจะไม่ทันสมัยเช่นกัน ในกรณีของ Arch และ Arch User Wiki (AUR) โดยเฉพาะ คุณจะสามารถเข้าถึงเวอร์ชันล่าสุดได้มากกว่าแพ็กเกจถึงสองเท่า ฉันยังชื่นชอบโปรแกรมจัดการแพ็กเกจ pacman ของ Arch เพราะมันเร็วกว่ามากและมีฟีเจอร์ที่ดีกว่า
ดังนั้นถ้าฉันสามารถหาวิธีเข้าถึงตัวจัดการแพ็กเกจที่ฉันชื่นชอบบนระบบลินุกซ์ใดก็ได้ ฉันก็จะไม่มีเหตุผลที่จะสลับดิสโทร นั่นคือสิ่งที่ฉันทำจริงๆ
การรันเครื่อง Linux ภายในระบบ Linux
Docker และ Podman เป็นเอนจินคอนเทนเนอร์ที่ช่วยให้คุณสามารถรันบริการและแอปพลิเคชันภายในคอนเทนเนอร์หรือกล่อง แทนที่จะติดตั้งแอปบนเครื่องของคุณ คุณสามารถรันมันภายในแซนด์บ็อกซ์ที่แยกออกมา ซึ่งมีทุกสิ่งที่แอปต้องการ (ไลบรารี, ขึ้นอยู่กับ, การตั้งค่า, ทุกอย่าง) นั่นคือสิ่งที่ Docker หรือ Podman ทำ
มันใช้ภาพนิ่ง (ซึ่งทำหน้าที่เหมือนแม่แบบหรือสูตร) และสร้างคอนเทนเนอร์ขึ้นตามมัน ภาพนิ่งนั้นสามารถเป็นอะไรก็ได้ มันไม่จำเป็นต้องเป็นแอปหรือบริการ มันสามารถเป็นระบบปฏิบัติการ Linux ทั้งหมดได้
Distrobox คือระบบปฏิบัติการ Linux ที่ออกแบบมาโดยเฉพาะสำหรับงานนี้ มันใช้ Docker หรือ Podman เพื่อสร้างกล่อง Linux ขึ้นมา ซึ่งต่างจากเครื่องเสมือนเพราะว่า Distrobox ไม่ได้จำลองฮาร์ดแวร์หรือรันเคอร์เนลแยก มันทำงานจากเคอร์เนลของโฮสต์โดยตรง ดังนั้นจึงให้ประสิทธิภาพใกล้เคียงกับการทำงานแบบ native
สิ่งที่คุณต้องทำมีเพียงเปิดเทอร์มินัล ป้อนคำสั่งเพียงคำสั่งเดียวเพื่อสร้างกล่อง Linux ใหม่ และเข้าไปใช้งาน คุณสามารถรันแอปพลิเคชัน (GUI หรือ CLI) ได้โดยตรงจากเทอร์มินัลโดยใช้ซ็อกเก็ตแสดงผลของเดสก์ท็อปโฮสต์ของคุณ แอปพลิเคชันกราฟิกจะแสดงขึ้นในหน้าต่างแยกต่างหากบนเดสก์ท็อปของคุณ
คุณสามารถใช้แอปเหล่านั้นได้ตามปกิเหมือนกับที่คุณใช้แอปเนทีฟ เพราะว่า Container ของ Linux (โดยค่าเริ่มต้น) สามารถเข้าถึงไดเรกทอรี Home ของคุณได้ ดังนั้นไฟล์ทั้งหมดของคุณสามารถเข้าถึงได้ภายใน Distrobox container
การตั้งค่า Distrobox
คุณจำเป็นต้องติดตั้ง Docker หรือ Podman ก่อนที่คุณจะสามารถใช้ Distrobox ได้ หากคุณได้ติดตั้ง Docker หรือ Podman แล้ว คุณสามารถข้ามขั้นตอนนี้ไปได้ ฉันใช้ Docker เป็นประจำ ดังนั้นฉันจะแสดงวิธีตั้งค่า Distrobox ด้วย Docker คุณสามารถใช้ Podman ก็ได้ ถ้าคุณต้องการ
บนระบบ Arch คุณสามารถติดตั้ง Docker และ Docker Compose ด้วยคำสั่งดังต่อไปนี้:
sudo pacman -S dockerบนระบบ Debian และ Fedora ลองทำสิ่งนี้:
curl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.shคำสั่งเหล่านี้รันสคริปต์ Bash อย่างเป็นทางการจาก Docker ซึ่งสะดวกในการติดตั้งและเริ่มต้นเครื่องยนต์ Docker
มาทดสอบกันว่า Docker ทำงานได้อย่างถูกต้องหรือไม่
sudo docker run hello-worldหากทุกอย่างเป็นไปด้วยดี คุณควรเห็นข้อความยืนยันว่า Docker ทำงานตามที่คาดไว้ ตอนนี้มาดาวน์โหลด Distrobox กันเถอะ
บนระบบ Debian และ Ubuntu ให้รันคำสั่งนี้เพื่อติดตั้ง Distrobox
sudo apt install distroboxArch และ Fedora มี Distrobox ในรีโปอย่างเป็นทางการ
การสร้างเครื่องลินุกซ์และรันแอป
ในการสร้างคอนเทนเนอร์ Distrobox ใหม่ คุณเพียงแค่ต้องรู้ชื่อของดิสโทรและหมายเลขเวอร์ชัน สำหรับดิสโทรแบบโรลลิ่ง คุณสามารถพิมพ์ "latest" ข้างชื่อดิสโทรได้ เช่น คุณสามารถสร้างกล่อง Arch Linux ใหม่ด้วยคำสั่งดังต่อไปนี้
distrobox create --name archbox --image archlinux:latestคุณสามารถตั้งชื่อคอนเทนเนอร์ได้ตามต้องการถัดจาก --name อย่าลืมชื่อนั้นเพราะคุณจะต้องใช้มันเพื่อเข้าไปในคอนเทนเนอร์
distrobox enter archboxคุณสามารถติดตั้งแอปจาก pacman รีโปอย่างเป็นทางการหรือจาก Arch User Repository และรันมันภายในเทอร์มินอลนี้ได้เลย
ในการสร้างกล่อง Ubuntu คุณสามารถรันคำสั่งแบบนี้ได้
distrobox create --name my-ubuntu --image ubuntu:22.04คำสั่งนี้จะให้คุณได้กล่อง Fedora
distrobox create --name my-fedora --image fedora:latestพิมพ์ distrobox stop container_name เพื่อหยุดคอนเทนเนอร์ของ distro คุณสามารถลบกล่องได้ด้วยคำสั่ง distrobox rm container_name คุณสามารถหยุดคอนเทนเนอร์ด้วย distrobox stop container_name นอกจากนี้คุณยังสามารถดูรายการกล่องทั้งหมดที่ติดตั้งแล้วได้ด้วย distrobox list.
ไม่มีความจำเป็นต้องติดตั้งระบบปฏิบัติการลินุกซ์ใหม่เพียงเพื่อเข้าถึงรีโปและตัวจัดการแพ็กเกจของมัน Distrobox ทำให้การสร้างกล่องลินุกซ์หลายกล่องตามที่คุณต้องการง่ายมาก คุณยังสามารถรันดิสโทรลินุกซ์หลายตัวพร้อมกันได้อีกด้วย










