데비안 쉘에서 리포지토리를 추가하는 방법은 무엇입니까?


141

우분투에서는 다음 명령을 통해 저장소를 추가 할 수 있습니다-

sudo add-apt-repository ppa:yannubuntu/boot-repair

우분투는 데비안 코드베이스를 기반으로하기 때문에 데비안에서도 동일하게 작동 할 것으로 기대했지만 그렇지 않습니다.

  • 그 이유는 무엇입니까?
  • 동일한 것을 달성하기 위해 사용할 수있는 다른 쉘 명령이 있습니까?

참고 : 편집 할 수 /etc/apt/sources.list는 있지만 쉘 에서이 작업을 수행하려고합니다. 또한 코드베이스가 동일 할 때 왜 같은 명령이 작동하지 않는지 알고 싶습니다.

답변:


182

데비안 제시 이상 (2014-)

주석에서 @voltagex가 지적했듯이 이제 software-properties-common패키지 에서 찾을 수 있습니다 .

sudo apt-get install software-properties-common

데비안 위지와 그 이전 :

이 프로그램 add-apt-repository 데비안에서 사용할 수 있습니다. 그것은에서의 python-software-properties패키지 :

sudo apt-get install python-software-properties

버전 0.75에서 해당 패키지에 추가되었습니다. 데비안 스 테이블 ( 'squeeze ")의 현재 버전은 0.60이므로 아직 가지고 있지 않습니다. 데비안 테스팅 ("wheezy ")의 현재 버전은 0.82.7.1debian1이므로 사용할 수 있습니다.


9
적어도 sid에서 add-apt-repository 스크립트는 software-properties-common으로 이동 한 것으로 보입니다
Adam Baxter

python-software-properties의 버전 0.92는 여기에 있으며 (다시) 누락되었습니다 :-(
gatopeich

3
위의 의견보기 – 현재 위치software-properties-common
Jim Paris

번거 로움이 있었지만
peterretief

17

Ancient가 아닌 버전의 데비안 (Etch 이상)을 실행한다고 가정하면 파일을 /etc/apt/sources.list.d/다음으로 삭제하면됩니다 . 파일 이름은 .list; 데비안 스트레치 (아직 출시되지 않은)는 .sources다른 형식으로 추가 될 것 입니다.

형식은 기본 sources.list 파일과 동일합니다.

장점은 특히 배포중인 일부 소프트웨어의 경우 변경 사항을 편집 가능한 /etc/apt/sources.list 파일에 병합 할 필요가 없다는 것입니다 (특히 프로그램이 제거됨). dpkgconffile 지원을 사용 하여 파일을에 넣을 수 있습니다 /etc/apt/sources.list.d/.


sources.list.d에칭 이후에 존재한다고 생각합니다.
Gilles

1
예, 그러나 apt-add-repository"ppa :"를 http://ppa.launchpad...유형으로 변환 하고 리포지토리 키를 다운로드하여 설치하여 패키지가 의심스러운 것으로 취급되지 않도록합니다.
Ricardo Cárdenes

@Gilles 당신이 옳다고 생각합니다. 제가 가지고있는 Sarge 머신이 아니며 Etch 머신에 있습니다.
derobert

13

add-apt-repositorysoftware-properties-common패키지 에서 찾을 수 있습니다 .


@rbaleksandar 이것은 특히 도커에서 원하지 않는 많은 추가 사항이 있기 때문에 모든 배포판에있는 것은 아닙니다. 이 작업의 최종 목표는에 무언가를 추가하는 /etc/apt/sources.list것이므로이 질문에서 @Goez의 답변을 볼 수 있습니다.
Mike D

8

우분투는 데비안을 기반으로하지만 데비안이 지원하지 않는 것들을 포함합니다. 이 add-apt-repository명령은 먼저 우분투에 포함 된 예입니다.

add-apt-repository실제로 단지 저장소를 추가 할 명령의 몇 가지를 실행합니다 :

  • 저장소를 추가 /etc/apt/sources.list
  • 머신에 저장소 키를 추가하십시오.

여기 에서 찾을 수있는 것과 같은 종류의 스크립트가 아래에 인용되어 있습니다.

#!/bin/bash
if [ $# -eq 1 ]
NM=$(uname -a && date)
NAME=$(echo $NM | md5sum | cut -f1 -d" ")
then
    ppa_name=$(echo "$1" | cut -d":" -f2 -s)
    if [ -z "$ppa_name" ]
    then
        echo "PPA name not found"
        echo "Utility to add PPA repositories in your debian machine"
        echo "$0 ppa:user/ppa-name"
    else
        echo "$ppa_name"
        echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu lucid main" >> /etc/apt/sources.list
        apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt
        key=$(cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3)
        apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        rm -rf /tmp/${NAME}_apt_add_key.txt
    fi
else
    echo "Utility to add PPA repositories in your debian machine"
    echo "$0 ppa:user/ppa-name"
fi

데비안 배포판에서는 ppa repo를 사용하지 않는 것이 좋습니다. 설치를 제어 할 수는 없습니다.
프랜시스 로드리게스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.