add-apt-repository
detecta seu codinome de distribuição automaticamente e não fornece opções para isso. Não pode, é claro, combinar magicamente uma versão do Debian para o Ubuntu, e para fazê-lo, você terá que editar /etc/lsb-release
, o que pode quebrar outras coisas. Isso ocorre porque add-apt-repository
chama SoftwareProperties.add_source_from_shortcut
, que por sua vez usa aptsources.distro.get_distro()
para determinar o nome de código:
aptsources.distro.get_distro(id=None, codename=None, description=None, release=None)
Check the currently used distribution and return the corresponding distriubtion class that supports distro specific features.
If no paramter are given the distro will be auto detected via a call to lsb-release
(Não, não é a minha ortografia.)
Então, se você está se sentindo bem, edite /etc/lsb-release
e altere DISTRIB_CODENAME
para uma versão apropriada do Ubuntu (já que esse é o alvo da maioria dos PPAs do Launchpad), como trusty
.
Ou você pode construir a linha real. ppa:username/ppa-name
traduz para:
add-apt-repository https://ppa.launchpad.net/username/ppa-name/ubuntu $(lsb_release -sc)
Claro, você substituirá $(lsb_release -sc)
por trusty
, etc. Você também precisará buscar a chave GPG manualmente e adicioná-la. Isso também tem a desvantagem de que, em vez de criar um novo arquivo interessante em /etc/apt/sources.list.d
, a entrada é adicionada a /etc/apt/sources.list
.
Parece que você precisa alterar os dois DISTRIB_ID
e DISTRIB_CODENAME
, para que os valores deles correspondam:
$ lsb_release -sc
trusty
$ sudo sed 's/trusty/wheezy/' -i /etc/lsb-release
$ lsb_release -sc
wheezy
$ sudo add-apt-repository ppa:conky-companions/ppa
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 91, in <module>
sp = SoftwareProperties(options=options)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
self.reload_sourceslist()
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 89, in get_sources
(self.id, self.codename))
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Ubuntu/wheezy
$ sudo sed 's/trusty/wheezy/;s/Ubuntu/Debian/' -i /etc/lsb-release
$ sudo add-apt-repository ppa:conky-companions/ppa
More info: https://launchpad.net/~conky-companions/+archive/ubuntu/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it
gpg: keyring '/tmp/tmp19qsp29e/secring.gpg' created
#...
gpg: imported: 1 (RSA: 1)
OK
$ cat /etc/apt/sources.list.d/conky-companions-ppa-wheezy.list
deb http://ppa.launchpad.net/conky-companions/ppa/ubuntu wheezy main
# deb-src http://ppa.launchpad.net/conky-companions/ppa/ubuntu wheezy main
$ sudo rm /etc/apt/sources.list.d/conky-companions-ppa-wheezy.list
$ sudo sed 's/wheezy/trusty/' -i /etc/lsb-release
$ sudo add-apt-repository ppa:conky-companions/ppa
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 91, in <module>
sp = SoftwareProperties(options=options)
#...
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Debian/trusty
$ sudo sed 's/wheezy/trusty/;s/Debian/Ubuntu/' -i /etc/lsb-release
$ sudo add-apt-repository ppa:conky-companions/ppa
More info: https://launchpad.net/~conky-companions/+archive/ubuntu/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it
gpg: keyring '/tmp/tmpnz_771l_/secring.gpg' created
#...
OK
Naturalmente, todos os repositórios que você adicionou antes dessa alteração ainda precisariam ser corrigidos manualmente.