Czy repozytorium ppa można dodać do /etc/apt/source.list?

12

Przez sudo add-apt-repository '<deb url codename component>', repozytorium jest dodawane do pliku /etc/apt/source.list.

Przez sudo add-apt-repository ppa:<user>/<ppa-name>, zauważyłem, że wszystkie repozytoria ppa zostały dodane do katalogu /etc/apt/source.list.d katalog:

$ 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. Czy zamiast tego można dodać repozytoria ppa na końcu pliku /etc/apt/source.list?

  2. Dlaczego repozytoria PPA są traktowane inaczej niż repozytoria inne niż PPA?

  3. Czy istnieją inne repozytoria inne niż PPA traktowane podobnie jak repozytoria PPA?

  4. Czy sudo add-apt-repository '<deb url codename component>'doda repozytorium ppa do /etc/apt/source.list lub do niektórych plików w /etc/apt/source.list.d?

Tim
źródło

Odpowiedzi:

11
  1. Tak, PPA można dodawać do /etc/apt/source.listrepozytoriów debian (deb) w podobny sposób.

    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
    

    Przykład dla WineHq: link do repozytorium debian ppa

  2. Myślałem tylko o tym, żeby utrzymać jakoś łatwość zarządzania, pozostawiając /etc/apt/source.listtylko oficjalne repozytoria wydań. Wszystkie dodatkowe repozytoria trafiają do /etc/apt/source.list.d/. Łatwo:

    1. dodaj (tworzenie pliku, a następnie edycja istniejącego, częściowe rozwiązanie, aby uniknąć duplikatów)
    2. usuń (z parsowaniem szukanej /etc/apt/source.listlinii pokrewnej)
    3. tworzenie kopii zapasowych / przywracanie (przy użyciu skompresowanego archiwum /etc/apt/source.list.d/folderu)
    4. unikaj zepsucia przy wielu modyfikacjach kierowania /etc/apt/source.list
  3. PPA są zawsze dodawane do /etc/apt/source.list.d/folderu, jeśli zostały zapisane w ppa:<user>/<ppa-name>formie.

    Odniesienie: 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. Cóż, wydaje się, że tylko PPA jest skrótem do /etc/apt/sources.list.d/. add-apt-repositorylub apt-add-repositoryjest narzędziem specyficznym dla Ubuntu. Mogę tylko myśleć o Ubuntu, aby nie dopuścić osobistych umów PPA.

    Możesz go jednak zmodyfikować tak, aby używał tylko /etc/apt/sources.list. To jest skrypt Python3. Zmień /usr/bin/add-apt-repositorylinię:

    shortcut = shortcut_handler(line)
    

    zamień go na poniższy, aby przekształcić formularz skrótu ppa do formularza linii deb:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
user.dz
źródło
Należy zauważyć, że, o dziwo, repozytoria inne niż PPA zostaną dodane do /etc/apt/sources.list.
saiarcot895
1
@ saiarcot895, myślę, że add-apt-repositoryzostał napisany, aby ułatwić pracę z PPA na 1. miejscu. Oto opis zatwierdzenia, kiedy został dodany: „ nowy skrypt pomocnika” add-apt-repository ", którego można użyć, aby włączyć repozytorium z wiersza poleceń. Przydatne np. Dla 'add-apt-repository ppa: gnome-desktop' ". bazaar.launchpad.net/~ubuntu-core-dev/software-properties/main/…
user.dz