Um repositório ppa pode ser adicionado ao /etc/apt/source.list?

12

Por sudo add-apt-repository '<deb url codename component>', um repositório é adicionado ao arquivo /etc/apt/source.list.

Por sudo add-apt-repository ppa:<user>/<ppa-name>, vi que todos os repositórios ppa foram adicionados ao /etc/apt/source.list.d dir:

$ ls /etc/apt/sources.list.d/
ferramroberto-sopcast-precise.list
ferramroberto-sopcast-precise.list.save
google-talkplugin.list
google-talkplugin.list.save
kalakris-okular-precise.list
kalakris-okular-precise.list.save
linrunner-thinkpad-extras-precise.list
linrunner-thinkpad-extras-precise.list.save
precise-partner.list
precise-partner.list.save
staticfloat-julia-deps-precise.list
staticfloat-juliareleases-precise.list
staticfloat-juliareleases-precise.list.save
telepathy-ppa-precise.list
telepathy-ppa-precise.list.save
ubuntu-wine-ppa-precise.list
ubuntu-wine-ppa-precise.list.save
venerix-blug-precise.list
venerix-blug-precise.list.save
  1. Os repositórios ppa podem ser adicionados ao final do arquivo /etc/apt/source.list?

  2. Por que os repositórios ppa são tratados de forma diferente dos não-ppa?

  3. Existem outros repositórios não-ppa tratados da mesma forma que os ppa?

  4. Irá sudo add-apt-repository '<deb url codename component>'adicionar um repositório ppa para /etc/apt/source.list, ou para alguns arquivos sob /etc/apt/source.list.d?

Tim
fonte

Respostas:

11
  1. Sim, os PPAs podem ser adicionados /etc/apt/source.list, de maneira semelhante aos repositórios debian (deb).

    deb http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main 
    deb-src http://ppa.launchpad.net/<ppa-name>/ppa/ubuntu <release-code-name> main
    

    Um exemplo para o WineHq: link do repositório ppa debian

  2. Pensei apenas em manter as coisas de alguma forma facilmente gerenciadas, deixando /etc/apt/source.listapenas para repositórios oficiais de lançamento. Todos os repositórios adicionais vão para /etc/apt/source.list.d/. Fácil de:

    1. add (criando arquivo e editando o existente, uma solução parcial para evitar duplicatas também)
    2. remover (com a análise de uma /etc/apt/source.listlinha relacionada à procura)
    3. backup / restauração (usando arquivo compactado da /etc/apt/source.list.d/pasta)
    4. evite quebrar coisas com muitas edições direcionadas /etc/apt/source.list
  3. Os PPAs são sempre adicionados à /etc/apt/source.list.d/pasta se eles foram gravados no ppa:<user>/<ppa-name>formulário.

    Referência: man add-apt-repository

    REPOSITORY STRING
           REPOSITORY can  be  either  a  line  that  can  be  added  directly  to
           sources.list(5),  in the form ppa:<user>/<ppa-name> for adding Personal
           Package Archives, or a distribution component to enable.
    
           In  the   first   form,   REPOSITORY   will   just   be   appended   to
           /etc/apt/sources.list.
    
           In  the second form, ppa:<user>/<ppa-name> will be expanded to the full
           deb  line  of  the  PPA  and   added   into   a   new   file   in   the
           /etc/apt/sources.list.d/  directory.   The  GPG public key of the newly
           added PPA will also be downloaded and added to apt's keyring.
    
           In the third form, the given distribution component will be enabled for
           all sources.
    
  4. Bem, parece apenas o PPA como atalho /etc/apt/sources.list.d/. add-apt-repositoryou apt-add-repositoryé uma ferramenta específica do Ubuntu. Tudo o que consigo pensar é apenas na decisão do Ubuntu de manter os PPA pessoais fora.

    No entanto, você pode modificá-lo para usar apenas /etc/apt/sources.list. É um script python3. Modificar /usr/bin/add-apt-repositorylinha:

    shortcut = shortcut_handler(line)
    

    substitua-o por este abaixo para resolver o formulário de atalho ppa para um formulário de linha de deb:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
user.dz
fonte
Observe que, estranhamente, repositórios que não são do PPA serão adicionados /etc/apt/sources.list.
saiarcot895
1
@ saiarcot895, acho que add-apt-repositoryfoi escrito para facilitar o trabalho com o PPA em primeiro lugar. Aqui está a descrição do commit quando foi adicionado: " novo script auxiliar" add-apt-repository "que pode ser usado para ativar um repositório a partir da linha de comando. Útil para, por exemplo, 'add-apt-repository ppa: gnome-desktop' ". bazaar.launchpad.net/~ubuntu-core-dev/software-properties/main/…
user.dz