Chụp nhanh Ubuntu so với. đúng cách. Trình quản lý gói nào sẽ sử dụng và khi nào. TechTa

Xác định khi nào snap hoặc apt là lựa chọn tốt hơn và hệ sinh thái CNTT độc đáo của tổ chức bạn sẽ ảnh hưởng như thế nào đến quyết định của bạn

  • Gửi bài viết này đến danh bạ của bạn
Qua
  • Chris Tozzi, Sửa IO Sửa IO
Đã xuất bản. 06 tháng 6 năm 2022 06 tháng 6 năm 2022

Với snap và apt, các nhóm CNTT có thể quản lý các gói phần mềm cho khối lượng công việc chạy trên Ubuntu Linux

Mặc dù thực tế là apt và snap đều tự động cài đặt, quản lý và gỡ bỏ gói phần mềm, nhưng chúng hoạt động theo những cách khác nhau. Theo các ưu tiên CNTT của mình, apt

Gói snap là gì?

Snapcraft là tên chính thức của hệ thống quản lý các gói snap, nhưng hệ thống này thường được gọi là snap. Snap là một hệ thống quản lý gói được phát triển bởi Canonical, công ty tạo ra bản phân phối Ubuntu Linux. Snap được phát triển cho Ubuntu, nhưng vào năm 2016, Snap đã bổ sung hỗ trợ cho phần lớn các bản phân phối Linux phổ biến

Một ứng dụng được Snap đóng gói dưới dạng một kho lưu trữ bao gồm các thư viện, dữ liệu và mã nhị phân cần thiết để chạy ứng dụng cũng như mọi phụ thuộc bên ngoài

Snap giải nén kho lưu trữ và ứng dụng chạy trong môi trường hộp cát khi bạn chạy nó;

Chẳng hạn, lệnh sau sẽ được sử dụng để cài đặt trình soạn thảo văn bản gedit

_10

Bạn cũng có thể xóa các gói snap đã cài đặt bằng lệnh snap remove gedit. Khi bạn sử dụng lệnh này, snap sẽ tải xuống gói snap cho gedit từ kho lưu trữ snap được thiết lập cho hệ thống của bạn. bắt lệnh xóa gedit .

apt là gì?

Được giới thiệu vào năm 1998, apt là một công cụ quản lý gói Linux được sử dụng trên Ubuntu và một số bản phân phối Linux khác, và nó đã trở thành một lựa chọn được hỗ trợ tốt, được yêu thích để cài đặt, cập nhật và gỡ bỏ phần mềm Linux

Tương tự như cách snaps chứa mã ứng dụng, dữ liệu và thư viện cần thiết để cài đặt ứng dụng, apt quản lý các gói hoặc bản sửa lỗi Debian. Khi bạn cài đặt gói Debian bằng apt, apt sẽ tự động cài đặt các phần phụ thuộc của ứng dụng, chẳng hạn như bất kỳ phần mềm nào khác mà ứng dụng cần chạy, như được định nghĩa bởi Debs

Các ứng dụng chạy trực tiếp dưới dạng các quy trình tiêu chuẩn trên hệ thống máy chủ, thay vì chạy trong môi trường hộp cát và apt cài đặt dữ liệu vĩnh viễn trong hệ thống tệp Ubuntu, từ đó chúng được chạy

Và giống như Snap, apt sử dụng các lệnh đơn giản để cài đặt các gói

________Đầu tiên

Sử dụng lệnh apt remove gedit để xóa gói. apt remove gedit lệnh.

Sự khác biệt giữa snap và apt

Nhìn bề ngoài, snap và apt có vẻ giống nhau; . Trên thực tế, các lệnh cài đặt và gỡ bỏ trong cả apt và snap đều giống hệt nhau. Các lệnh cài đặtgỡ bỏ giống hệt nhau.

Cách mà phần mềm gói snap và apt là nơi chúng khác nhau

Snap kết hợp tất cả phần mềm cần thiết để chạy một ứng dụng, bao gồm cả các phần phụ thuộc của nó, vào một gói duy nhất, trong khi apt yêu cầu người dùng triển khai các phần phụ thuộc dưới dạng các gói riêng biệt bên cạnh gói ứng dụng

Mặc dù điều này có vẻ giống như một sự khác biệt nhỏ, nhưng nó có một số ý nghĩa quan trọng đối với cách thức hoạt động của phần mềm snap và apt

  • Các phiên bản phần mềm. Vì Apt cài đặt phần mềm trực tiếp vào hệ thống của bạn nên bạn chỉ có thể cài đặt một bản sao của mỗi ứng dụng đang hoạt động. Với snap, thật đơn giản để cài đặt nhiều phiên bản ứng dụng trên cùng một hệ thống;
  • Các gói Snap dễ tạo hơn các gói apt vì các phần phụ thuộc có thể được gộp vào gói thay vì được xác định và sau đó được giả định là có trên hệ thống của người dùng
  • Xóa gói snap sẽ xóa toàn bộ ứng dụng vì nó chứa tất cả dữ liệu và phụ thuộc của ứng dụng. Phần lớn thời gian, apt sẽ không xóa được một số dữ liệu khi bạn xóa một ứng dụng, để lại một mớ hỗn độn trên hệ thống của bạn mặc dù nó cũng xóa tất cả dữ liệu được kết nối với một ứng dụng
  • Bảo vệ. Mặc dù snap yêu cầu quyền root theo mặc định để cài đặt các gói snap vào hệ thống của bạn, nhưng theo một số cách, snaps an toàn hơn vì chúng có thể chạy mà không cần chúng. Về mặt lý thuyết, có thể giải nén gói Debian và thực thi dữ liệu với tư cách là người dùng không phải root, nhưng đó không phải là cách các gói hoạt động và nó sẽ dẫn đến nhiều lỗi và sự cố

Mặt khác, Snap mang lại trải nghiệm quản lý phần mềm đơn giản hơn, gọn gàng hơn theo tất cả các cách này, mặc dù các gói apt cũng có những lợi ích của chúng. Việc cài đặt phần mềm với apt dẫn đến việc sử dụng không gian lưu trữ hiệu quả hơn vì chúng nhỏ hơn và không gói phụ thuộc. Vì các gói ứng dụng không cần giải nén trước khi chạy nên các ứng dụng được cài đặt qua apt cũng có khả năng khởi động nhanh hơn;

Snap, tại thời điểm xuất bản, được liên kết chặt chẽ nhất với Ubuntu và mặc dù nó có thể chạy trên các bản phân phối khác nhưng nó không được cài đặt theo mặc định. Mặt khác, Apt là một hệ thống quản lý gói cũ hơn, phổ biến hơn, có một số ưu điểm. apt là một lựa chọn tốt hơn nếu bạn muốn tạo các gói có thể được sử dụng với các bản phân phối Linux khác nhau

Khi nào nên sử dụng apt hoặc snap

Snap giúp giảm bớt việc xây dựng gói và cung cấp nhiều quyền kiểm soát hơn đối với hiệu suất và quản lý gói, mang lại trải nghiệm tổng thể mượt mà hơn cho các nhóm CNTT phải tạo và triển khai phần mềm, chẳng hạn như nhóm DevOps kết hợp. Snap là một lựa chọn tốt cho các nhóm vận hành CNTT có nhu cầu quản lý gói chính xoay quanh phần mềm được tạo nội bộ. Đối với các trường hợp sử dụng mà nhóm CNTT không thể chạy phần mềm với tư cách người dùng root vì lý do bảo mật, như đã đề cập ở trên, Snap cũng là một lựa chọn

Apt cũng là một lựa chọn tốt hơn cho các doanh nghiệp chạy nhiều loại Linux do apt hỗ trợ trên hầu hết các bản phân phối Linux. Apt có lý khi hầu hết phần mềm bạn chạy trên Ubuntu đều đến từ bên thứ ba

Tuy nhiên, trong khi cả snap và apt đều có thể chạy đồng thời trên cùng một hệ thống, việc cài đặt cùng một chương trình trong cả hai gói snap và gói Debian sẽ gây lãng phí tài nguyên

Việc chọn một trình quản lý gói phù hợp phụ thuộc chủ yếu vào hệ sinh thái CNTT cụ thể của tổ chức bạn. Xác định khi nào snap hoặc apt là cuộc gọi tốt hơn

  • Chia sẻ mục này với mạng của bạn

Qua
  • Chris Tozzi, Sửa IO

Đã xuất bản. 06 tháng 6 năm 2022

Các nhóm CNTT chạy khối lượng công việc trên Ubuntu Linux không chỉ có một mà là hai trình quản lý gói phần mềm để làm việc cùng. snap và apt

Mặc dù snap và apt đều tự động cài đặt, quản lý và gỡ bỏ gói phần mềm nhưng chúng hoạt động theo những cách khác nhau. Sự lựa chọn của một tổ chức giữa snap vs. apt phụ thuộc vào các ưu tiên CNTT của nó

Gói snap là gì?

Snap là một hệ thống quản lý gói của Canonical, công ty phát triển bản phân phối Ubuntu Linux. Snapcraft là tên chính thức của hệ thống quản lý các gói snap, nhưng hệ thống này thường được gọi là snap. Mặc dù snap được tạo cho Ubuntu, nhưng nó đã được mở rộng vào năm 2016 để hỗ trợ hầu hết các bản phân phối Linux chính thống

Snap đóng gói một ứng dụng dưới dạng kho lưu trữ chứa mã nhị phân, dữ liệu và thư viện cần thiết để chạy ứng dụng nói trên, bao gồm mọi phụ thuộc bên ngoài

Khi bạn thực thi ứng dụng, hãy nhanh chóng giải nén kho lưu trữ và ứng dụng sẽ chạy trong môi trường hộp cát -- tương tự nhưng không giống với vùng chứa Docker

Ví dụ: để cài đặt trình soạn thảo văn bản gedit, bạn sẽ sử dụng lệnh bên dưới

snap install gedit

Khi bạn chạy lệnh này, snap sẽ tải xuống gói snap cho gedit từ bất kỳ kho lưu trữ snap nào được định cấu hình cho hệ thống của bạn. Bạn cũng có thể xóa các gói snap đã cài đặt bằng lệnh snap remove gedit .

apt là gì?

Apt là một công cụ quản lý gói Linux được sử dụng trên Ubuntu và nhiều bản phân phối Linux khác. Được giới thiệu vào năm 1998, apt đã trở thành một tùy chọn phổ biến, được hỗ trợ rộng rãi để cài đặt, cập nhật và gỡ bỏ phần mềm Linux

Apt quản lý các gói Debian, được gọi là debs. Giống như snaps, mỗi deb chứa mã ứng dụng, dữ liệu và thư viện cần thiết để cài đặt ứng dụng. Debs cũng xác định các phần phụ thuộc của ứng dụng, chẳng hạn như bất kỳ phần mềm nào khác mà ứng dụng yêu cầu để chạy. Khi bạn cài đặt gói Debian qua apt, apt sẽ tự động cài đặt các phần phụ thuộc của ứng dụng

Apt cài đặt dữ liệu vĩnh viễn trong hệ thống tệp Ubuntu, từ đó các ứng dụng chạy. Các ứng dụng chạy dưới dạng các quy trình tiêu chuẩn trực tiếp trên hệ thống máy chủ, thay vì trong môi trường hộp cát

Và, giống như snap, apt cài đặt các gói bằng các lệnh đơn giản

apt install gedit

Gỡ cài đặt gói bằng lệnh apt remove gedit .

Sự khác biệt giữa snap và apt

Snap và apt nhìn bề ngoài có vẻ giống nhau. Cả hai đều cho phép quản lý ứng dụng thông qua các gói và cho phép bạn cài đặt và gỡ bỏ phần mềm bằng các lệnh đơn giản. Trên thực tế, nhiều lệnh snap và apt, chẳng hạn như installremove commands, are identical.

Snap và apt khác nhau ở chỗ chúng đóng gói phần mềm như thế nào

Tuy nhiên, điểm khác biệt của snap và apt là ở cách chúng đóng gói phần mềm. Snap bao gồm mọi thứ cần thiết để chạy một ứng dụng -- bao gồm cả các phần phụ thuộc của nó -- trong một gói duy nhất, nhưng apt mong muốn người dùng triển khai các phần phụ thuộc dưới dạng các gói riêng biệt cùng với gói ứng dụng

Điều này có vẻ như là một sự khác biệt nhỏ, nhưng nó có một số ý nghĩa quan trọng đối với cách hoạt động của phần mềm snap và apt.

  • phiên bản phần mềm. Apt cài đặt phần mềm trực tiếp vào hệ thống của bạn, vì vậy bạn chỉ có thể cài đặt một phiên bản của mỗi ứng dụng đang sử dụng. Tuy nhiên, mặc dù có nhiều cách để quản lý các phiên bản ứng dụng xung đột với apt, nhưng đó không phải là một quy trình rõ ràng hoặc đơn giản. Với snap, dễ dàng cài đặt nhiều phiên bản ứng dụng trên cùng một hệ thống
  • tạo gói. Các gói Snap dễ tạo hơn các gói apt ở chỗ bạn có thể gói các phụ thuộc vào gói, thay vì xác định chúng và mong đợi rằng hệ thống của người dùng có sẵn các phụ thuộc phù hợp
  • loại bỏ gói. Bởi vì tất cả dữ liệu ứng dụng và các thành phần phụ thuộc trong gói snap đều độc lập, bạn có thể xóa toàn bộ ứng dụng bằng cách xóa snap. Mặc dù apt cũng xóa tất cả dữ liệu được liên kết với một ứng dụng, nhưng trong hầu hết các trường hợp, có rủi ro là apt sẽ không xóa được một số dữ liệu khi bạn xóa ứng dụng. Điều này để lại hành trình trên hệ thống của bạn
  • Bảo vệ. Ở một số khía cạnh, snaps an toàn hơn vì chúng có thể chạy mà không cần quyền root, mặc dù snap yêu cầu quyền root theo mặc định để cài đặt các gói snap vào hệ thống của bạn. Debs yêu cầu quyền root. Về mặt lý thuyết, có thể giải nén gói Debian và chạy dữ liệu với tư cách là người dùng không phải root, nhưng đó không phải là cách các gói hoạt động và nó sẽ tạo ra vô số lỗi và sự cố

Trong tất cả các khía cạnh này, snap tạo ra trải nghiệm quản lý phần mềm đơn giản hơn, gọn gàng hơn. Mặt khác, các gói apt cũng có ưu điểm của chúng. Đối với một, chúng nhỏ hơn vì chúng không gói phụ thuộc. Cài đặt phần mềm với apt giúp sử dụng không gian lưu trữ hiệu quả hơn. Các ứng dụng được cài đặt qua apt cũng có khả năng khởi động nhanh hơn vì các gói ứng dụng không cần giải nén trước khi chạy;

Ngoài ra, apt là một hệ thống quản lý gói cũ hơn, được sử dụng rộng rãi, có một số ưu điểm. Snap, tại thời điểm xuất bản, được liên kết chủ yếu với Ubuntu và mặc dù nó có thể chạy trên các bản phân phối khác, nhưng nó không được cài đặt theo mặc định. Nếu bạn muốn tạo các gói để sử dụng trên nhiều bản phân phối Linux, apt là lựa chọn tốt hơn

Khi nào nên sử dụng snap vs. đúng cách

Snap là một lựa chọn tốt cho các nhóm vận hành CNTT có nhu cầu quản lý gói chính xoay quanh phần mềm được tích hợp sẵn. Bởi vì snap giúp giảm bớt việc xây dựng gói và cung cấp nhiều quyền kiểm soát hơn đối với hiệu suất và quản lý gói, nên nó mang lại trải nghiệm tổng thể mượt mà hơn cho các nhóm CNTT phải tạo và triển khai phần mềm, chẳng hạn như nhóm DevOps kết hợp. Snap cũng là một tùy chọn cho các trường hợp sử dụng mà nhóm CNTT không thể chạy phần mềm với tư cách là người dùng gốc vì lý do bảo mật, như đã lưu ý ở trên

Apt có lý khi hầu hết phần mềm bạn chạy trên Ubuntu đều đến từ bên thứ ba. Apt cũng là lựa chọn tốt hơn cho các doanh nghiệp chạy nhiều loại Linux, với sự hỗ trợ của apt trên hầu hết các bản phân phối Linux

Nhưng bạn cũng có thể sử dụng đồng thời cả snap và apt. Chúng có thể hoạt động trên cùng một hệ thống, nhưng để cài đặt cùng một phần mềm trong cả hai gói snap và Debian sẽ gây lãng phí tài nguyên

Tôi nên sử dụng snap hay apt trong Ubuntu?

Snap, tại thời điểm xuất bản, được liên kết chủ yếu với Ubuntu và mặc dù nó có thể chạy trên các bản phân phối khác, nhưng nó không được cài đặt theo mặc định. Nếu bạn muốn tạo các gói để sử dụng trên nhiều bản phân phối Linux, apt là lựa chọn tốt hơn .

Snap có phải là trình quản lý gói không?

Snap là một hệ thống triển khai và đóng gói phần mềm do Canonical phát triển cho các hệ điều hành sử dụng nhân Linux và hệ thống init systemd

Điều nào sau đây là sự kết hợp chính xác của phần mềm quản lý gói được sử dụng trong Ubuntu?

Thích hợp . Lệnh apt là một công cụ dòng lệnh mạnh mẽ, hoạt động với Công cụ đóng gói nâng cao [APT] của Ubuntu, thực hiện các chức năng như cài đặt các gói phần mềm mới, nâng cấp các gói phần mềm hiện có, cập nhật chỉ mục danh sách gói và thậm chí nâng cấp toàn bộ Ubuntu .

Trình quản lý gói mặc định cho Ubuntu Linux là gì?

Trình quản lý gói mặc định cho Ubuntu là apt-get . Hệ điều hành Linux sử dụng một công cụ phần mềm được gọi là trình quản lý gói để đảm bảo phần mềm được cài đặt chính xác và cập nhật. Nó cũng giữ một danh sách hiện tại của phần mềm có sẵn, được lưu trữ bên ngoài trong cơ sở dữ liệu được gọi là kho lưu trữ.

Chủ Đề