데비안의 쉘에서 저장소를 추가하는 방법은 무엇입니까?

데비안의 쉘에서 저장소를 추가하는 방법은 무엇입니까?

Ubuntu에서는 다음 명령을 통해 저장소를 추가할 수 있습니다.

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

Ubuntu는 Debian 코드 기반을 기반으로 하기 때문에 Debian에서도 동일한 기능이 작동할 것이라고 생각했지만 그렇지 않습니다.

  • 그 이유는 무엇입니까?
  • 동일한 작업을 수행하는 데 사용할 수 있는 다른 쉘 명령이 있습니까?

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

답변1

Debian Jessie 이상(2014-)

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

sudo apt-get install software-properties-common

Debian Wheezy 및 이전 버전:

프로그램add-apt-repository 데비안에서 사용 가능합니다. python-software-properties패키지 에 들어있습니다 :

sudo apt-get install python-software-properties

버전 0.75에서 패키지에 추가되었습니다. Debian Stable("squeeze")의 현재 버전은 0.60이므로 그렇지 않습니다. 데비안 테스트의 현재 버전("wheezy")은 0.82.7.1debian1이므로 그곳에서 작동합니다.

답변2

이전 버전이 아닌 Debian(Etch 또는 최신 버전)을 실행 중이라고 가정하면 파일 이름은 로 끝나야 /etc/apt/sources.list.d/합니다. .listDebian Stretch(아직 출시되지 않음)는 .sources다른 형식을 추가할 수 있습니다.

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

장점은 특히 배포 중인 일부 소프트웨어에 대한 것인 경우 프로그램이 제거된 경우 편집할 수 있는 /etc/apt/sources.list 파일에 변경 사항을 병합하는 것에 대해 걱정할 필요가 없다는 것입니다. conffile 지원을 사용하여 dpkg파일을 /etc/apt/sources.list.d/.

답변3

add-apt-repository이제 패키지로 만나보실 수 있습니다 software-properties-common.

답변4

Ubuntu는 Debian을 기반으로 하지만 Debian에 없는 기능(그리고 종종 나중에 Debian에 병합되는 기능)도 포함합니다. 이 add-apt-repository명령은 Ubuntu에 처음 포함된 예제입니다.

실제로 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

관련 정보