Qual é a diferença entre um PPA e um repositório?

46

Postei recentemente uma resposta em que escrevi adicione o PPA . Mas agora percebo que não tenho ideia de qual é a diferença entre um PPA e um repositório . Então alguém pode me explicar isso?

Alvar
fonte
Para PPA, consulte: askubuntu.com/questions/4983/…
Takkat

Respostas:

14

Repositórios

Em sistemas como o Ubuntu, a maioria dos softwares é empacotada em arquivos .deb (ou .rpm, como no Red Hat) que contêm os programas e bibliotecas que você precisa. Esses arquivos podem ser baixados ou fornecidos em CDs (o CD do Ubuntu está cheio deles). Repositórios são servidores que contêm conjuntos de pacotes .

PPA

O Personal Package Archives (PPA) permite que você faça o upload de pacotes de origem Ubuntu para serem criados e publicados como um repositório apt pelo Launchpad .

Consulte também O que são PPAs e como os uso?

Resumindo:

  • Um repositório possui pacotes.
  • PPAs são pacotes (/ coleções de software).
  • A Barra de Ativação possui um repositório que contém PPAs (/ coleções de software).
Rinzwind
fonte
4
Um PPA não é apenas um repositório ou software selecionado e mantido por um indivíduo ou grupo? (que não estão diretamente relacionados aos devlopers Canonical ou oficiais do Ubuntu). Um PPA é como um repositório e não um único pacote.
Fahad Yousuf
11
Um PPA não é um pacote, é um repositório. Cada PPA pode conter vários pacotes. A barra de ativação é (ou melhor, hospeda) uma coleção de repositórios chamados PPAs.
Gilles 'SO- stop being evil'
uma explicação tão clara. Assim, a explicação mais clara seria Repository é C: // ProgramFiles e PPA são as pastas de programas instalados em que
Abhimanyu Aryan
@AbhimanyuAryan Não, C: \ ProgramFiles não é nada como um repositório, e os diretórios nele não são como PPAs. A menos que você esteja criando uma metáfora, nesse caso eu devo ter entendido errado.
Wjandrea
Esta resposta está errada. PPAs não são pacotes, são repositórios. Devo consertar?
Reinier Post 08/04
66

Eu tenho que discordar da resposta aceita para esta pergunta. Eu teria escrito o seguinte como um comentário para essa resposta, mas é muito longo.

  • Um repositório é uma coleção de pacotes, hospedados em um servidor arbitrário.
  • Um PPA também é uma coleção de pacotes, hospedados nos servidores da Barra de Ativação.

    Em particular, um PPA não é um pacote único, pois esse ponto formulado de maneira muito ambígua "PPAs são pacotes (/ coleções de software)". na resposta aceita pode levar a acreditar. Além disso, um pacote não é (necessariamente) uma coleção de software , o que torna esse ponto ainda mais confuso.

  • Assim, um PPA é um tipo especial de repositório. Como um quadrado, é um tipo especial de retângulo.

A principal diferença é o hoster. Basicamente, se você é um programador e deseja desenvolver e distribuir seus próprios pacotes e possui seu próprio servidor raiz na Internet, pode configurar seu próprio repositório nele. Ótimo! Mas e se você não tiver um servidor raiz e não quiser pagar por um, mas ainda desejar desenvolver e distribuir seus próprios pacotes? Bem, há o Launchpad. Está oferecendo PPAs como um serviço exatamente para esse caso de uso. Basicamente, você pode criar seu próprio repositório no Launchpad e gerenciar seus próprios pacotes lá.

Vamos dar uma olhada em um exemplo ilustrativo.

  1. Primeiro, suponha que você queira instalar o MATE Desktop Environment (um fork do Gnome 2) no Ubuntu Saucy Salamander. Ele não está contido nos repositórios oficiais, nem os desenvolvedores mantêm um PPA. Em vez disso, eles têm seu próprio repositório. Você pode adicioná-lo assim:

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

    Isso resultaria na adição da seguinte entrada a /etc/apt/sources.list:

    deb http://packages.mate-desktop.org/repo/ubuntu saucy main
    
  2. Segundo, suponha que você também queira dar uma olhada no Cinnamon (outro garfo do Gnome 2). Isso está contido nos repositórios oficiais desde 13.04, mas ainda existe um PPA mantido pelos desenvolvedores, útil por exemplo, se você estiver interessado em obter novos lançamentos mais rapidamente. Você pode adicioná-lo assim:

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

    Isso resultaria na adição da seguinte entrada a /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
    

    Como você pode ver, a última entrada é bastante semelhante à feita no ponto (1). De fato, ambos são apenas URLs de repositórios da perspectiva do Ubuntu.

  3. De fato, você pode até adicionar o PPA Cinnamon com a mesma sintaxe do ponto (1) , embora essa não seja a maneira típica de adicionar PPAs:

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

    Isso resultaria na adição da seguinte entrada a /etc/apt/sources.list:

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

    Esta é exatamente a mesma entrada que no ponto (2). Somente os arquivos para os quais essas entradas são gravadas são tratados de maneira um pouco diferente, mas, no final, não faz diferença real. Nos dois casos, você terminará com os pacotes do Cinnamon PPA disponíveis no seu sistema, sempre após o canônico sudo apt-get update, é claro.

Malte Skoruppa
fonte
De acordo com o manual do add-apt-repositoryXenial, se o ppa:<user>/<ppa-name>formulário for usado, "A chave pública GPG do PPA recém-adicionado também será baixada e adicionada ao chaveiro do apt". Suponho que não seja esse o caso, se o formulário da URL for usado. Na verdade, o manual não informa que você pode usar o tipo de formulário de URL usado em 1 e 3, mas "uma linha que pode ser adicionada diretamente ao sources.list". No entanto, a forma que você usa parece funcionar.
31416 jarno
1
@jarno Sim, a página de manual de add-apt-repositoryfato é incompleta a esse respeito. Use add-apt-repository --helppara verificar se o formulário de URL que usei em 1 e 3 está realmente correto e é uma opção possível. Além disso, sua suposição está absolutamente correta: a chave pública GPG de um PPA não será adicionada ao usar o formulário de URL. Essa é uma adição útil, obrigado! :) Observe que eu não recomendo usar o formulário descrito em 3 para adicionar CAE. Foi apenas uma ilustração para mostrar que, de fato, um PPA é simplesmente um tipo específico de repositório.
Malte Skoruppa 29/11
10

Não há diferenças técnicas entre um repositório e um PPA no que diz respeito ao APT. Ambos são repositórios de software que oferecem pacotes, do ponto de vista do APT são os mesmos mecanismos de instalação de pacotes.

O PPA é um repositório de pacotes que usa o Launchpad como back-end. É apenas outro nome para a mesma coisa, que é (pelo menos em princípio) normalmente usado por motivos pessoais, o que automatiza a maioria das operações que você precisava realizar manualmente ou configurar seus próprios serviços.

Repositórios estão onde quer que haja software; nesse caso, listas de pacotes e pacotes a serem instalados nas distribuições baseadas no Debian.

Você pode ter seu repositório pessoal, sem o uso da Barra de Ativação, que pode ser chamada de PPA, porque é Pessoal.

A única diferença no uso está unicamente na sintaxe da add-apt-repositoryqual usa a palavra-chave mágica, em ppa:vez de forçar o usuário a escrever a URL completa necessária para repositórios que não são da Barra de Ativação.

Braiam
fonte
9

Um repositório é uma coleção de vários softwares que permitem que softwares como apt-get, aptitude etc. baixem e instalem o referido software. Seu conteúdo é visível para inspeção por todos. Leia a Página de Ajuda do Ubuntu nos repositórios para obter iluminação.

Os PPAs são repositórios especiais de software que ainda não foram adotados para toda a comunidade pela liderança da distro. O software PPA pode ter defeitos e pode até ser usado para malware, porque eles não são amplamente revisados ​​como os repositórios gerais. Para obter mais informações, consulte a explicação dos PPAs do Launchpad e esta discussão sobre PPAs .

mr2k
fonte
8

Repositório é um local em que o pacote é armazenado ou mantido para download ou atualização. Esses são servidores que contêm conjuntos de pacotes.

Um PPA (Personal Package Archive) é um repositório de software especial para fazer upload de pacotes de origem a serem construídos e publicados como repositório APT pelo Launchpad ou um aplicativo semelhante. Principalmente é mantido por pessoas que não são desenvolvedores oficiais do Ubuntu

g_p
fonte