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

12

По 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?

Тим
источник

Ответы:

11
  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: ссылка на репозиторий PPA Debian

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

    1. Добавить (создание файла с последующим редактированием существующего, частичное решение, чтобы избежать дубликатов)
    2. удалить (с разбором /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 в качестве ярлыка идет /etc/apt/sources.list.d/. add-apt-repositoryили apt-add-repositoryэто специальный инструмент для Ubuntu. Все, что я могу придумать, это просто решение Ubuntu не использовать личные PPA.

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

    shortcut = shortcut_handler(line)
    

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

    shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])
    
user.dz
источник
Обратите внимание, что, как ни странно, репо без PPA будут добавлены в /etc/apt/sources.list.
saiarcot895
1
@ saiarcot895, думаю, add-apt-repositoryбыл написан для облегчения работы с PPA на 1-м месте. Вот описание фиксации, когда оно было добавлено: « новый вспомогательный скрипт« add-apt-repository », который можно использовать для включения хранилища из командной строки. Полезно, например, для« add-apt-repository ppa: gnome-desktop » ». bazaar.launchpad.net/~ubuntu-core-dev/software-properties/main/...
user.dz