Jak dodać repozytorium z powłoki w Debianie?


141

W Ubuntu można dodać repozytorium za pomocą następującego polecenia -

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

Ponieważ Ubuntu opiera się na bazie kodu Debiana, spodziewałem się, że to samo zadziała również w Debianie, ale nie działa.

  • Jaki jest tego powód?
  • Czy jest jakieś inne polecenie powłoki, którego mogę użyć, aby osiągnąć to samo?

Uwaga: Wiem, że mogę edytować /etc/apt/sources.list, ale chcę to osiągnąć z poziomu powłoki. Chcę również wiedzieć, dlaczego to samo polecenie nie działa, gdy podstawa kodu jest taka sama.

Odpowiedzi:


182

Debian Jessie i nowsze wersje (2014-)

Jak wskazał @voltagex w komentarzach, można go teraz znaleźć w software-properties-commonpakiecie:

sudo apt-get install software-properties-common

Debian Wheezy i wcześniejsze:

Program add-apt-repository jest dostępny w Debianie. Jest w python-software-propertiespakiecie:

sudo apt-get install python-software-properties

Został dodany do tego pakietu w wersji 0.75. Obecna wersja w Debian Stable („squeeze”) to 0,60, więc jej nie ma. Wersja aktualnie w Debian Testing („wheezy”) to 0.82.7.1debian1, więc jest tam dostępna.


9
Przynajmniej w sid, skrypt add-apt-repository prawdopodobnie przeniósł się do wspólnej właściwości oprogramowania
Adam Baxter

Wersja 0.92 python-software-właściwości tutaj i (ponownie) brak :-(
gatopeich

3
Zobacz komentarz powyżej swojego - już jest w software-properties-common
środku

Miałem
problemy z

17

Zakładając, że używasz nie starożytnej wersji Debiana (Etch lub nowsza), możesz po prostu upuścić plik w polu /etc/apt/sources.list.d/Nazwa pliku musi się kończyć .list; Debian Stretch (jeszcze nie wydany) prawdopodobnie doda .sourcesinny format.

Format jest taki sam jak główny plik sources.list.

Zaletą jest to, że szczególnie w przypadku oprogramowania, które dystrybuujesz, nie musisz się martwić scaleniem swoich zmian w ewentualnie edytowanym pliku /etc/apt/sources.list (szczególnie trudnym w przypadku, gdy twój program jest odinstalowane). Możesz użyć obsługi dpkgplików conffile, aby umieścić plik /etc/apt/sources.list.d/.


sources.list.distnieje od etch, tak myślę.
Gilles,

1
Tak, ale apt-add-repositoryzajmuje się między innymi tłumaczeniem „ppa:” na http://ppa.launchpad...typ oraz pobieraniem i instalowaniem klucza repozytorium, aby pakiety nie były traktowane jako podejrzane
Ricardo Cárdenes

@Gilles Myślę, że masz rację - nie ma go na maszynie Sarge, ale na maszynie Etch.
derobert,

13

add-apt-repositorymożna teraz znaleźć w software-properties-commonpakiecie.


@rbaleksandar nie jest to dostępne we wszystkich dystrybucjach, ponieważ zawiera wiele dodatkowych rzeczy, których możesz nie chcieć, szczególnie w oknie dokowanym. Ponieważ końcowym celem tego zadania jest dodanie czegoś /etc/apt/sources.list, możesz spojrzeć na odpowiedź @Goez w tym pytaniu.
Mike D

8

Ubuntu opiera się na Debianie, ale zawiera rzeczy, których Debian nie ma (a te z kolei są często dołączane do Debiana później). add-apt-repositoryPolecenie jest przykładem, która została zawarta w Ubuntu pierwszego.

add-apt-repositoryFaktycznie wykonuje tylko kilka poleceń, aby dodać repozytorium:

  • dołącz repozytorium do /etc/apt/sources.list
  • dodaj klucz repozytorium do komputera.

Skrypt, który robi to samo, co można znaleźć tutaj, jest cytowany poniżej

#!/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

Nie zaleca się używania repozytorium ppa w dystrybucji Debiana. Nie ma żadnej kontroli nad tworzeniem instalacji.
Francis Rodrigues,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.