Can a ppa repository be added to /etc/apt/source.list?
-
Yes, PPA's can be added to
/etc/apt/source.list
, in similar way to debian (deb) repositories.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
An example for WineHq:
-
Thought just matter of keeping things somehow easily managed, leaving
/etc/apt/source.list
only for official release repositories. All additional repositories goes to/etc/apt/source.list.d/
. Easy to:- add (creating file then editing existing one, a partial solution to avoid duplicates too)
- remove (with parsing a
/etc/apt/source.list
looking to related line) - backup/restore (using compressed archive of
/etc/apt/source.list.d/
folder) - avoid breaking things with much edits targeting
/etc/apt/source.list
-
PPA are always added to
/etc/apt/source.list.d/
folder if wrote it inppa:<user>/<ppa-name>
form.Reference:
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.
-
Well, it seems only PPA's as shortcut goes to
/etc/apt/sources.list.d/
.add-apt-repository
orapt-add-repository
is a Ubuntu specific tool. All I can think of is just Ubuntu decision to keep personal PPA's out.However you can modify it to use only
/etc/apt/sources.list
. It's a python3 script. Modify/usr/bin/add-apt-repository
line:shortcut = shortcut_handler(line)
replace it with this one below to resolve ppa shortcut form to a deb line form:
shortcut = shortcut_handler(shortcut_handler(line).expand(sp.distro.codename)[0])