Cài đặt DokuWiki trong môi trường proot-distro trên Termux
Máy Tính

Khám Phá: Biến Điện Thoại Cũ Thành Home Server/Linux Không Cần Root

Giống như những chiếc PC và laptop đời cũ, có vô số cách để tái sử dụng một chiếc smartphone không còn dùng đến. Nếu điện thoại của bạn vẫn có camera hoạt động tốt, bạn có thể biến nó thành một webcam tạm thời cho máy tính của mình, hoặc thậm chí là một hệ thống giám sát hoàn chỉnh sử dụng Frigate server. Ngoài ra, bạn có thể tận dụng màn hình cảm ứng để xây dựng một bảng điều khiển Home Assistant đáng tin cậy. Hoặc, nếu bạn là một người đam mê năng suất như tôi, bạn thậm chí có thể tái chế nó thành một Stream Deck.

Nhưng liệu có thể biến một chiếc điện thoại Android cũ thành một máy chủ tại gia (home server) – một thiết bị có thể cạnh tranh với các giải pháp như Raspberry Pi? Suy nghĩ này đã thôi thúc tôi thử sức với dự án này. Rốt cuộc, tôi đã từng thử chạy game PC trên smartphone của mình, vậy thì việc chạy các Linux container hẳn sẽ không quá khó khăn, phải không? Thực tế thì không hẳn vậy. Do những hạn chế về quyền root, tôi chỉ có thể chạy một vài bản phân phối (distro) Linux trên điện thoại của mình và cuối cùng lại có một thiết lập thiên về “distro-hopping” hơn là chạy các dịch vụ containerized.

Lựa Chọn Công Cụ Phù Hợp Cho Dự Án Biến Điện Thoại Thành Server

Termux và proot-distro: Giải pháp chạy Linux không cần root

Thách thức lớn nhất của dự án này là tìm một thiết lập có thể hoạt động ổn định mà không cần root điện thoại. Trước đây, tôi thường root ngay lập tức sau khi mua điện thoại. Nhưng với những hạn chế trên các ứng dụng hiện đại, tôi nghĩ sẽ tốt hơn nếu tránh đi theo con đường root.

Thật không may, phương pháp trực tiếp để chạy các container thường yêu cầu thiết bị đã root – thậm chí cần các kernel module tùy chỉnh trong một số trường hợp. Hạn chế này buộc tôi phải tìm kiếm một giải pháp thay thế. Việc chạy máy ảo – ngay cả những máy ảo thông qua Chroot – cũng gặp vấn đề tương tự trên các thiết bị không root.

Điều này đưa tôi đến với các giải pháp sử dụng Termux, một trình giả lập terminal mạnh mẽ mà tôi thường dùng cho các dự án Android của mình. Sau một thời gian tìm kiếm trên GitHub, tôi đã phát hiện ra proot-distro, dường như là gói hoàn hảo cho thử nghiệm này. Về cơ bản, nó tạo ra một môi trường proot (một biến thể của chroot trong không gian người dùng), nơi tôi có thể tự do thử nghiệm các bản phân phối Linux. Tôi không ngờ rằng điều này sẽ sớm dẫn tôi vào một hành trình “distro-hopping”.

Cài đặt DokuWiki trong môi trường proot-distro trên TermuxCài đặt DokuWiki trong môi trường proot-distro trên Termux

Hành Trình Khám Phá Các Bản Phân Phối Linux Trên Android

Khởi đầu thuận lợi với proot-distro

Sau khi hoàn tất các bước chuẩn bị, đã đến lúc đưa dự án này vào guồng. Tôi chạy lệnh pkg install proot-distro trong Termux và chờ vài phút để lệnh tải các gói cần thiết. Sau đó, tôi thực thi proot-distro install debian để bắt đầu thiết lập môi trường Debian trên smartphone của mình. Ngay sau khi quá trình cài đặt hoàn tất, tôi chạy proot-distro login debian để vào Debian, và đúng như dự đoán, “vị vua” của các bản phân phối Linux cơ bản đã hoạt động trên điện thoại.

Vì không thể chạy bất kỳ gói nào với quyền sudo, tôi bắt đầu cập nhật các gói bằng lệnh apt updateapt upgrade quen thuộc. Sau đó, tôi thử cài đặt một số gói thông thường, bao gồm DokuWiki. Tuy nhiên, hầu hết các gói đều thất bại ngay lập tức. Tôi cũng thử cài đặt Docker, nhưng nó cũng báo lỗi. Không nản chí, tôi chuyển sang Podman, nhưng nó cũng không chịu chạy. Nhìn lại, điều này hoàn toàn hợp lý, vì tôi sẽ phải thực hiện một số sửa đổi nhất định cho kernel để các runtime container hoạt động trên điện thoại của mình.

Giao diện Termux hiển thị quá trình cài đặt Arch Linux với proot-distroGiao diện Termux hiển thị quá trình cài đặt Arch Linux với proot-distro

Những trở ngại khi chạy ứng dụng và container

Sau khi tìm kiếm thêm trên GitHub, tôi tình cờ thấy kho lưu trữ proot-apps. Đúng như tên gọi, đây là bộ sưu tập các ứng dụng từ các nhà phát triển tài năng tại LinuxServer, được thiết kế để chạy trong môi trường proot. Vì vậy, tôi bắt đầu cài đặt một số ứng dụng này bên trong máy ảo Debian của mình. Thật không may, những ứng dụng được thiết kế cho các Docker container thông thường, như Nextcloud, đã không hoạt động trên thiết lập của tôi. Điều thú vị là mã lỗi lại nhắc đến QEMU (hoặc đúng hơn là sự thiếu vắng của nó), mặc dù ứng dụng này không nên yêu cầu QEMU.

Tuy nhiên, tôi vẫn nghĩ mình có thể thử chạy các gói trên một bản phân phối khác. Fedora có hỗ trợ tốt hơn cho Podman, vì vậy tôi nghĩ có thể thử chạy runtime container này trên một distro khác – nhưng kết quả cũng không khả quan. Sau đó, tôi thử chạy proot-apps trong một thiết lập Arch Linux, trong khi một số bản phân phối khác hoàn toàn không chịu chạy. Và đây là điều khiến tôi băn khoăn nhất…

Thiết lập môi trường Arch Linux thông qua proot-distro trong ứng dụng TermuxThiết lập môi trường Arch Linux thông qua proot-distro trong ứng dụng Termux

Thay Đổi Hướng Đi: Từ Home Server Sang “Distro-Hopping”

Mặc dù Debian, Fedora và Arch đều “hoạt động”, tôi nhận ra mình không thể cài đặt nhiều ứng dụng mà không gặp lỗi pkg – và điều này bao gồm cả một thứ đơn giản như neofetch. Vì vậy, tôi đã thực hiện một nỗ lực cuối cùng sau khi tìm thấy kho lưu trữ Termux-Pentesting-Distro trên GitHub. Hóa ra, kho lưu trữ tuyệt vời này không chỉ chạy vô số bản phân phối Linux thú vị mà còn hoạt động với nhiều ứng dụng. Mặc dù tôi không thể chạy bất kỳ trình quản lý cửa sổ hoặc môi trường máy tính để bàn nào, nhưng tôi đã có thể cài đặt rất nhiều distro trên smartphone của mình.

Tương tự, tôi cũng có thể cài đặt Emacs, Neovim và các ứng dụng Linux thiết yếu khác từ các kho lưu trữ distro mới. Vấn đề là gì? Đến lúc này, tôi đã hoàn toàn đi chệch khỏi mục tiêu ban đầu là chạy container và chuyển hoàn toàn sang việc mày mò các bản phân phối thú vị. Thành thật mà nói, “bộ não bò sát” của tôi không thể cưỡng lại sự phấn khích từ vô số bản phân phối Linux – đặc biệt khi có một vài cái tên mà tôi chưa từng nghe đến trước đây. Chưa kể, mỗi phiên bản Linux đều đi kèm với Neofetch ngay từ đầu, và nếu có điều gì tôi yêu thích hơn cả việc “distro-hopping”, đó chính là ngắm nhìn widget Neofetch tuyệt đẹp.

Hiện tại, tôi khá hài lòng với thiết lập “distro-hopping” kỳ lạ mà tôi đã cấu hình, đặc biệt là khi tôi không thể tìm ra cách để các container thiết yếu chạy trên smartphone của mình. Tôi dự định sẽ root một chiếc điện thoại khác, cũ hơn một chút trong tương lai gần, để có thể thử lại thử nghiệm này với các container Docker và Podman thực thụ.

Kết Luận

Dự án biến điện thoại Android cũ thành home server hoặc môi trường Linux không cần root đã chứng minh rằng việc tái sử dụng thiết bị cũ có rất nhiều tiềm năng sáng tạo. Mặc dù việc chạy các container phức tạp như Docker hay Podman mà không có quyền root là một thách thức lớn và gần như bất khả thi do các giới hạn về kernel, chúng ta vẫn có thể biến điện thoại cũ thành một nền tảng tuyệt vời để khám phá các bản phân phối Linux thông qua Termux và proot-distro.

Nếu bạn là một người yêu công nghệ và thích vọc vạch, việc “distro-hopping” trên chiếc smartphone cũ của bạn chắc chắn sẽ mang lại những trải nghiệm thú vị và kiến thức mới mẻ. Hãy chia sẻ kinh nghiệm của bạn nếu đã từng thử các dự án tương tự, hoặc có những ý tưởng độc đáo khác để tái sinh chiếc điện thoại Android cũ của mình nhé!

Related posts

AMD Radeon RX 9060 XT Ra Mắt: Card RDNA 4 Giá Rẻ Nhất Chính Thức Trình Làng

Administrator

Tối Ưu Pin MacBook: 10 Cách Hiệu Quả Giúp Kéo Dài Thời Lượng Sử Dụng

Administrator

7 Tiện Ích Chrome Hàng Đầu Giúp Bạn Chụp Ảnh Màn Hình và Lưu Trữ Nội Dung Web Hiệu Quả

Administrator