Dùng Distrobox trên Ubuntu: Trải nghiệm Arch, Fedora ‘ngay và luôn’ không cần cài lại máy

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

Tại sao mình chọn Distrobox thay vì cài lại máy?

Dùng Ubuntu làm hệ điều hành chính suốt nửa năm, mình cực kỳ ưng độ ổn định của nó. Thế nhưng, đời không như là mơ. Kho ứng dụng apt của Ubuntu đôi khi quá cũ so với nhu cầu thực tế. Có những lúc mình thèm cái cảm giác dùng package mới nhất trên AUR của Arch, hay cần một thư viện chỉ có trên Fedora mà Ubuntu LTS thì không hỗ trợ.

Trước đây, mình thường dựng máy ảo (VM). Tuy nhiên, một con VM chạy Arch thường ngốn ít nhất 2-4GB RAM và khởi động rất chậm. Docker là lựa chọn thứ hai, nhưng nó lại bị cô lập quá mức với file hệ thống và khó chạy ứng dụng có giao diện (GUI). Distrobox xuất hiện như một cứu cánh. Nó cho phép mình chạy bất kỳ bản phân phối Linux nào ngay trong terminal Ubuntu. Mọi thứ dùng chung thư mục Home, chung mạng, và nhẹ đến mức bạn gần như không cảm thấy sự sụt giảm hiệu năng nào.

Quick Start: Có ngay Arch Linux trên Ubuntu sau 5 phút

Nếu bạn muốn thử ngay, đây là quy trình rút gọn để đưa môi trường Arch Linux vào Ubuntu của mình.

Bước 1: Cài đặt Podman và Distrobox

Distrobox cần một “engine” để chạy container. Mình khuyên bạn nên dùng Podman thay vì Docker. Podman hoạt động ở chế độ rootless, giúp bảo mật hơn và tránh lỗi phân quyền file trong thư mục cá nhân.

sudo apt update
sudo apt install podman distrobox -y

Bước 2: Khởi tạo container mới

Hãy tạo một môi trường Arch Linux và đặt tên là my-arch:

distrobox create -n my-arch -i archlinux:latest

Hệ thống sẽ hỏi bạn có muốn tải image về không. Nhấn Y để tiếp tục (dung lượng tải về thường chỉ khoảng 150-200MB).

Bước 3: Truy cập vào môi trường mới

distrobox enter my-arch

Dấu nhắc lệnh (prompt) sẽ thay đổi ngay lập tức. Chào mừng bạn đến với Arch Linux! Giờ thì bạn có thể tha hồ pacman -S để cài những công cụ mới nhất.

Distrobox hoạt động như thế nào?

Nhiều người lầm tưởng Distrobox là một cái gì đó cao siêu, nhưng thực chất nó là một script wrapper thông minh bọc quanh Docker hoặc Podman. Điểm khác biệt nằm ở khả năng tích hợp sâu:

  • Mount thư mục Home: File ở ~/Documents trên Ubuntu cũng hiện diện y hệt trong Distrobox.
  • Tích hợp đồ họa: Bạn có thể mở một app GUI (như GIMP bản mới nhất từ Fedora) ngay trên desktop Ubuntu.
  • Dùng chung Network: Không cần cấu hình port forwarding phức tạp như khi dùng Docker truyền thống.

Mình thường dùng cách này để test script trên nhiều môi trường khác nhau. Nó giúp con Ubuntu Server của mình luôn sạch sẽ, không bị “rác” bởi các thư viện cài thêm.

Các lệnh quản lý cần bỏ túi

Tạo container từ các distro khác

Bạn không chỉ có Arch. Bất kỳ image nào trên Docker Hub hoặc Quay.io đều dùng được:

# Tạo container Fedora mới nhất
distrobox create -n fedora-box -i fedora:latest

# Tạo container Alpine (siêu nhẹ, chỉ tốn khoảng 5MB disk)
distrobox create -n alpine-box -i alpine:latest

Xem danh sách container

distrobox list

Xóa container

distrobox rm my-arch

Mẹo hay: Đưa app từ Distrobox ra Menu ứng dụng của Ubuntu

Đây là tính năng mình tâm đắc nhất. Giả sử bạn cài vlc trong container fedora-box nhưng muốn mở nó nhanh từ thanh dock Ubuntu. Hãy dùng distrobox-export.

Đầu tiên, hãy vào container đó:

distrobox enter fedora-box

Sau đó chạy lệnh xuất ứng dụng:

distrobox-export --app vlc

Icon VLC sẽ xuất hiện trong Application Menu của Ubuntu ngay lập tức. Khi bạn click vào, Ubuntu tự khởi động container và mở app. Trải nghiệm mượt mà không khác gì app cài chính chủ qua apt.

Kinh nghiệm thực tế sau nửa năm sử dụng

Sau khi vọc vạch Distrobox trên cả laptop lẫn server, mình rút ra vài lưu ý quan trọng:

  1. Hãy chọn Podman: Podman chạy rootless nên file tạo ra trong container sẽ thuộc quyền sở hữu của user bạn. Dùng Docker đôi khi sẽ gây lỗi Permission Denied rất ức chế khi bạn sửa file bằng các app bên ngoài.
  2. Kiểm soát dung lượng: Dù nhẹ nhưng mỗi container vẫn tốn từ vài trăm MB đến vài GB ổ cứng. Đừng tạo quá nhiều container trùng lặp chức năng nếu không muốn đầy ổ cứng.
  3. Cẩn thận với Dotfiles: Vì dùng chung thư mục Home, các file .bashrc hay .zshrc sẽ bị ảnh hưởng chéo. Hãy kiểm tra kỹ nếu bạn có các tùy chỉnh sâu cho shell.
  4. Tách biệt môi trường Dev: Mình thường tạo container riêng cho mỗi dự án. Dự án A dùng Node.js 14, dự án B dùng Node.js 20. Cách này giúp hệ thống cực kỳ ngăn nắp và dễ quản lý.

Lời kết

Distrobox là công cụ tuyệt vời cho những ai thích khám phá nhưng vẫn cần sự ổn định để làm việc. Nó xóa tan rào cản giữa các bản phân phối Linux. Giờ đây, bạn có thể tận hưởng sức mạnh của Arch Linux ngay trên nền tảng vững chãi của Ubuntu.

Nếu gặp lỗi liên quan đến subuid hoặc subgid khi dùng Podman, bạn chỉ cần kiểm tra lại cấu hình user trong /etc/subuid là xong. Chúc các bạn có những trải nghiệm thú vị!

Share: