Flatpak trong Linux là gì và bạn cài đặt một Flatpak như thế nào?

Tác giả sysadmin, T.Bảy 19, 2023, 01:45:04 CHIỀU

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

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

Flatpak trong Linux là gì và bạn cài đặt một Flatpak như thế nào?


Flatpaks là một cách thuận tiện, không phân phối, để cài đặt các ứng dụng Linux. Với hộp cát ứng dụng và các gói phụ thuộc, chúng cũng tránh được địa ngục phụ thuộc. Hầu hết các bản phân phối đều hỗ trợ Flatpak nhưng trên Ubuntu, trước tiên bạn cần cài đặt khung Flatpak.


Flatpak là một cách không phân phối để cài đặt các ứng dụng vào máy tính Linux của bạn. Nhưng nếu bản phân phối của bạn đã có cách riêng để cài đặt ứng dụng, tại sao bạn lại bận tâm sử dụng Flatpaks?

1. Flatpak là gì?

Flatpak là tên của một định dạng gói được sử dụng để cài đặt các ứng dụng một cách dễ dàng và đáng tin cậy trên bất kỳ bản phân phối Linux nào. Cũng giống như AppImages và Snaps, bộ chứa Flatpaks đi kèm với tất cả các thành phần phụ thuộc bắt buộc và các ứng dụng được cài đặt dưới dạng Flatpaks cũng có thể tự cập nhật. Bạn có thể tìm thấy chúng.

Tất cả các bản phân phối Linux đều cần một cách để cài đặt ứng dụng. Đó là lý do tại sao các công cụ như apt của Debian, dnf của Fedora và pacman của Arch tồn tại. Không cần thiết, tất cả họ đều làm điều tương tự theo những cách hơi khác nhau.

Chúng cho phép người dùng cài đặt các gói phần mềm bằng cách lấy lại các gói được gói đặc biệt từ kho lưu trữ. Gói trên gói bao gồm thông tin về cách các tệp tạo nên gói---tệp thực thi, tệp dữ liệu, trang người dùng, v.v.---nên được sao chép vào các vị trí khác nhau trong hệ thống tệp Linux và những quyền nào sẽ được cấp. áp dụng cho họ.

Từ quan điểm của nhà phát triển, gói và phát hành phiên bản ứng dụng của họ theo từng định dạng trình quản lý gói khác nhau là một nhiệm vụ lớn. Ngay cả khi họ quyết định chỉ hỗ trợ ba hoặc bốn định dạng hàng đầu, điều đó vẫn có thể khiến họ bị cạn kiệt sự phát triển và chi phí hỗ trợ đáng kể.

Các nhà phát triển thà làm việc trên mã của riêng họ hơn là vật lộn với sự phức tạp của một tập hợp các định dạng gói. Sẽ tốt hơn biết bao nếu có một định dạng cài đặt phổ quát. Các nhà phát triển có thể đóng gói các ứng dụng của họ một lần và người dùng của bất kỳ bản phân phối nào cũng có thể sử dụng nó.

Thứ gần nhất mà chúng tôi có được với chén thánh đó là mã nguồn, đây chính là phản đề của một ứng dụng được bao bọc. Điều đó có nghĩa là bạn tải xuống mã nguồn và các thành phần khác của ứng dụng và xây dựng nó trên máy của riêng bạn. Là một phương pháp, nó hoạt động nhưng không nhanh và cũng không đặc biệt tiện lợi, và bạn cần biết mình đang làm gì. Điều đó khiến nó nằm ngoài tầm với của hầu hết những người mới đến với thế giới Linux.

Flatpaks là một nỗ lực để tạo ra một định dạng gói chung. AppImages và Snaps là các dự án cạnh tranh có cùng mục tiêu. Flatpak làm được nhiều việc hơn là giảm áp lực cho các nhà phát triển trong việc hỗ trợ nhiều định dạng gói. Chúng chứa cả ứng dụng và tất cả các phần phụ thuộc của nó, vì vậy ứng dụng sẽ không chạy được do thư viện bị thiếu hoặc không khớp chẳng hạn. Các ứng dụng được cài đặt dưới dạng Flatpaks cũng được cập nhật tự động.

Trên hết, các ứng dụng Flatpak chạy trong một loại hộp chứa nhỏ, được đóng hộp cát từ các ứng dụng khác---kể cả các phiên bản khác của cùng một ứng dụng. Bạn có thể cài đặt nhiều bản phát hành của một ứng dụng mà không có sự phụ thuộc của một phiên bản can thiệp lẫn nhau. Điều đó làm cho cuộc sống của nhà phát triển dễ dàng hơn và mượt mà hơn cho người dùng.

2. Cài đặt hỗ trợ Flatpak trên Ubuntu

Canonical (công ty đứng sau Ubuntu) rất muốn thúc đẩy người dùng của mình hướng tới Snaps, phiên bản trình cài đặt chung của riêng họ. Nhiều đến mức nó đã loại bỏ hỗ trợ sẵn có cho Flatpak trong Ubuntu 23.04 Lunar Lobster và đồng ý với các hương vị Ubuntu thay thế như Kubuntu, Lubuntu và Ubuntu Studio rằng họ cũng sẽ loại bỏ hỗ trợ Flatpak.

Tất nhiên, Linux là như vậy, bạn có thể cài đặt hỗ trợ Flatpak ngay vào Ubuntu. Gói phẳng được Manjaro và Fedora hỗ trợ ngay lập tức, vì vậy nếu bạn đang sử dụng một trong những bản phân phối đó, bạn có thể chuyển sang phần tiếp theo.

Để cài đặt Flatpak trên Ubuntu, gõ:

Mã nguồn [Chọn]
sudo apt install flatpak
Có một plugin Gnome cho phép ứng dụng Phần mềm Ubuntu cài đặt Flatpaks. Nhưng có một nhược điểm. Kể từ Ubuntu 20.04, bản thân ứng dụng Phần mềm là một Snap, vì vậy nó sẽ không hoạt động tốt với plugin Flatpak. Bạn vẫn có thể cài đặt phần bổ trợ, nhưng phần bổ trợ kéo theo một phiên bản khác, dựa trên DEB, của ứng dụng Phần mềm. Vì vậy, bạn sẽ có hai phiên bản của ứng dụng Phần mềm.

Bạn không cần plugin nếu bạn định làm việc với Flatpaks trên dòng lệnh và dòng lệnh Flatpak rất đơn giản. Tuy nhiên, nếu bạn muốn plugin, lệnh bạn cần là:

Mã nguồn [Chọn]
sudo apt install gnome-software-plugin-flatpak
Chúng ta cần báo cho hệ thống Flatpak biết nơi tìm các gói Flatpak. Chúng ta có thể thêm kho lưu trữ Flathub bằng lệnh này:

Mã nguồn [Chọn]
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Sau khi khởi động lại máy tính, bạn có thể kiểm tra xem Flatpak đã được cài đặt đúng chưa và phản hồi bằng cách kiểm tra số phiên bản của nó.

Mã nguồn [Chọn]
flatpak --version
3. Cài đặt ứng dụng Flatpak

Việc cài đặt một ứng dụng rất đơn giản, khi bạn biết tên Flatpak của gói mà bạn muốn. Có hai cách để khám phá điều này.

Tìm kiếm gói trên trang web Flathub là một cách. Chúng tôi sẽ sử dụng Discord làm ví dụ.


Khi bạn đã xác định được vị trí của nó, hãy cuộn xuống cuối trang. Bạn sẽ thấy lệnh bạn cần để cài đặt ứng dụng.


Điều này sử dụng tên Flatpak ba phần cho ứng dụng. Lưu ý rằng chúng tôi không cần đưa "flathub" vào lệnh của mình (vì chúng tôi đã thêm kho lưu trữ Flathub vào hệ thống của mình) nhưng bạn cần sử dụng cả ba phần của tên gói.

Chúng ta cũng có thể tìm kiếm trên dòng lệnh. Để tìm kiếm các gói liên quan đến Discord, hãy sử dụng lệnh này:

Mã nguồn [Chọn]
flatpak search discord

Bạn sẽ thấy một danh sách tất cả các gói có chứa thuật ngữ tìm kiếm của bạn. Tốt nhất là làm điều này với cửa sổ đầu cuối của bạn được kéo dài rộng hơn kích thước bình thường để các mục trong bảng không bị cắt bớt.

Bây giờ chúng ta đã biết tên gói, chúng ta có thể đưa ra lệnh để cài đặt nó.

Mã nguồn [Chọn]
flatpak install com.discordapp.Discord
Mọi phụ thuộc hoặc yêu cầu khác được cài đặt cùng với Flatpak. Một thanh tiến trình cho biết mức độ gần hoàn tất quá trình cài đặt.


Khi quá trình cài đặt hoàn tất, bạn sẽ quay lại dấu nhắc dòng lệnh. Bây giờ chúng ta có thể chạy ứng dụng mới của mình.

4. Chạy ứng dụng Flatpak

Lệnh chạy ứng dụng cũng giống như lệnh cài đặt với từ "install" được thay bằng "run".

Mã nguồn [Chọn]
flatpak run com.discordapp.Discord
Ứng dụng bắt đầu và Discord sẽ thực hiện các kiểm tra nâng cấp thông thường của nó.


Chẳng bao lâu, bạn sẽ thấy ứng dụng Discord mở trên màn hình của mình.


Trong GNOME, bây giờ chúng ta đã khởi chạy ứng dụng của mình, biểu tượng của nó sẽ xuất hiện trong bảng điều khiển. Nhấp chuột phải vào biểu tượng sẽ hiển thị một menu. Chọn "Ghim vào dấu gạch ngang" để tạo trình khởi chạy trong bảng điều khiển.


Bạn sẽ có thể khởi chạy ứng dụng từ đây trong tương lai.

5. Liệt kê các ứng dụng Flatpak đã cài đặt

Để xem các ứng dụng bạn đã cài đặt với Flatpak, hãy sử dụng listtùy chọn. Chúng tôi cũng đã sử dụng --app tùy chọn này để chỉ những ứng dụng chúng tôi đã cài đặt mới được liệt kê.

Mã nguồn [Chọn]
flatpak list --app

Nếu không có --apptùy chọn này, tất cả các mô-đun và phần phụ thuộc của khung công tác Flatpak cũng được liệt kê.

6. Gỡ cài đặt ứng dụng Flatpak

Gỡ cài đặt một ứng dụng dễ dàng như chạy một ứng dụng. Chỉ cần sử dụng từ "gỡ cài đặt" với lệnh flatpak.

Mã nguồn [Chọn]
flatpak uninstall com.discordapp.Discord

Ứng dụng bị xóa khỏi hệ thống của bạn và thông báo xác nhận được hiển thị.

7. Bạn có nên sử dụng Flatpaks?

Hộp cát ứng dụng và đảm bảo thực tế rằng ứng dụng sẽ chạy là những đặc điểm hấp dẫn của Flatpaks. Tuy nhiên, do Flatpak chứa tất cả các phụ thuộc mà ứng dụng cần, dấu vết của chúng lớn hơn. Thời gian bắt đầu của ứng dụng cũng tăng lên một chút.

Việc bạn sử dụng Flatpaks hay trình quản lý gói gốc đi kèm với Linux của bạn có thể phụ thuộc vào việc các ứng dụng bạn đang tìm kiếm có trong kho của bản phân phối hay không.

Tôi chưa bao giờ gặp bất kỳ ai chỉ sử dụng Flatpaks---cũng như AppImages hoặc Snaps, cho vấn đề đó. Bạn có thể sẽ chọn cách kết hợp những thứ phù hợp với mình: trình quản lý gói mặc định, Flatpaks, Snaps hoặc Appimages.

Nếu một ứng dụng cụ thể không có trong kho phân phối của bạn và bạn không muốn xây dựng từ nguồn, thì Flatpak có lẽ là lựa chọn tốt nhất cho bạn. Tôi thấy chúng nhanh hơn nhiều so với AppImages hoặc Snaps.