Mọi thứ bạn cần biết về Snap và Snap Store

Mọi thứ bạn cần biết về Snap và Snap Store

Trình quản lý gói là một tập hợp các dịch vụ tích hợp hỗ trợ cài đặt, cập nhật, gỡ bỏ và cấu hình các gói / chương trình trên máy tính.





Nói cụ thể về hệ điều hành Linux, bạn có thể lựa chọn từ một loạt các trình quản lý gói, chẳng hạn như APT, YUM, RPM và Pacman. Mỗi trình quản lý gói này có một số tính năng riêng biệt làm cho chúng khác biệt với các gói khác.





Tuy nhiên, một trình quản lý gói tương đối mới, Snap, đã nổi lên như một giải pháp thay thế khả thi cho các trình quản lý gói truyền thống. Hãy cùng xem Snap, những ưu và nhược điểm của nó cũng như cách cài đặt và sử dụng nó trên Linux.





Snap là gì?

Snap là một hệ thống đóng gói và triển khai đa nền tảng được phát triển bởi Canonical, nhà sản xuất Ubuntu, cho nền tảng Linux. Nó tương thích với hầu hết các bản phân phối Linux chính, bao gồm Ubuntu, Debian, Arch Linux, Fedora, CentOS và Manjaro.

Snap bao gồm ba thành phần cơ bản:



1. Snaps

Cũng giống như bất kỳ trình quản lý gói nào khác, Snap cũng có các gói được gọi là snaps. Các gói này, không giống như các gói đối ứng của chúng từ các trình quản lý gói truyền thống, không phụ thuộc và dễ cài đặt.

Snaps kết thúc bằng .snap phần mở rộng, về cơ bản là một hệ thống tệp nén sử dụng định dạng SquashFS và chứa toàn bộ mô-đun gói, bao gồm ứng dụng, các thư viện phụ thuộc và siêu dữ liệu bổ sung.





2. Snapd

Snapd (hoặc snap daemon) sử dụng siêu dữ liệu snap để thiết lập hộp cát an toàn cho các ứng dụng trên hệ thống của bạn. Vì nó là một daemon nên toàn bộ nhiệm vụ duy trì và quản lý môi trường snap sẽ diễn ra ở chế độ nền.

phải làm gì nếu điện thoại của bạn bị nghe trộm

3. Cửa hàng Snap

Snaps nằm trong Snap Store và bạn có thể khám phá và tải chúng xuống giống như cách bạn làm với các trình quản lý gói khác. Ngoài ra, bạn cũng có tùy chọn xuất bản các gói snap của riêng mình trực tiếp lên Snap Store, điều này không thể thực hiện được với các trình quản lý gói truyền thống.





Bên cạnh những yếu tố này, Snap còn có một thành phần thiết yếu khác được gọi là kênh . Một kênh chịu trách nhiệm xác định phiên bản snap nào được cài đặt và theo dõi các bản cập nhật trên hệ thống của bạn. Do đó, khi bạn cài đặt hoặc cập nhật snaps, bạn có khả năng chỉ định kênh bạn muốn tiếp tục cho từng thao tác này.

Tóm lại:

  • Búng : Được sử dụng để chỉ cả định dạng gói ứng dụng và giao diện dòng lệnh.
  • Snapd : Một daemon Snap giúp quản lý và duy trì các snaps.
  • Cửa hàng Snap : Trang chủ của tất cả các snaps; cho phép bạn tải lên snaps của riêng mình và khám phá và cài đặt snaps mới.
  • Snapcraft : Một khuôn khổ giúp bạn xây dựng các snaps của riêng mình.

Snap: Tốt và xấu

Kể từ khi Canonical công bố Snap, cộng đồng Linux đã xôn xao về việc liệu Snap có phải là cách tiếp cận phù hợp để cải thiện phân phối gói trên Linux hay không. Điều này đã làm nảy sinh hai phe đối lập: một phe ủng hộ Snap và phe còn lại chỉ trích cách tiếp cận của nó trong thời gian dài.

Dưới đây là bảng phân tích mọi thứ tốt và xấu về Snap.

Ưu điểm của việc sử dụng Snap

  1. Snaps đi kèm với các phụ thuộc (thư viện) tạo điều kiện truy cập tức thì vào một chương trình, vì bạn không còn phải cài đặt thủ công các phụ thuộc bị thiếu để làm cho nó hoạt động trên hệ thống của bạn.
  2. Mỗi snap chạy theo cách riêng của nó hộp đựng cát để tránh can thiệp vào các gói hệ thống khác. Do đó, khi bạn loại bỏ snap, hệ thống sẽ loại bỏ tất cả dữ liệu của nó, bao gồm cả các phần phụ thuộc, mà không ảnh hưởng đến các gói khác. Không cần phải nói, điều này cũng cung cấp một môi trường an toàn hơn vì một gói không thể truy cập thông tin của gói khác.
  3. Cập nhật nhanh chóng tự động chụp theo các khoảng thời gian đã định. Do đó, bạn luôn chạy phiên bản mới nhất của chương trình trên hệ thống của mình.
  4. Snap giúp các nhà phát triển phân phối phần mềm của họ trực tiếp đến người dùng dễ dàng hơn, vì vậy họ không phải đợi bản phân phối Linux của họ tung ra.
  5. Thêm vào điểm trước đó, một lợi thế khác của việc đặt các nhà phát triển chịu trách nhiệm đóng gói và phân phối phần mềm của họ là họ không phải tạo các gói phân phối cụ thể, vì nó đi kèm với các phụ thuộc bắt buộc.

Nhược điểm của Snap

  1. Vì snaps đi kèm với các phụ thuộc, chúng có kích thước lớn hơn và chiếm nhiều dung lượng đĩa hơn so với các bản sao của chúng từ các trình quản lý gói khác.
  2. Do các phụ thuộc đi kèm, snaps được phân phối dưới dạng hình ảnh hệ thống tệp nén và bạn cần phải gắn kết chúng trước khi cài đặt. Do đó, snaps chạy chậm hơn các gói truyền thống.
  3. Mặc dù Snap cho phép các nhà phát triển phân phối các snaps của họ trực tiếp cho người dùng, nhưng quy trình phân phối yêu cầu họ phải thiết lập một tài khoản với Canonical và lưu trữ snaps của họ trên đó. Điều này đi ngược lại bản chất thực sự của phương pháp mã nguồn mở bởi vì ngay cả khi phần mềm vẫn là mã nguồn mở, hệ thống quản lý gói được kiểm soát bởi một thực thể.
  4. Một nhược điểm khác của việc cho phép các nhà phát triển phân phối các gói là các gói này không được cộng đồng kiểm tra và đánh giá nghiêm ngặt và do đó có nguy cơ chứa phần mềm độc hại --- như đã thấy vài năm trở lại đây.
  5. Do thực tế là back-end của Snap vẫn là mã nguồn đóng và được kiểm soát bởi Canonical, nhiều bản phân phối Linux lớn không tham gia với ý tưởng đặt Snap làm trình quản lý gói mặc định trên hệ thống của họ.

Liên quan đến nguy cơ phần mềm độc hại, Snap hiện sử dụng tính năng kiểm tra phần mềm độc hại tự động để quét các gói do người dùng tải lên để tìm mã độc hại trước khi nó được phân phối trên Snap Store.

Liên quan: Phần mềm độc hại là gì và nó hoạt động như thế nào?

Cách cài đặt snapd trong Linux

Vì snapd là một thành phần thiết yếu của Snap nên đây là thứ đầu tiên bạn cần cài đặt trên hệ thống của mình. Tuy nhiên, nếu bạn đang chạy bất kỳ bản phân phối Linux nào sau đây, bạn đã được cài đặt sẵn snapd trên hệ thống của mình: KDE Neon, Manjaro, Ubuntu (16.04 / 4 LTS và 20.04 LTS), Zorin OS.

Trong trường hợp của một số bản phân phối Linux khác, bạn sẽ cần cài đặt snapd theo cách thủ công.

Trên Debian / Ubuntu:

sudo apt update
sudo apt install snapd

Cài đặt snapd trên CentOS và các bản phân phối dựa trên RHEL khác thật dễ dàng:

yum install epel-release
yum install snapd

Để cài đặt snapd trên Fedora:

sudo dnf install snapd

Trên Arch Linux:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Có liên quan: Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Để cài đặt snapd trên Manjaro Linux:

sudo pacman -S snapd

Sau khi cài đặt, bạn cần bật hệ thống đơn vị chịu trách nhiệm quản lý thông tin liên lạc của Snap trên (một số) bản phân phối Linux trước khi bạn có thể sử dụng Snap.

Nếu bạn đang sử dụng bản phân phối Linux không phải Ubuntu và các dẫn xuất của nó, hãy chạy lệnh sau để bật đơn vị snapd systemd:

sudo systemctl enable --now snapd.socket

Cuối cùng, khởi động lại hệ thống của bạn bằng:

sudo reboot

Tìm hiểu thêm: Cách quản lý dịch vụ hệ thống bằng lệnh systemctl

Cách sử dụng Snap trên Linux

Sử dụng Snap khá giống với việc sử dụng các trình quản lý gói khác. Vì bạn đã cài đặt snapd trên hệ thống của mình ở bước trước, nên giờ đây bạn có thể truy cập công cụ snap và tương tác với snap từ Snap Store một cách dễ dàng.

Tìm một Snap

Với Snap, bạn có thể khám phá Cửa hàng Snap và tìm các gói trên các danh mục khác nhau. Vì vậy, nếu bạn muốn tìm kiếm snaps trong một danh mục cụ thể, hãy sử dụng cú pháp lệnh sau:

snap find package_category

Ví dụ:

snap find development

Nếu bạn tình cờ gặp một gói hàng và muốn biết thêm về nó, hãy sử dụng thông tin phương thức với lệnh mặc định.

chơi game ps 2 trên máy tính
snap info package_name

Ví dụ: để trích xuất thông tin về GIMP snap:

snap info gimp

Cài đặt một Snap

Cuối cùng, khi bạn tìm thấy một snap đáp ứng yêu cầu của mình, bạn có thể cài đặt nó bằng cách chạy:

sudo snap install package_name

Sau khi cài đặt, bạn có thể tìm thấy chương trình trong Các ứng dụng menu của bản phân phối Linux của bạn. Sau đó, bạn có thể thực thi nó trực tiếp từ menu hoặc thông qua thiết bị đầu cuối bằng cách nhập tên của nó.

Danh sách Snaps đã cài đặt

Để nhận danh sách tất cả các snaps đã cài đặt trên hệ thống của bạn:

snap list

Xem thông tin phiên bản của một Snap

Để biết phiên bản hiện tại của snap, hãy chạy:

snap list package_name

Cập nhật Snaps

Snap tự động cập nhật các gói được cài đặt trên hệ thống của bạn. Để tạo điều kiện thuận lợi cho việc này, snapd, theo mặc định, được đặt để kiểm tra các bản cập nhật bốn lần một ngày. Tuy nhiên, nếu muốn, bạn có thể sửa đổi tần suất làm mới này dựa trên sở thích của mình.

Hơn nữa, nếu được yêu cầu, bạn có thể thực hiện làm mới tức thì bằng cách chạy:

snap refresh

Tương tự, bạn cũng có thể kiểm tra bản cập nhật trong tích tắc với:

sudo snap refresh package_name

Khi bạn làm như vậy, Snap sẽ kiểm tra kênh được theo dõi bằng snap để tìm phiên bản mới hơn. Nếu có bản cập nhật, nó sẽ tự động tải xuống và cài đặt.

Có liên quan: Cách cập nhật một hoặc tất cả ứng dụng trên Linux trong vài giây

Hoàn nguyên về phiên bản Snap đã sử dụng trước đây

Nếu bạn đang gặp sự cố sau khi cập nhật nhanh, bạn có thể hoàn nguyên về phiên bản trước của nó bằng cách chạy:

sudo snap revert package_name

Tắt và bật Snap

Đối với những lần bạn không sử dụng snap nhưng có thể cần đến trong tương lai, bạn có thể tắt tạm thời và bật lại khi cần thiết. Bằng cách đó, bạn không phải trải qua quá trình tẻ nhạt như gỡ cài đặt và cài đặt lại nhanh chóng.

Để vô hiệu hóa snap, hãy nhập:

sudo snap disable package_name

Khi bạn muốn kích hoạt nó, chỉ cần chạy:

sudo snap enable package_name

Loại bỏ một Snap

Cuối cùng, để xóa các snaps không sử dụng trên hệ thống của bạn mà bạn có thể sẽ không yêu cầu trong tương lai:

sudo snap remove package_name

Thiết lập thành công Snap trên Linux

Nếu bạn đã làm theo hướng dẫn này, bạn sẽ có Snap up và chạy trên hệ thống Linux của mình. Và sau đó, bạn sẽ có thể tìm và tải xuống hầu hết các gói bạn cần. Tất nhiên, như trường hợp của bất kỳ trình quản lý gói nào khác, có thể mất một thời gian để bạn làm quen với Snap. Nhưng một khi bạn hiểu rõ về nó, bạn sẽ có thể sử dụng nó một cách hiệu quả.

Tuy nhiên, điều đó nói lên rằng, có cả lợi thế và bất lợi khi sử dụng Snap mà bạn nên tính đến trước khi bắt đầu. Nếu bạn muốn một giải pháp thay thế cho Snap --- một ứng dụng phù hợp với phương pháp miễn phí và mã nguồn mở --- hãy xem Flatpaks để biết rõ hơn về trình quản lý gói nào có cửa hàng tốt hơn để tải xuống các ứng dụng Linux.

Đăng lại Đăng lại tiếng riu ríu E-mail Flathub so với Snap Store: Các trang web tốt nhất để tải xuống ứng dụng Linux

Khi bạn muốn tải xuống các ứng dụng Linux, Flathub và Snap Store so sánh như thế nào? Chúng tôi đấu chúng với nhau để tìm hiểu.

Đọc tiếp
Chủ đề liên quan
  • Linux
  • Linux
  • Người quản lý gói
Giới thiệu về tác giả Yash Wate(21 bài báo đã xuất bản)

Yash là Nhân viên viết thư tại MUO về Tự làm, Linux, Lập trình và Bảo mật. Trước khi tìm thấy niềm đam mê viết lách, anh từng phát triển web và iOS. Bạn cũng có thể tìm thấy bài viết của anh ấy trên TechPP, nơi anh ấy bao gồm các ngành dọc khác. Ngoài công nghệ, anh ấy thích nói về thiên văn học, Công thức 1 và đồng hồ.

Xem thêm từ Yash Wate

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký