Sự khác biệt giữa PPA và kho lưu trữ là gì?


46

Gần đây tôi đã đăng một câu trả lời nơi tôi đã viết thêm PPA . Nhưng bây giờ tôi nhận ra rằng tôi không biết sự khác biệt giữa PPAKho lưu trữ là gì. Vì vậy, ai đó có thể vui lòng giải thích cho tôi?


Đối với PPA, hãy xem: askubfox.com/questions/4983/ Lần
Takkat

Câu trả lời:


14

Kho lưu trữ

Trên các hệ thống như Ubuntu, hầu hết các phần mềm được đóng gói trong các tệp .deb (hoặc .rpm, như trong Red Hat) có chứa các chương trình và thư viện bạn cần. Các tệp này có thể được tải xuống hoặc đi vào đĩa CD (CD của Ubuntu chứa đầy chúng). Các kho lưu trữ là các máy chủ chứa các bộ gói .

PPA

Lưu trữ gói cá nhân (PPA) cho phép bạn tải lên các gói nguồn Ubuntu sẽ được xây dựng và xuất bản dưới dạng kho lưu trữ apt của Launchpad .

Xem thêm PPA là gì và làm cách nào để sử dụng chúng?

Tóm lại:

  • Một kho lưu trữ có các gói.
  • PPA là các gói (/ bộ sưu tập phần mềm).
  • Launchpad có một kho chứa PPAs (/ bộ sưu tập phần mềm).

4
Không phải PPA chỉ là kho lưu trữ hoặc phần mềm được lựa chọn và duy trì bởi một cá nhân hoặc nhóm? (những người không liên quan trực tiếp đến các nhà phát triển Ubuntu chính thức hoặc Canonical). Một PPA giống như một kho lưu trữ và không phải là một gói duy nhất.
Fahad Yousuf

11
PPA không phải là một gói, nó là một kho lưu trữ. Mỗi PPA có thể chứa nhiều gói. Launchpad là (hoặc đúng hơn là máy chủ) một tập hợp các kho lưu trữ được gọi là PPA.
Gilles 'SO- đừng trở nên xấu xa'

như một lời giải thích rõ ràng Vì vậy, giải thích rõ ràng hơn sẽ là Kho lưu trữ là C: // ProgramFiles và PPA là các thư mục chương trình được cài đặt trong đó
Abhimanyu Aryan

@AbhimanyuAryan Không, C: \ ProgramFiles không giống như repo, quảng cáo các thư mục trong đó không có gì giống như PPA. Trừ khi bạn tạo ra một phép ẩn dụ, trong trường hợp đó tôi phải bỏ lỡ điểm.
wjandrea

Câu trả lời này là sai. PPAs không phải là gói, chúng là kho. Tôi sẽ sửa nó chứ?
Tăng cường bài

66

Tôi phải không đồng ý với câu trả lời được chấp nhận cho câu hỏi này. Tôi đã có thể viết như sau như một bình luận cho câu trả lời đó, nhưng nó quá dài.

  • Kho lưu trữ là một tập hợp các gói, được lưu trữ trên một máy chủ tùy ý.
  • PPA cũng là một tập hợp các gói, được lưu trữ trên các máy chủ Launchpad.

    Cụ thể, PPA không phải là một gói duy nhất, vì điểm được đặt rất mơ hồ "PPA là các gói (/ bộ sưu tập phần mềm)." trong câu trả lời được chấp nhận có thể dẫn đến tin tưởng. Ngoài ra, một gói không (nhất thiết) là một bộ phần mềm , khiến cho điểm đó càng trở nên khó hiểu hơn.

  • Do đó, PPA là một loại kho lưu trữ đặc biệt. Giống như một hình vuông là một loại hình chữ nhật đặc biệt.

Sự khác biệt chính là hoster. Về cơ bản, nếu bạn là một lập trình viên và muốn phát triển và phân phối các gói của riêng bạn và bạn có máy chủ gốc của riêng mình trên Internet, bạn có thể thiết lập kho lưu trữ của riêng mình trên đó. Tuyệt quá! Nhưng điều gì sẽ xảy ra nếu bạn không có máy chủ gốc và bạn không muốn trả tiền cho một máy chủ mà vẫn muốn phát triển và phân phối các gói của riêng mình? Chà, vậy thì có Launchpad. Đó là cung cấp PPA như một dịch vụ cho chính xác trường hợp sử dụng đó. Về cơ bản, bạn có thể tạo kho lưu trữ của riêng mình trên Launchpad và quản lý các gói của riêng bạn ở đó.

Chúng ta hãy xem một ví dụ minh họa.

  1. Trước tiên, giả sử bạn muốn cài đặt MATE Desktop Môi trường (một ngã ba Gnome 2) trên Ubuntu Saucy Salamander. Nó không có trong các bản chính thức, các nhà phát triển cũng không duy trì PPA. Thay vào đó, họ có repo riêng. Bạn có thể thêm nó như vậy:

    $ sudo add-apt-repository http://packages.mate-desktop.org/repo/ubuntu
    

    Điều này sẽ dẫn đến mục sau đây được thêm vào /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. Thứ hai, giả sử bạn cũng muốn có một cái nhìn về Cinnamon (một ngã ba Gnome 2 khác). Điều này có trong các bản chính thức kể từ ngày 13.04, nhưng vẫn có một PPA được duy trì bởi các nhà phát triển, chẳng hạn, hữu ích nếu bạn quan tâm đến việc phát hành bản phát hành mới nhanh hơn. Bạn có thể thêm nó như vậy:

    $ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable
    

    Điều này sẽ dẫn đến mục sau đây được thêm vào /etc/apt/sources.list.d/gwendal-lebihan-dev-cinnamon-stable-saucy.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    Như bạn có thể thấy, mục nhập sau khá giống với mục được thực hiện tại điểm (1). Trên thực tế, cả hai chỉ là URL của các kho lưu trữ theo quan điểm của Ubuntu.

  3. Trên thực tế, bạn thậm chí có thể thêm PPA quế với cú pháp tương tự như ở điểm (1) , mặc dù đây không phải là cách điển hình để thêm PPA:

    $ sudo add-apt-repository http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu
    

    Điều này sẽ dẫn đến mục sau đây được thêm vào /etc/apt/sources.list:

    deb http://ppa.launchpad.net/gwendal-lebihan-dev/cinnamon-stable/ubuntu saucy main
    

    Đây là mục chính xác giống như trong điểm (2). Chỉ các tệp mà các mục này được viết để xử lý hơi khác nhau, nhưng cuối cùng, nó không tạo ra sự khác biệt thực sự. Trong cả hai trường hợp, bạn sẽ kết thúc với các gói từ Cinnamon PPA có sẵn trên hệ thống của bạn, luôn luôn sau khi chuẩn sudo apt-get update, tất nhiên.


Theo hướng dẫn add-apt-repositorytrong Xenial, nếu ppa:<user>/<ppa-name>biểu mẫu được sử dụng, "Khóa công khai GPG của PPA mới được thêm vào cũng sẽ được tải xuống và thêm vào khóa của apt." Tôi cho rằng đây không phải là trường hợp, nếu hình thức URL được sử dụng. Trên thực tế, hướng dẫn không cho biết bạn có thể sử dụng loại biểu mẫu URL bạn sử dụng trong 1 và 3, nhưng "một dòng có thể được thêm trực tiếp vào nguồn.list". Tuy nhiên, hình thức bạn sử dụng dường như làm việc.
jarno

1
@jarno Vâng, trang chủ của add-apt-repositorythực sự không đầy đủ về mặt đó. Vui lòng sử dụng add-apt-repository --helpđể thấy rằng mẫu URL tôi đã sử dụng trong 1 và 3 thực sự chính xác và là một tùy chọn có thể dự định. Hơn nữa, giả định của bạn là hoàn toàn chính xác: Khóa công khai GPG của PPA sẽ không được thêm khi sử dụng biểu mẫu URL. Đó là một bổ sung hữu ích, cảm ơn! :) Xin lưu ý rằng tôi không khuyên bạn nên sử dụng biểu mẫu được mô tả trong 3 để thêm PPA. Nó chỉ có ý nghĩa như một minh họa để chỉ ra rằng trên thực tế, PPA chỉ đơn giản là một loại kho lưu trữ cụ thể.
Malte Skoruppa

10

Không có sự khác biệt về kỹ thuật giữa kho lưu trữ và PPA khi có liên quan đến APT. Cả hai đều là kho phần mềm cung cấp các gói, theo quan điểm của APT là cùng một cơ chế cài đặt gói.

PPA là kho lưu trữ các gói sử dụng Launchpad làm phụ trợ. Chỉ là một tên khác cho cùng một điều, đó là (ít nhất là về nguyên tắc) thường được sử dụng vì lý do cá nhân, tự động hóa hầu hết các hoạt động mà bạn phải thực hiện thủ công hoặc thiết lập các dịch vụ của riêng bạn.

Kho lưu trữ là bất cứ nơi nào có phần mềm, trong trường hợp này, danh sách gói và gói được cài đặt trong các bản phát hành dựa trên Debian.

Bạn có thể có kho lưu trữ cá nhân của mình mà không cần sử dụng Launchpad và nó có thể được gọi là PPA, vì là Personal.

Sự khác biệt duy nhất trong cách sử dụng chỉ nằm ở cú pháp add-apt-repositorysử dụng từ khóa ma thuật ppa:thay vì buộc người dùng phải viết url đầy đủ cần thiết cho các kho lưu trữ không phải là Launchpad.


9

Một kho là một tập hợp các phần mềm khác nhau cho phép phần mềm tương tự như apt-get, aptitude vv để tải về và cài đặt phần mềm cho biết. Nội dung của họ có thể nhìn thấy để kiểm tra bởi tất cả. Đọc Trang trợ giúp Ubuntu về kho lưu trữ để giác ngộ.

PPA là kho lưu trữ đặc biệt cho phần mềm chưa được lãnh đạo distro áp dụng cho toàn bộ cộng đồng. Phần mềm PPA có thể có lỗi và thậm chí có thể được sử dụng cho phần mềm độc hại vì chúng không được xem xét rộng rãi như các kho lưu trữ chung. Để biết thêm, hãy xem phần giải thích về PPA của Launchpadthảo luận về PPA này .


8

Kho lưu trữ là nơi gói được lưu trữ hoặc duy trì để tải xuống hoặc cập nhật. Đây là các máy chủ chứa các bộ gói.

Một gói cá nhân Lưu trữ (PPA) là một kho lưu trữ phần mềm đặc biệt đối với các gói mã nguồn tải lên sẽ được xây dựng và công bố như là một kho lưu trữ APT bởi Launchpad hoặc một ứng dụng tương tự. Chủ yếu được duy trì bởi những người không phải là nhà phát triển Ubuntu chính thức

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.