Tôi có nên cài đặt các chương trình từ tarball nguồn (`.tar.gz`), từ Trung tâm phần mềm Ubuntu hoặc từ nơi khác không?


29

Có một số cách để cài đặt một ứng dụng trong Ubuntu:

  • Bạn có thể tải xuống một tarball nguồn (thường là một .tar.gzhoặc một .tar.bz2tệp) và cài đặt nó theo cách thủ công. (Xem Làm cách nào để tôi cài đặt tệp .tar.gz (hoặc .tar.bz2)? )

  • Bạn có thể tải xuống một .debtệp và cài đặt nó theo cách thủ công, bằng cách sử dụng dpkghoặc Trung tâm phần mềm.

  • Bạn có thể tìm kiếm ứng dụng trong Trung tâm phần mềm Ubuntu và cài đặt nó ở đó hoặc sử dụng aptvới kho chính thức của Ubuntu.

  • Bạn có thể tìm thấy một PPA hoặc repo của bên thứ ba và cài đặt nó từ đó.

Những ưu và nhược điểm của từng phương pháp là gì? Vui lòng thảo luận về ý nghĩa bảo mật, tần suất cập nhật và độ tin cậy của chương trình của từng phương pháp trong câu trả lời của bạn.


1
đó là rất nhiều câu hỏi trong một. Có thể tốt hơn một chút để hỏi một câu hỏi tập trung hơn. Mặc định là sử dụng Trung tâm phần mềm Ubuntu. Một so sánh / tương phản tốt sẽ là giữa các quả bóng tar (.tar.gz) và hệ sinh thái apt-get + .deb (bao gồm dòng lệnh và Trung tâm phần mềm Ubuntu).
Warren P

Nếu được hỏi dưới dạng bốn câu hỏi riêng biệt, câu trả lời sẽ / nên giống nhau cho cả bốn câu hỏi: thích cài đặt / cập nhật bằng trình quản lý pkg từ repo (bên chính hoặc bên thứ 3). Nếu đó không phải là một lựa chọn, thì bạn có thể bắt đầu tham gia vào các chuyên gia chung về điều này - nhưng tại thời điểm đó, nó có thể hiểu rõ ứng dụng nào đang được sử dụng và bạn đặc biệt muốn làm gì với nó. (Ví dụ: tôi cài đặt "java" tiêu chuẩn được cung cấp từ repo công khai, nhưng với tư cách là nhà phát triển, tôi cũng cài đặt 5 phiên bản khác nhau trong / opt / java thông qua tar.gz's).
michael

Câu trả lời:


33
  • Độ tin cậy:
    • Khi cài đặt từ tarball, phần mềm có thể cố gắng ghi đè lên phần mềm khác. Xây dựng phụ thuộc là cần thiết, và quá trình có tỷ lệ thất bại cao. Nếu bạn đang cài đặt phần mềm mà các gói trong kho phụ thuộc vào, điều này sẽ không thỏa mãn sự phụ thuộc đó vì nó không được đăng ký dpkg, trừ khi bạn sử dụng checkinstallđể tạm thời chuyển đổi nó thành gói debian. Với điều này, bạn có nguy cơ phá vỡ dpkg. Ngay cả khi mã là nguồn mở, trừ khi bạn chắc chắn rằng nó chưa bị thay đổi, bạn vẫn nên tải xuống từ một trang web đáng tin cậy. Bạn có thể cài đặt nhiều phiên bản phần mềm, miễn là nó sử dụng các thư mục khác nhau. Bạn có thể ghi đè lên tệp này trong tệp thực hiện.
    • Sử dụng gói debian sẽ đảm bảo các tệp không ghi đè lên các chương trình khác, tuy nhiên, nếu sử dụng sudo dpkg -i file.deb, phụ thuộc phải được cài đặt trước. Khi được cài đặt theo cách này, bạn sẽ không nhận được các bản cập nhật trừ khi gói cũng nằm trong kho, nhưng gói này sẽ đáp ứng các phụ thuộc yêu cầu phần mềm này. Nó cũng rất có thể sẽ cung cấp cho gói này một mục menu hoặc ít nhất là đăng ký các trang. Các gói Debian thường được thử nghiệm với Lintian, đảm bảo các gói đáp ứng hoặc vượt quá một bộ tiêu chuẩn có thể khá nghiêm ngặt, cho đến khi các tệp nhất định có bất kỳ mã thực thi nào hay không. Nhiều phiên bản của cùng một gói không thể được cài đặt. Gói được tạo không tốt có thể không cài đặt, không thể gỡ bỏ hoặc thậm chí phá vỡ DPKG, dẫn đến việc sửa chữa khó khăn, tìm kiếm điên cuồng để sao lưu hoặc thậm chí cài đặt lại nếu sự cố nghiêm trọng.
    • Sử dụng aptlà lựa chọn tốt nhất khi có thể. Các phụ thuộc sẽ được tự động tìm nạp và cài đặt, và các gói được xây dựng bằng cách sử dụng các cấu hình máy chủ xây dựng đáng tin cậy tại bảng khởi chạy, giảm thiểu các lỗi. Các gói có thể được tìm kiếm thông qua aptitudehoặc các công cụ khác như vậy và các bản cập nhật sẽ dễ dàng được tạo điều kiện thông qua trình quản lý cập nhật. Vì các phụ thuộc cũng đến từ apt, gói có nhiều khả năng tương tác với các phụ thuộc đúng cách. Các gói được kiểm tra thông qua Lintian như với các bản sửa lỗi, nhưng việc kiểm tra, kết hợp với các máy chủ xây dựng có độ ổn định cao, tạo ra các gói thậm chí ổn định hơn. Vì các gói đi qua các máy chủ xây dựng của Ubuntu, rất có thể chúng sẽ được điều chỉnh để tích hợp với phần còn lại của HĐH. Nhiều phiên bản của cùng một gói không thểđược cài đặt. Vì các máy chủ xây dựng của Ubuntu được sử dụng cho PPA, nên bạn sẽ ít bị thay đổi hơn aptdo tự động chuyển hướng.
  • Đang cập nhật:
    • Với một tarball, bạn sẽ không nhận được cập nhật, trừ khi chương trình có kiểm tra riêng cho chúng. Cùng với đó, bạn sẽ cần cài đặt các bản cập nhật đó theo cách thủ công và chúng sẽ không được hợp nhất ở một nơi duy nhất. Bạn có thể sẽ có thể nhận được mã nguồn hàng đêm hoặc thậm chí hiện tại trong một tarball để biên dịch và cài đặt. Nếu bạn cần mã cạnh chảy máu, điều đó có thể hữu ích.
    • Với debian, các gói sẽ chỉ được cập nhật nếu bạn có kho lưu trữ cho chúng. Các nhà phát triển rất có thể sẽ tạo ra các gói debian một chút phía sau nguồn cạnh chảy máu, nhưng betas thường được tìm thấy với các cuộc tranh luận trực tuyến.
    • Với apt, các gói sẽ được cập nhật rất dễ dàng. Các cập nhật được hợp nhất ở một nơi, trình quản lý cập nhật và được thực hiện tự động hoặc bán tự động. Trừ khi bạn đang sử dụng phiên bản alpha hoặc beta của Ubuntu, bạn sẽ sử dụng các phiên bản được kiểm tra tốt, ngay cả khi chúng là một hoặc hai phiên bản phía sau nguồn ngược dòng hiện tại. Các cập nhật bảo mật sẽ được đẩy ngay khi chúng được kiểm tra nhẹ để đảm bảo chúng không làm cho tình hình trở nên tồi tệ hơn. Điều này có nghĩa là bảo mật của bạn sẽ được bảo vệ với các cập nhật kịp thời, nhưng những cập nhật này sẽ được kiểm tra để tránh mất dữ liệu.
  • Bảo vệ:
    • Tarball không được ký điện tử dưới bất kỳ hình thức nào. Chúng có thể bị đọc sai hoặc sửa đổi bởi các bên thứ ba độc hại. Ngay cả khi bạn thực hiện băm (Tránh MD5), bạn vẫn nên tin tưởng chủ sở hữu của trang web và tác giả của gói, vì họ cung cấp khoản tiền SHA- hoặc MD5.
    • Các gói Debian không được ký, tuy nhiên dpkgsẽ không cho phép gói debian ghi đè lên các tệp của người khác, vì vậy một cuộc tranh luận độc hại không thể phá hủy inithoặc gây rối bằng bashcách ghi đè lên nó. Bạn nên luôn tin tưởng vào trang web và tác giả của gói.
    • aptsử dụng các khóa đã ký cho các kho lưu trữ, vì vậy chúng không thể được đọc sai mà không có cờ đỏ nào xuất hiện. Tải lên PPA được ký điện tử để những người không phải là chủ sở hữu của PPA không thể đưa ra các gói bị hỏng hoặc không an toàn. Không ghi đè lên các tập tin của gói khác cũng được thi hành. Tất nhiên, bạn nên tin tưởng PPA hoặc chủ sở hữu kho lưu trữ, vì các gói không được kiểm tra có mã độc sẽ được thực thi khi được chạy.

1
Tôi đề nghị bạn thêm Tích hợp. Các trình quản lý gói Ubuntu và thượng nguồn đảm bảo rằng các gói tham gia vào các tính năng toàn hệ thống, như hệ thống thay thế (tôi có các chương trình X có thể mở một trang web, cái mà tôi muốn là mặc định), v.v. Một cài đặt tarball thủ công thường không hoạt động theo cách đó.
Warren P

@WarrenP Tôi thực sự đã thêm nó, nhưng nó có thể không rõ ràng. Cảm ơn!
ζ--

Là "Nếu bạn đang cài đặt phần mềm mà các gói trong kho phụ thuộc vào, điều này sẽ không thỏa mãn sự phụ thuộc đó vì nó không được đăng ký với dpkg ." trong các gạch đầu tiên có nghĩa là bao gồm hội nhập ?

1
@ vasa1 Điều này liên quan đến tarball, vì Apt và dpkg sẽ kiểm tra cơ sở dữ liệu của họ, chứ không phải hệ thống tập tin, để xác định xem một gói có được cài đặt hay không. Bạn luôn có thể sử dụng checkinstallđể làm việc xung quanh đó.
ζ--

19

Câu trả lời ngắn gọn là việc cài đặt từ Trung tâm phần mềm Ubuntu thường thích hợp hơn tất cả các phương pháp khác . Tuy nhiên, đôi khi bạn có thể muốn cài đặt một chương trình từ một nơi khác.


Cài đặt từ nguồn:

  • Ý nghĩa bảo mật : Bạn cần tin tưởng vào các tác giả của phần mềm và trang web lưu trữ tải xuống. Bạn cũng nên kiểm tra xem quá trình tải xuống được thực hiện thông qua HTTPS, nếu không, bên thứ ba có thể sửa đổi tải xuống.

  • Tần suất cập nhật : Bạn sẽ luôn nhận được những thông tin mới nhất và tốt nhất! Các bản cập nhật sẽ thường xuyên như các tác giả ban đầu chọn. Tuy nhiên, bạn sẽ cần phải tự kiểm tra cập nhật.

  • Độ tin cậy : Nó có thể không đáng tin cậy như các phương pháp khác, vì phần mềm sẽ trải qua ít thử nghiệm hơn và thậm chí có thể chưa được thử nghiệm cho Ubuntu, chỉ là các bản phân phối Linux khác.

  • Dễ cài đặt và gỡ cài đặt : Khó nhất trong số các tùy chọn. Ngay cả người dùng có kinh nghiệm cũng có thể tránh tùy chọn này, vì họ thích sử dụng các gói Debian gốc, dễ quản lý hơn nhiều.

Cài đặt từ .debgói:

  • Ý nghĩa bảo mật : Tương tự như cài đặt từ nguồn.

  • Tần suất cập nhật : Tương tự như cài đặt từ nguồn.

  • Độ tin cậy : Tốt hơn một chút so với cài đặt từ nguồn. Nếu các tác giả đã cung cấp một .debgói, điều đó có nghĩa là họ có thể đã thực hiện một số thử nghiệm tối thiểu trên Debian hoặc Ubuntu.

  • Dễ cài đặt và gỡ cài đặt : Rất dễ dàng. Chỉ cần nhấp đúp chuột và nhấp vào "cài đặt"! Tương tự dễ dàng để gỡ cài đặt.

Cài đặt từ Trung tâm phần mềm Ubuntu:

  • Ý nghĩa bảo mật : Bạn cần tin tưởng vào các tác giả của phần mềm và các nhà bảo trì repo Ubuntu. Nhìn chung, điều này bảo mật tốt hơn so với cài đặt trực tiếp từ nguồn, bởi vì chương trình đã được các nhà bảo trì Debian và / hoặc Ubuntu xem xét ở một mức độ nào đó. Các nhà bảo trì Debian và / hoặc Ubuntu cũng có thể vá chương trình để sửa các lỗi bảo mật, nếu chương trình là nguồn mở.

  • Tần suất cập nhật : Các nhà bảo trì Debian và / hoặc Ubuntu chỉ chọn một số bản phát hành của phần mềm. (Ví dụ, họ chỉ có thể chọn cập nhật ổn định). Có một sự chậm trễ giữa việc phát hành một chương trình và việc đưa nó vào repos Debian và / hoặc Ubuntu. Nếu bạn muốn mới nhất và tốt nhất, đây không phải là lựa chọn tốt nhất. Nếu bạn muốn cập nhật ổn định đã được xem xét, đây là một lựa chọn tốt. Cập nhật được đề xuất tự động thông qua trình quản lý cập nhật và apt-get.

  • Độ tin cậy : Tốt hơn nhiều so với cài đặt từ nguồn, vì chương trình đã được xem xét và điều chỉnh cho Ubuntu.

  • Dễ cài đặt và gỡ cài đặt : Rất, rất dễ dàng.

Cài đặt từ PPA hoặc repo của bên thứ ba:

  • Ý nghĩa bảo mật : Bạn cần tin tưởng vào các tác giả của phần mềm và bất cứ ai duy trì PPA. Tuyệt đối ai cũng có thể lưu trữ PPA, vì vậy đừng tin tưởng PPA chỉ vì nó trên Launchpad. Người dùng có thể đã lười biếng và không xem xét phần mềm.

  • Tần suất cập nhật : Nó phụ thuộc vào PPA. Kiểm tra cập nhật rất dễ dàng.

  • Độ tin cậy : Thường kém tin cậy hơn so với cài đặt từ Trung tâm phần mềm Ubuntu. PPA có sẵn cho các chương trình chưa đáp ứng các tiêu chuẩn cho Trung tâm phần mềm Ubuntu, vì vậy chúng thực sự được đảm bảo là kém tin cậy.

  • Dễ cài đặt và gỡ cài đặt : Không khó để học và nó phù hợp với quản lý gói của Ubuntu.


1
USC chỉ là một tiền đề cho apt-getdù sao đi nữa. Chúng ta đừng biến điều này thành một cuộc tranh luận về GUI và dòng lệnh. Nếu bạn nghĩ rằng sự lựa chọn đó là đáng để thảo luận, hãy bắt đầu một câu hỏi khác.
Flimm

2
@Flimm: không hoàn toàn, USC cũng có thể cài đặt gói .deb để phù hợp hơn khi gọi USC là tiền đề cho apt-get và dpkg.
Lie Ryan

1
Tôi không nói "tranh luận", tôi đang nói "người dùng đến đây để hiểu rõ hơn, và câu hỏi này và câu trả lời này dường như không làm rõ vấn đề nhiều".
Warren P

1
@LieRyan: đồng ý.
Flimm

1
@WarrenP: Tôi không đồng ý với những gì người dùng đến đây để làm. Người dùng đến đây để quyết định nơi tải xuống và cài đặt một ứng dụng. Nếu điều đó không rõ ràng từ câu hỏi, chúng ta có thể chỉnh sửa nó. Tôi nghĩ rằng câu hỏi là rõ ràng, nếu bạn có một câu hỏi khác hữu ích hơn cho người dùng, hãy tạo một bài đăng câu hỏi mới.
Flimm
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.