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_CODENAME
trusty
또는 실제 라인을 구축할 수도 있습니다. 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
물론 추가하는 저장소는앞으로이 변경에는 여전히 수동 수정이 필요합니다.