Nếu là một người dùng Linux lâu năm, bạn có thể biết việc cài đặt các ứng dụng mới trước đây đã khó khăn như thế nào. Trừ khi nó được bao gồm trong trình cài đặt, nếu không bạn phải trải qua quá trình cấu hình và thực hiện cài đặt, thường là tìm kiếm các dependency bị thiếu. Các trình quản lý gói như apt và yum làm cho điều này trở nên dễ quản lý hơn, nhưng các dependency vẫn có thể làm bạn đau đầu.
Bạn có thể đã nghe nói về Snap, công cụ tuyên bố sẽ khắc phục nhiều vấn đề trong số này. Có thể bạn cũng đã nghe nói rằng Snap chỉ có trên Ubuntu, nhưng may mắn thay, điều đó không đúng.
Ứng dụng Snap là gì?
Những ứng dụng Snap, hay còn gọi là các snap, không phụ thuộc vào bản phân phối, vì vậy lý tưởng nhất là chúng sẽ chạy giống nhau trên bất kỳ hệ thống nào. Để đạt được điều này, hầu hết các dependency và runtime (thời gian hoạt động) mà ứng dụng cần để chạy đều được đưa vào trong Snap. Điều này có nghĩa là một khi bạn đã thiết lập và chạy Snap trên hệ thống của mình, việc thêm các ứng dụng cần một số dependency giờ đây sẽ dễ dàng hơn nhiều.
Snap được hỗ trợ bởi Canonical, đó là lý do tại sao nó thường được đề cập trên Ubuntu, nhưng nó có thể chạy trên bất kỳ bản phân phối Linux chính nào. Arch thậm chí còn là một bản phân phối được hỗ trợ chính thức, vì vậy Snap là một cách tuyệt vời để chạy các ứng dụng không được đóng gói cho Arch.
Cách cài đặt và thiết lập Snap trên Arch Linux
Bước 1: Cài đặt Snap trên Arch Linux
Các kho lưu trữ Arch Linux mặc định không có gói snapd; thay vào đó, bạn cần sử dụng Arch User Repository (AUR). Arch User Repository được duy trì bởi một cộng đồng những người đam mê Arch Linux và nó chứa một loạt các gói không có sẵn trên những kho lưu trữ chính thức của Arch.
Trước tiên, bạn cần cài đặt Git, nếu nó chưa có trên hệ thống của bạn. Bạn có thể cài đặt Git bằng lệnh sau:
sudo pacman -S git
Sau khi cài đặt, bạn có thể sao chép kho lưu trữ snapd vào máy của mình. snapd là daemon và runtime để quản lý các gói snap.
git clone https://aur.archlinux.org/snapd.git
Tiếp theo, di chuyển vào thư mục snapd mới được sao chép bằng lệnh cd:
cd snapd
Xây dựng và cài đặt snapd bằng tiện ích makepkg. makepkg tự động hóa việc xây dựng các gói trên Arch Linux.
makepkg -si
Làm theo lời nhắc của terminal để hoàn tất cài đặt.
Bước 2: Cấu hình service snapd
Để service snapd tự chạy sau khi khởi động, hãy chạy lệnh sau:
sudo systemctl enable --now snapd.socket
Bạn có thể kiểm tra trạng thái của service bằng cách sử dụng:
sudo systemctl status snapd
Nếu bạn đã cấu hình mọi thứ đúng cách, service sẽ chạy và được kích hoạt để load khi khởi động hệ thống.
Hơn nữa, bạn nên kích hoạt các gói snapd cổ điển bằng cách chạy:
sudo ln -s /var/lib/snapd/snap /snap
Bạn có thể cần phải đăng xuất hoặc khởi động lại hệ thống của mình để lệnh trước đó có hiệu lực.
Bước 3: Cài đặt phần mềm bằng Snap
Để liệt kê tất cả các gói được cài đặt qua snap, hãy chạy lệnh sau:
snap list
Đầu ra từ lệnh trước đó sẽ cho thấy rằng bạn chưa cài đặt bất kỳ snap nào.
Chúng ta có thể cài đặt một ứng dụng snap mẫu, gói snap hello-world. Chạy lệnh sau:
snap install hello-world
Nếu bạn chạy lại lệnh snap list, lần này nó sẽ liệt kê ứng dụng đã cài đặt.
Hãy xem các trang hướng dẫn để tìm hiểu thêm về snap và các tùy chọn lệnh của nó.
man snap
Cách gỡ cài đặt Snap trên Arch Linux
Bạn có thể sử dụng Pacman để gỡ bỏ hoặc cài đặt các gói trên Arch Linux. Chẳng hạn, để xóa snap, chỉ cần chạy lệnh sau:
sudo pacman -Rs snapd
Mẹo và thủ thuật Snap khác
Các ứng dụng Snap được tự động cập nhật theo mặc định, nhưng để cập nhật thủ công tất cả các ứng dụng, hãy chạy lệnh sau:
snap refresh
Một số ứng dụng Snap không sử dụng đường dẫn truyền thống, “/var/lib/snapd/snap”. Thay vào đó, chúng cài đặt vào “/snap”. Để có thể hỗ trợ cài đặt các ứng dụng Snap “cổ điển” này, hãy chạy lệnh sau:
ln -s /var/lib/snapd/snap /snap
Bây giờ, bạn có thể cài đặt và chạy các ứng dụng này, nhưng chúng sẽ được cài đặt cùng với tất cả những ứng dụng Snap khác của bạn. Snap phù hợp cho cả 2 loại ứng dụng này và tuân thủ tiêu chuẩn Filesystem Hierarchy Standard.
Snap không phải là công cụ duy nhất thuộc loại này. Flatpak và AppImage là hai hệ thống gói tương tự nhằm xử lý nhiều vấn đề giống nhau. Nhờ việc có hỗ trợ cho Ubuntu, Snap dường như là lựa chọn phổ biến nhất, ít nhất là cho đến thời điểm hiện tại.
Nhưng điều đó có nghĩa là Snap là lựa chọn tốt nhất không? Tham khảo bài viết: 9 trình quản lý gói Linux phổ biến nhất hiện nay để tìm câu trả lời nhé!
Chúc bạn thực hiện thành công!