Tệp DEB trên Arch? Chạy bất kỳ ứng dụng nào trên mọi bản phân phối Linux

Tác giả sysadmin, T.M.Hai 14, 2023, 02:07:12 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Tệp DEB trên Arch? Chạy bất kỳ ứng dụng nào trên mọi bản phân phối Linux bằng công cụ này


Mọi thứ ở mọi nơi, tất cả cùng một lúc.

  • Distrobox cho phép bạn chạy các ứng dụng từ các bản phân phối Linux khác nhau trên máy tính của mình trong khi vẫn tách biệt chúng.
  • Nó tích hợp các thùng chứa với máy tính chủ, cho phép các ứng dụng bên trong thùng chứa truy cập vào thư mục chính của bạn và chia sẻ các tệp cấu hình.
  • Distrobox cung cấp cho bạn khả năng cài đặt và chạy các ứng dụng có thể khó tìm hoặc khó cài đặt trên bản phân phối của riêng bạn.

Thất vọng vì sự hỗ trợ không có hoặc chậm trễ của một ứng dụng cho bản phân phối ưa thích của bạn? Giống như một phép thuật, Distrobox chạy các ứng dụng từ các bản phân phối Linux khác nhau ngay trên máy tính Linux của bạn. Chúng đang chạy trên máy tính của bạn nhưng lại nằm trong bản phân phối riêng của chúng. Chúng tôi chỉ cho bạn cách nó hoạt động.

1. Vấn đề với container thông thường

Container là một dạng của máy ảo. Một máy ảo truyền thống có cài đặt hoàn chỉnh một hệ điều hành bên trong nó. Thông thường, chúng cũng sẽ có môi trường máy tính để bàn và bạn có thể sử dụng chúng như thể chúng là một máy tính vật lý.

Mặt khác, một vùng chứa chỉ chứa số lượng hệ điều hành và công cụ tối thiểu để chạy các chương trình mà vùng chứa dành riêng để hỗ trợ.

Bởi vì các thùng chứa nhẹ và rẻ hơn về mặt tính toán so với các máy ảo truyền thống nên chúng có thể được khởi chạy rất nhanh và được điều khiển theo chương trình. Các tập lệnh có thể kiểm soát việc tạo, sử dụng, tắt và xóa chúng. Điều này làm cho chúng trở nên lý tưởng cho những thứ như môi trường phát triển và thử nghiệm, đồng thời cung cấp khả năng mở rộng tự động cho các dịch vụ dựa trên đám mây.

Giống như các máy ảo, các ứng dụng bên trong vùng chứa được cách ly khỏi hệ thống máy chủ. Đó là một điều tốt trong hầu hết các trường hợp, nhưng đó là một công cụ cản trở nếu bạn muốn sử dụng một chương trình được cài đặt bên trong vùng chứa như thể nó được cài đặt trên máy tính vật lý của chính bạn.

2. Distrobox khác biệt như thế nào

Distrobox là một cách để tạo và quản lý các thùng chứa được tích hợp với máy chủ. Bạn có thể chạy các chương trình bên trong vùng chứa xuất hiện trên màn hình nền của máy chủ. Các ứng dụng đó có thể truy cập thư mục chính của bạn trên máy tính chủ, cho phép chúng lưu các tệp trong thư mục chính thực tế của bạn chứ không phải bên trong vùng chứa.

Nó cho phép hai bản sao của một ứng dụng, một trên máy tính vật lý của bạn và một trong vùng chứa, chia sẻ các tệp cấu hình của máy chủ. Vì vậy, ví dụ: một trình duyệt trong vùng chứa có thể sử dụng các dấu trang được lưu trữ trong các tệp cấu hình trên máy tính vật lý của bạn.

Các thùng chứa Distrobox cũng được hưởng lợi từ việc truyền qua phần cứng. Ví dụ: nếu bạn cắm thiết bị USB, vùng chứa cũng có thể nhìn thấy thiết bị đó.

Bạn có thể chọn từ rất nhiều bản phân phối Linux khi tạo vùng chứa Distrobox. Và vì bạn có thể cài đặt ứng dụng vào vùng chứa bằng trình quản lý gói của vùng chứa, bạn có thể khắc phục những khó khăn mà bạn có thể gặp phải khi cài đặt gói trực tiếp vào máy tính của mình.

Có lẽ một gói nổi tiếng là khó cài đặt trên bản phân phối bạn đã chọn hoặc phiên bản trong kho của bạn đã lỗi thời hoặc hoàn toàn không có trong kho. Bạn có thể tìm thấy Flatpak cho ứng dụng đó hoặc bạn có thể vui lòng xây dựng nó từ nguồn.

Distrobox giúp loại bỏ sự khó khăn và cung cấp cho bạn cách cài đặt và chạy các ứng dụng khó tìm hoặc có vấn đề đối với bản phân phối của bạn.

3. Cách cài đặt Distrobox

Distrobox sử dụng Docker hoặc Podman làm hệ thống quản lý vùng chứa cơ bản. Chúng tôi sẽ sử dụng Docker. Nếu bạn chưa có Docker trên máy tính, bạn sẽ cần cài đặt nó.

3.1. Cài đặt Docker

Docker có sẵn trong kho của các bản phân phối chính. Để cài đặt Docker trên Ubuntu, hãy sử dụng lệnh này. Họ đã thêm "io" vào tên gói để phân biệt nó với một ứng dụng khác trong kho Ubuntu đã sử dụng tên "docker".

Mã nguồn [Chọn]
sudo apt install docker.io
Trên Fedora lệnh là:
 
Mã nguồn [Chọn]
sudo dnf install docker
Trên Manjaro bạn cần gõ:

Mã nguồn [Chọn]
sudo pacman -S docker
Trên tất cả các bản phân phối, bạn cần tạo một nhóm người dùng và thêm chính mình vào nhóm đó. Điều này cho phép bạn sử dụng Docker theo kiểu không cần root, an toàn hơn việc cấp quyền truy cập root Docker vào hệ thống của bạn.

Chúng ta tạo nhóm bằng lệnh groupadd.

Mã nguồn [Chọn]
sudo groupadd docker
Docker có thể đã tạo nhóm cho bạn. Nếu đúng như vậy, bạn sẽ được thông báo rằng nó đã tồn tại. Dù bằng cách nào, chúng tôi cần thêm bạn vào nhóm đó bằng lệnh usermod.

Mã nguồn [Chọn]
sudo usermod -aG docker $USER
Bạn sẽ cần phải đăng nhập và đăng xuất để kích hoạt tư cách thành viên nhóm của mình.

3.2. Cài đặt Distrobox

Cài đặt Distrobox thậm chí còn dễ dàng hơn cài đặt docker. Trên Ubuntu, lệnh sử dụng là:

Mã nguồn [Chọn]
sudo apt install distrobox
Trên loại Fedora:

Mã nguồn [Chọn]
sudo dnf install distrobox
Trên Manjaro, cú pháp là:

Mã nguồn [Chọn]
sudo pacman -S distrobox
4. Tạo vùng chứa Distrobox

Bây giờ chúng ta đã sẵn sàng để tạo một vùng chứa. Bước này yêu cầu tệp hình ảnh. Lệnh Distrobox tải hình ảnh xuống cho chúng ta, vì vậy chúng ta cần biết địa chỉ web mà hình ảnh của chúng ta nằm ở đó.

Chúng ta có thể chọn hình ảnh muốn sử dụng từ danh sách trên trang web Distrobox. Danh sách này được sắp xếp theo thứ tự bảng chữ cái theo tên phân phối, bắt đầu tại AlmaLinux và kết thúc tại Void Linux.

Nhiều bản phân phối có sẵn trong một số phiên bản. Ví dụ: Fedora có sẵn trong các phiên bản 35, 36, 37, 38 và 39 và Fedora Rawhide cũng có sẵn. Các phiên bản có "hộp công cụ" được thêm vào tên bao gồm một bộ chương trình mặc định. Những hình ảnh không có "hộp công cụ" là những hình ảnh nhẹ.

Chúng tôi sẽ tạo một vùng chứa Arch Linux. Sao chép địa chỉ web của hình ảnh bạn định sử dụng và dán nó vào lệnh sau.

Mã nguồn [Chọn]
distrobox create -i quay.io/toolbx-images/archlinux-toolbox:latest -n "Arch-Db-1"
Chúng tôi đang sử dụng lệnh tạo Distrobox để tạo vùng chứa. Tùy chọn -i (hình ảnh) cho Distrobox biết nên sử dụng hình ảnh nào. Tùy chọn -n (tên) đặt tên cho vùng chứa. Nó cũng trở thành tên máy chủ cho máy tính ảo bên trong vùng chứa.

Bạn được nhắc tải hình ảnh xuống máy tính của mình. Nhấn Y và nhấn phím Enter.


Tất cả các lần tải xuống mà chúng tôi đã thử đều nhanh chóng một cách đáng ngạc nhiên. Khi bạn quay lại dấu nhắc lệnh, hãy sử dụng lệnh nhập Distrobox để khởi chạy và nhập vùng chứa Arch Linux mới của chúng tôi.

Mã nguồn [Chọn]
distrobox enter Arch-Db-1
Có một số công việc dọn phòng phải được thực hiện khi container được hạ thủy lần đầu tiên. Trên máy thử nghiệm của chúng tôi, việc này mất một hoặc hai phút.


Khi bạn quay trở lại dấu nhắc lệnh, hãy xem nó. Nó sẽ nói tên vùng chứa bạn đã tạo và nhập. Bây giờ bạn đang ở trong vùng chứa Arch Linux.

5. Sử dụng Ứng dụng bên trong Vùng chứa trên Máy chủ

Để chứng minh quan điểm, chúng tôi sẽ sử dụng trình quản lý gói Arch, pacman, để cài đặt neofetch.

Mã nguồn [Chọn]
sudo pacman -S neofetch
Chạy neofetch cho thấy chúng ta đang ở trong một phiên bản Arch Linux, chạy trên máy ảo VirtualBox mà chúng ta biết đang chạy Ubuntu.


Chúng tôi có thể cài đặt bất kỳ ứng dụng nào trong vùng chứa của mình, từ kho Arch hoặc từ AUR và chạy chúng trên máy chủ của chúng tôi.

Chạy lệnh ls sẽ hiển thị thư mục chính của máy chủ Ubuntu của chúng tôi.


Chúng tôi đã tạo một tệp có tên "MyUbuntuDocument.md" trên máy tính chủ của mình và tệp này hiển thị và có thể truy cập được bên trong vùng chứa của chúng tôi.

6. Sử dụng ứng dụng đồ họa bên trong vùng chứa trên máy chủ

Hãy cài đặt và chạy một ứng dụng bên trong vùng chứa Arch sử dụng giao diện đồ họa.

Mã nguồn [Chọn]
sudo pacman -S opera
Ngay sau khi được cài đặt, chúng ta có thể gõ "opera" để khởi chạy trình duyệt từ dấu nhắc lệnh Arch Linux của mình. Nhưng Distrobox cho phép chúng tôi khởi động chương trình từ bên ngoài vùng chứa, từ dấu nhắc lệnh của máy tính chủ.

Mã nguồn [Chọn]
distrobox-enter -T -n Arch-Db-1 -- "opera"
Tùy chọn -T (không có tty) ngăn chặn việc tạo cửa sổ terminal mới. Lệnh -n (tên) cho Distrobox biết vùng chứa nào cần tìm bên trong lệnh. Tùy chọn "--" (kết thúc đối số) là cờ cho Distrobox biết mọi thứ tiếp theo là một phần của lệnh sẽ được khởi chạy.

Opera được khởi chạy và chạy trên máy tính để bàn của bạn như thể bạn đã cài đặt nó trên máy tính chủ.


Để làm cho cuộc sống dễ dàng hơn, lệnh khởi chạy ứng dụng có thể được lưu dưới dạng bí danh hoặc đặt bên trong tệp trên máy tính để bàn trên máy tính chủ.

Rõ ràng là ứng dụng đã khởi chạy có quyền truy cập vào máy chủ của bạn. Bằng cách nhìn vào bên trong thư mục "~/.config" trên máy tính chủ, chúng ta có thể thấy rằng một thư mục "opera" đã được tạo. Trình duyệt đang lưu trữ cài đặt của nó trên máy chủ Ubuntu.


7. Các lệnh hữu ích khác

Để thoát khỏi vùng chứa, hãy nhập "exit" và nhấn "Enter".


Bạn sẽ thấy lời nhắc quay lại máy chủ của bạn. Tuy nhiên, container vẫn đang chạy. Nếu bạn muốn tắt container, hãy sử dụng lệnh dừng.

Mã nguồn [Chọn]
distrobox stop Arch-Db-1

Bạn cần xác nhận rằng bạn thực sự muốn dừng vùng chứa.

Để xem bạn đã tạo vùng chứa nào, hãy sử dụng lệnh danh sách.

Mã nguồn [Chọn]
distrobox list

Màu sắc được sử dụng để làm nổi bật container nào đang chạy và container nào không.

Bạn có thể xóa, như khi xóa, vùng chứa bằng lệnh distrobox rm.

Mã nguồn [Chọn]
distrobox rm OpenSuse-1

9. Bất kỳ ứng dụng nào, từ bất kỳ phân phối nào

Bởi vì bạn có thể tạo bao nhiêu vùng chứa tùy thích, mỗi vùng chứa có thể chứa một bản phân phối Linux khác nhau và mỗi vùng chứa có thể chứa bất kỳ số lượng ứng dụng nào nên hoán vị là vô tận.

Không còn lý do gì để bỏ lỡ bất kỳ ứng dụng nào từ bất kỳ bản phân phối nào.