Dans Ubuntu, on peut ajouter un référentiel via la commande suivante -
Sudo add-apt-repository ppa:yannubuntu/boot-repair
Comme Ubuntu est basé sur la base de code Debian, je m'attendais à ce que cela fonctionne également dans Debian, mais ce n'est pas le cas.
Remarque: je sais que je peux modifier /etc/apt/sources.list
, mais je veux y parvenir à partir du Shell. Je veux également savoir pourquoi la même commande ne fonctionnera pas lorsque la base de code est la même.
Comme l'a souligné @voltagex dans les commentaires, il peut maintenant être trouvé dans le software-properties-common
paquet:
Sudo apt-get install software-properties-common
Le programme add-apt-repository
est disponible dans Debian. C'est dans le python-software-properties
paquet:
Sudo apt-get install python-software-properties
Il a été ajouté à ce package dans la version 0.75. La version actuelle dans Debian Stable ('squeeze ") est 0.60, donc elle ne l'a pas. La version actuellement dans Debian Testing (" wheezy ") est 0.82.7.1debian1, donc elle est disponible là-bas.
En supposant que vous exécutez une version non ancienne de Debian (Etch ou ultérieure), vous pouvez simplement déposer un fichier dans /etc/apt/sources.list.d/
Le nom du fichier doit se terminer par .list
; Debian Stretch (pas encore publié) ajoutera probablement .sources
avec un format différent.
Le format est le même que le fichier sources.list principal.
L'avantage est, surtout si c'est pour certains logiciels que vous distribuez, vous n'avez pas à vous soucier de fusionner vos modifications dans un fichier /etc/apt/sources.list éventuellement édité (particulièrement difficile à gérer si votre programme est désinstallé). Vous pouvez utiliser le support de conffile dpkg
pour placer le fichier dans /etc/apt/sources.list.d/
.
add-apt-repository
se trouve maintenant dans le software-properties-common
paquet.
Ubuntu est basé sur Debian mais inclut des choses que Debian ne fait pas (et à leur tour sont souvent incorporées à Debian plus tard). Le add-apt-repository
command est un exemple qui a été inclus dans Ubuntu en premier.
Le add-apt-repository
exécute simplement quelques commandes pour ajouter le référentiel:
/etc/apt/sources.list
Un script qui fait en quelque sorte la même chose que l'on peut trouver ici est cité ci-dessous
#!/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