Novos repositórios que eu adiciono nunca são encontrados?

0

Estou executando o CrunchBang com a seguinte saída de uname -a

Linux sigh 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64 GNU/Linux

Meu sources.list

# Crunchbang
deb http://packages.crunchbang.org/waldorf waldorf main
deb-src http://packages.crunchbang.org/waldorf waldorf main

# Debian Wheezy
deb http://http.debian.net/debian wheezy main contrib non-free
deb-src http://http.debian.net/debian wheezy main contrib non-free

# Debian Jessie
deb http://ftp.de.debian.org/debian jessie main
deb http://http.debian.net/debian jessie main contrib non-free
deb-src http://http.debian.net/debian jessie main contrib non-free

# Debian Security
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

# Debian Backports
deb http://http.debian.net/debian wheezy-backports main contrib non-free

# Debian Multimedia
deb http://www.deb-multimedia.org wheezy main non-free

# Oracle Java
deb http://www.duinsoft.nl/pkg debs all

Portanto, sempre que eu adicionar qualquer novo repositório por meio de apt-add-repository e executar apt-get update , obtenho erros no seguinte formato:

W: Failed to fetch http://ppa.launchpad.net/conky-companions/ppa/ubuntu/dists/jessie/main/binary-amd64/Packages  404  Not Found

W: Failed to fetch http://ppa.launchpad.net/conky-companions/ppa/ubuntu/dists/jessie/main/binary-i386/Packages  404  Not Found

Eu acho que é porque estou pedindo a versão jessie/main , que não existe na maioria dos pacotes (?), mas não sei como alterar o arquivo sources.list para evitar que isso aconteça e evitar quebrar sistema mais do que aparentemente é.

Alguém sabe como posso impedi-lo de buscar jessie/main ? Ou me explicar exatamente o que está acontecendo para que eu possa fazer esses repositórios funcionarem?

    
por Brian Rodriguez 23.01.2015 / 21:40

1 resposta

1

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.

    
por 23.01.2015 / 22:16