it-swarm-eu.dev

Jak přidat úložiště od Shell v Debianu?

V Ubuntu lze přidat úložiště pomocí následujícího příkazu -

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

Protože Ubuntu je založeno na kódové bázi Debian, očekával jsem, že to samé bude fungovat i v Debianu, ale ne.

  • Jaký je důvod?
  • Existuje nějaký další příkaz Shell, který mohu použít k dosažení stejného?

Poznámka: Vím, že můžu upravit /etc/apt/sources.list, ale já to chci dosáhnout ze Shell. Chci také vědět, proč stejný příkaz nebude fungovat, když bude stejná základna kódu.

143
Kshitiz Sharma

Debian Jessie a novější (2014-)

Jak zdůraznil @voltagex v komentářích, lze jej nyní najít v software-properties-common balíček:

Sudo apt-get install software-properties-common

Debian Wheezy a starší:

Program add-apt-repositoryis k dispozici v Debianu. To je v python-software-properties balíček:

Sudo apt-get install python-software-properties

Byl přidán do tohoto balíčku ve verzi 0.75. Aktuální verze Debian Stable ('squeeze ") je 0.60, takže ji nemá. Verze aktuálně v Debian Testing (" wheezy ") je 0.82.7.1debian1, takže je k dispozici zde.

186
Jim Paris

Za předpokladu, že používáte starodávnou verzi Debianu (Etch nebo novější), můžete soubor zahodit do /etc/apt/sources.list.d/ Název souboru musí končit znakem .list; Debian Stretch (zatím nebyl vydán) pravděpodobně přidá .sources v jiném formátu.

Formát je stejný jako hlavní soubor sources.list.

Výhodou je zejména to, že pokud se jedná o software, který distribuujete, nemusíte se obávat, že by se vaše změny sloučily do případně upraveného souboru /etc/apt/sources.list (zvláště obtížné se vypořádat, pokud je váš program odinstalovat). Můžete použít dpkg conffile podporu pro vložení souboru do /etc/apt/sources.list.d/.

17
derobert

add-apt-repository nyní najdete v software-properties-common balíček.

14
Richard Ayotte

Ubuntu je založeno na Debianu, ale zahrnuje věci, které Debian nemá (a zase jsou často začleněny do Debianu později). Příkaz add-apt-repository Je příkladem, který byl do Ubuntu zařazen jako první.

add-apt-repository Ve skutečnosti právě provede několik příkazů pro přidání úložiště:

  • připojte úložiště k /etc/apt/sources.list
  • přidat klíč úložiště do počítače.

Skript, který dělá to samé, co lze najít zde , je uveden níže

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