Nếu một gói có sẵn như là một deb và snap, phương pháp nào là thích hợp hơn?


38

Tất nhiên đối với hầu hết các gói, câu trả lời là tầm thường: nếu đó là một số công cụ hoặc thư viện, deb là lựa chọn duy nhất, trong khi đối với một số phần mềm độc quyền thì snap là lựa chọn duy nhất.

Có vẻ như Ubuntu đang đẩy mạnh và thúc đẩy các gói Snap, trích dẫn các lợi thế trong việc đóng gói, cách ly, bảo mật, cập nhật, v.v. nhưng tất cả các ứng dụng đi kèm với Ubuntu 18.04 đều được cài đặt dưới dạng các gói gỡ lỗi.

Một ví dụ là Firefox, đây là gói nên được cập nhật vì lý do bảo mật và trong quá khứ đã có xung đột với các nhà bảo trì gói phân phối về bảo mật và thương hiệu (Iceweasel). Tuy nhiên, Canonical đã chọn gửi Firefox như một gói gỡ lỗi.

Đối với các gói có cả snap và deb, điều này đặt ra câu hỏi: Bạn nên cài đặt gói nào? Và nếu câu trả lời là nhanh, tôi có nên chủ động di chuyển cài đặt deb 'không?

Câu trả lời:


34

Nói chung, tôi sẽ nói bạn nên ở lại với DEB cho hầu hết các ứng dụng dựa trên thư viện hệ thống. Điều này có lợi thế là nếu bạn cập nhật một thư viện này, ví dụ vì lý do bảo mật, tất cả các ứng dụng sử dụng thư viện này sẽ có lợi, ngay cả khi người bảo trì ứng dụng gốc không biết về lỗ hổng.

SNAPS rất tốt trong trường hợp bạn quan tâm đến việc cập nhật các ứng dụng cụ thể mà không cập nhật toàn bộ hệ thống của mình. Ví dụ: bạn đang sử dụng bản phát hành LTS, nhưng muốn có phiên bản mới nhất của một ứng dụng cụ thể. So với PPA nơi các ứng dụng phải được biên dịch dựa trên các thư viện toàn hệ thống "cũ", trong tích tắc, các ứng dụng mang đến thư viện của riêng chúng. Điều này dễ dàng hơn cho các nhà bảo trì và có thể ngăn bạn hạ cánh xuống địa ngục phụ thuộc nếu bạn tình cờ sử dụng nhiều PPA.


" Quan tâm đến việc cập nhật các ứng dụng cụ thể mà không cập nhật toàn bộ hệ thống của bạn. " Nhưng đó không phải là PPA dành cho (đặc biệt là các ứng dụng tại launchpad.net)?
RonJohn

4
@RonJohn có, nhưng nếu bạn sử dụng ppa, các ứng dụng phải được biên dịch dựa trên các thư viện toàn hệ thống "cũ". Trong tích tắc, các ứng dụng mang đến thư viện riêng của họ. Điều này dễ dàng hơn cho những người bảo trì và có thể ngăn bạn hạ cánh xuống địa ngục phụ thuộc nếu bạn tình cờ sử dụng nhiều ppa.
Bruni

Sẽ thật tuyệt nếu bạn chỉnh sửa lời giải thích về PPA thành câu trả lời của mình.
dcorking

1
@dcorking Tôi đã chỉnh sửa câu trả lời
Bruni

17

Một trong những nhược điểm chính của snaps là cần nhiều không gian hơn vì mọi phần mềm đều có phần phụ thuộc riêng trong đó trong khi các gói deb sử dụng các phụ thuộc được chia sẻ trên toàn hệ thống, với tác động nhỏ hơn nhiều.

Tiện ích của snaps xuất hiện khi bạn muốn giữ cho hệ thống của mình cách ly (ví dụ: từ các tệp nhị phân độc quyền) hoặc chính gói đó phụ thuộc vào các phụ thuộc khác nhau từ ứng dụng bạn đã cài đặt (ví dụ gần đây hơn).


Đúng về không gian thừa, nhưng trong thế giới ngày nay, một máy tính hiện đại có quá nhiều không gian để dành cho hệ điều hành, thư viện và ứng dụng của nó. Chỉ khi bạn đang xử lý các máy tính cũ hoặc với các máy tính "nhỏ" (nghĩ rằng các thiết bị Raspberry Pi và IOT) thì không gian sẽ là một yếu tố hạn chế.
Paddy Landau

4
@PaddyLandau Tôi không thể không đồng ý nhiều hơn. Tôi nghĩ đó là một ý kiến ​​tồi tệ cần phải có, và chỉ thúc đẩy sự lãng phí
Steve Lorimer

@SteveLorimer Đối với tôi, hầu như không "lãng phí" khi sử dụng dung lượng lớn không sử dụng trên một ổ cứng hầu như trống rỗng. Đối với bạn, nó là. Chúng tôi sẽ phải cầu xin khác nhau. Các độc giả có thể tự quyết định cách tiếp cận nào.
Paddy Landau

5
@PaddyLandau tôi không thể đồng ý nhiều hơn. Tôi thường xuyên sử dụng một ssd nhỏ để lưu trữ hệ thống và một hdd lớn cho dữ liệu. Tôi không thể thấy điểm lãng phí tiền vào các tệp trùng lặp
Daniele Gamba

7
@PaddyLandau trong thế giới ngày nay chúng ta có các thiết bị di động có dung lượng lưu trữ nhỏ, chúng ta có các thiết bị internet có dung lượng lưu trữ nhỏ hơn, chúng ta có ổ SSD với hệ điều hành trên chúng để có thời gian khởi động nhanh, v.v. lãng phí là một ý kiến ​​kém trong tâm trí của tôi. Dù sao, như bạn nói, chúng ta sẽ phải cầu xin khác biệt
Steve Lorimer

4

Đây là một câu trả lời rất quan tâm.

Cá nhân tôi luôn sử dụng deb hoặc bất kỳ bao bì bao gồm nào khác. Tôi không sử dụng snaps vì tôi cảm thấy chúng giống như những khu vườn có tường bao quanh, không giống như hệ sinh thái mở mà Linux đại diện.

Tôi đã cài đặt nhầm snaps một vài lần do mô tả / siêu dữ liệu không rõ ràng / mơ hồ trong trung tâm phần mềm. Tôi thấy họ làm giảm trải nghiệm máy tính xách tay của tôi. Những người đã được gỡ bỏ kịp thời.

Nếu một ứng dụng chỉ có một gói snap, tôi không muốn sử dụng ứng dụng đó.

Tôi e ngại rằng một ngày nào đó những người chơi snapp có thể nói rằng bạn thậm chí không cần HĐH.


Vâng! Hãy nghĩ về nó, nó giống như thúc đẩy một cuộc đua lỗi (ý định chơi chữ). Tất cả dường như xuất phát từ mong muốn tăng tốc triển khai. Có chuyện gì vậy, các dev thân mến? Vũ trụ sẽ không sụp đổ!
Sri

Nhận xét trên của tôi là phản hồi bình luận của ai đó, dường như đã bị xóa. Tôi thậm chí đã làm +1 trên đó!
Sri
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.