내가 추가한 새 저장소가 발견되지 않았습니까?

내가 추가한 새 저장소가 발견되지 않았습니까?

CrunchBang을 실행 중이고 출력은 다음과 같습니다.uname -a

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

내 거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

apt-add-repository따라서 를 통해 새 저장소를 추가하고 실행할 때마다 apt-get update다음 형식의 오류가 발생합니다.

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

제가 요청하는 버전이 jessie/main대부분의 패키지(?)에 존재하지 않기 때문인 것 같은데, 이러한 일이 발생하지 않도록 하고 시스템이 손상되지 않도록 하려면 source.list를 어떻게 변경해야 하는지 잘 모르겠습니다.

내가 그것을 얻는 것을 어떻게 막을 수 있는지 아는 사람이 있습니까 jessie/main? 아니면 이 저장소를 작동시킬 수 있도록 정확히 무슨 일이 일어나고 있는지 설명해 주시겠습니까?

답변1

add-apt-repository릴리스 코드명을 자동으로 감지하며 이를 수행하는 옵션을 제공하지 않습니다. 물론 데비안 버전과 우분투 버전이 마술처럼 일치하지는 않으며, 그렇게 하려면 를 편집해야 하는데 /etc/lsb-release, 이로 인해 다른 문제가 발생할 수 있습니다. add-apt-repository부르기 때문이에요SoftwareProperties.add_source_from_shortcut, 이는 차례로 사용됩니다.aptsources.distro.get_distro()코드명 결정:

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

(아니요, 그건 제가 쓴 철자가 아닙니다.)

따라서 원하는 경우 적절한 Ubuntu 버전(대부분의 Launchpad PPA 대상)을 편집 /etc/lsb-release하고 변경하십시오 .DISTRIB_CODENAMEtrusty


또는 실제 라인을 구축할 수도 있습니다. ppa:username/ppa-name다음과 같이 번역됨:

add-apt-repository https://ppa.launchpad.net/username/ppa-name/ubuntu $(lsb_release -sc)

물론 등 $(lsb_release -sc)으로 대체됩니다. trusty또한 수동으로 GPG 키를 얻어 추가해야 합니다. 또한 .에 멋진 새 파일을 만드는 대신 /etc/apt/sources.list.d해당 항목이 .에 추가된다는 단점도 있습니다 /etc/apt/sources.list.


해당 값이 일치하도록 DISTRIB_ID합계를 변경해야 하는 것 같습니다 .DISTRIB_CODENAME

$ 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

물론 추가하는 저장소는앞으로이 변경에는 여전히 수동 수정이 필요합니다.

관련 정보