Можно ли добавить репозиторий ppa в /etc/apt/source.list?

10

В зависимости от sudo add-apt-repository '<deb url codename component>' репозиторий добавляется в файл /etc/apt/source.list.

На sudo add-apt-repository ppa:<user>/<ppa-name> я увидел, что все репозитории ppa добавлены в файл /etc/apt/source.list.d:

$ 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. Можно ли добавить репозитории ppa в конец файла /etc/apt/source.list?

  2. Почему репозитории ppa обрабатываются иначе, чем не-ppa?

  3. Существуют ли другие репозитории, отличные от ppa, обрабатываются аналогично ppa?

  4. Будет ли sudo add-apt-repository '<deb url codename component>' добавлять репозиторий ppa в /etc/apt/source.list или в некоторые файлы в файле /etc/apt/source.list.d?

задан Tim 11.07.2014 в 14:42
источник

1 ответ

9
  1. Да, PPA можно добавить в /etc/apt/source.list , аналогично репозиториям 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
    

    Пример для WineHq:

  2. Мысль просто заключалась в том, чтобы держать вещи как-то легко управляемыми, оставив /etc/apt/source.list только для официальных релизов репозиториев. Все дополнительные репозитории идут в /etc/apt/source.list.d/ . Легко:

    1. добавить (создать файл, а затем редактировать существующий, частичное решение, чтобы избежать дубликатов)
    2. remove (с разбором /etc/apt/source.list , относящимся к связанной строке)
    3. резервное копирование / восстановление (с использованием сжатого архива папки /etc/apt/source.list.d/ )
    4. избегайте ломать вещи с большим количеством изменений, нацеленных на /etc/apt/source.list
  3. PPA всегда добавляются в папку /etc/apt/source.list.d/ , если она написана в форме ppa:<user>/<ppa-name> .

    Ссылка: 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. Ну, похоже, только PPA, поскольку shortcut переходит в /etc/apt/sources.list.d/ . add-apt-repository или apt-add-repository - это специальный инструмент Ubuntu. Все, о чем я могу думать, это просто решение Ubuntu оставить личные PPA.

    Однако вы можете изменить его, чтобы использовать только /etc/apt/sources.list . Это скрипт python3. Изменить /usr/bin/add-apt-repository line:

    shortcut = shortcut_handler(line)
    

    замените его следующим ниже, чтобы разрешить форму быстрого доступа ppa к форме строки deb:

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
ответ дан user.dz 11.07.2014 в 15:38