web-dev-qa-db-fra.com

Un référentiel ppa peut-il être ajouté à /etc/apt/source.list?

Par Sudo add-apt-repository '<deb url codename component>', un référentiel est ajouté au fichier /etc/apt/source.list.

En Sudo add-apt-repository ppa:<user>/<ppa-name>, j'ai vu que tous les référentiels ppa sont ajoutés à /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. Peut-on ajouter un référentiel ppa à la fin du fichier /etc/apt/source.list?

  2. Pourquoi les référentiels ppa sont-ils traités différemment des référentiels non-ppa?

  3. Existe-t-il d'autres référentiels non-ppa traités de la même manière que ceux ppa?

  4. Sudo add-apt-repository '<deb url codename component>' ajoutera-t-il un référentiel ppa à /etc/apt/source.list ou à certains fichiers sous /etc/apt/source.list.d?

12
Tim
  1. Oui, les PPA peuvent être ajoutés à /etc/apt/source.list, de la même manière que les référentiels 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
    

    Un exemple pour WineHq: ppa debian repository link

  2. Il est important de garder les choses faciles à gérer, ne laissant /etc/apt/source.list que pour les dépôts officiels. Tous les référentiels supplémentaires vont à /etc/apt/source.list.d/. Facile de:

    1. ajouter (créer un fichier puis éditer un fichier existant, une solution partielle pour éviter les doublons également)
    2. remove (avec l'analyse d'un /etc/apt/source.list cherchant une ligne associée)
    3. sauvegarde/restauration (à l'aide de l'archive compressée du dossier /etc/apt/source.list.d/)
    4. éviter de casser des choses avec beaucoup de modifications ciblant /etc/apt/source.list
  3. Les PPA sont toujours ajoutés au dossier /etc/apt/source.list.d/ s’ils sont écrits sous la forme ppa:<user>/<ppa-name>.

    Référence: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. Eh bien, il semble que seul le PPA soit raccourci en /etc/apt/sources.list.d/. add-apt-repository ou apt-add-repository est un outil spécifique à Ubuntu. Tout ce à quoi je peux penser, ce est juste la décision Ubuntu de garder les PPA personnels.

    Cependant, vous pouvez le modifier pour n’utiliser que /etc/apt/sources.list. C'est un script python3. Modifier la ligne /usr/bin/add-apt-repository:

    shortcut = shortcut_handler(line)
    

    remplacez-le par celui ci-dessous pour résoudre le raccourci ppa en un formulaire de ligne deb:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
11
user.dz