Comment ajouter un référentiel apt-get sans éditer /etc/apt/sources.list?

19

Je veux ajouter un référentiel à apt-get (sans potentiellement déranger /etc/apt/sources.list) via l'utilisateur d'un script. Ce script peut s'exécuter plusieurs fois, je ne peux donc pas simplement ajouter l'entrée à chaque fois. Puis-je ajouter un seul fichier dans un répertoire avec des entrées?

Je sais que vous pouvez le faire pour yum, mais je ne suis pas sûr que ce soit possible pour apt-get. S'il vous plaît laissez-moi savoir si j'ai besoin d'ajouter plus d'informations.

Daisetsu
la source
Si vous double-cliquez sur /etc/apt/sources.list, une interface graphique s'ouvre avec un assistant pour l'ajout de référentiels. Il existe une case à cocher permettant d'activer et de désactiver les entrées (par exemple, pour autoriser l'utilisation d'une nouvelle entrée uniquement lors de la mise à jour d'un logiciel de référentiel "étranger"), les entrées pouvant être supprimées. Il crée également une sauvegarde appelée sources.list.save dans le même répertoire. Si vous souhaitez une protection supplémentaire, vous pouvez toujours faire une copie du fichier original vous-même avant de le modifier. Donc, il n'y a pas beaucoup de risque de gâcher le fichier si vous choisissez la route du script pour cette raison.
fixer1234

Réponses:

21

Vous pouvez placer des fichiers dans /etc/apt/sources.list.d. Ceci est décrit dans la page de manuel pour sources.list(type man sources.list). La page de manuel dit:

SOURCES.LIST.D

Le répertoire /etc/apt/sources.list.d permet d'ajouter des entrées sources.list dans des fichiers séparés. Le format est le même que pour le fichier sources.list habituel. Les noms de fichiers doivent se terminer par .list et ne peuvent contenir que des lettres (az et AZ), des chiffres (0 à 9), des caractères de soulignement (_), des traits d'union (-) et des points (.). Sinon, ils seront silencieusement ignorés.

METTRE À JOUR:

2016 SOURCES.LIST.D

Le répertoire /etc/apt/sources.list.d permet d'ajouter des entrées sources.list dans des fichiers séparés. Deux formats de fichier différents sont autorisés, comme décrit dans les deux sections suivantes. Les noms de fichiers doivent avoir l'extension .list ou .sources en fonction du format contenu. Les noms de fichiers ne peuvent contenir que des lettres (az et AZ), des chiffres (0 à 9), des caractères de soulignement (_), des tirets (-) et des points (.). Sinon, APT imprimera un avis indiquant qu'il a ignoré un fichier, à moins que ce fichier ne corresponde à un modèle de la liste de configuration Dir :: Ignore-Files-Silently - auquel cas il sera ignoré de manière silencieuse.

alsacs
la source
8

Tu pourrais essayer:

add-apt-repository <REPOSITORY LINE>

La ligne de référentiel serait simplement ce que vous ajouteriez au fichier sources.list ou à un référentiel PPA. Consultez la page de manuel ici ou exécutez:

man add-apt-repository
BloodPhilia
la source
1
Un rapide coup d'œil au fichier man pour add-apt-repository indique qu'il ajoute simplement la ligne au fichier sources.list, il ne mentionne pas si elle est vérifiée, c'est donc la même chose que "echo line >> sources.list "que j'avais déjà. Merci d'avoir répondu si.
Daisetsu
2
@ Daisetsu Je sais que c'est le cas, je pensais que vous vous sentiez mal à l'aise lors de l'édition manuelle du fichier! Doit avoir mal compris! Génial, vous avez une réponse qui a bien fonctionné pour vous!
BloodPhilia
1

J'ai (pensé que je devais) avoir besoin d'ajouter un rapport PPA à une installation crunchbang, (debian):
( NB "raring" est la version d'ubuntu qui correspond à la version de debian que j'utilisais).

sudo su -

# you can call the file anything that you want, but it has to end with .list to be a valid for apt-get
echo 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/ raring main'>> /etc/apt/sources.list.d/boot-repair.list

# get the keys for that repo so that apt can verify the signed .deb files
wget http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/raring/Release.gpg
apt-key add Release.gpg
#gpg --search-keys 60D8DA0B

apt-get update

La plupart de ces informations sont expliquées sur la page de réparation du démarrage (bien que, finalement, testdisk puis Gparted soient ce dont j'avais besoin pour restaurer une partition perdue et un MBR corrompu.) Ce n'est probablement pas la méthode Debian, mais cela a travaillé pour moi.

Certains dépôts Debian sont du "style ancien" et vous n'avez alors besoin que d'une ligne comme celle-ci:

deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there

add-apt-repository est bon si vous l'avez, mais cela semble être plus ubuntu.

Alexx Roche
la source
0

add-apt-repository a un troisième formulaire (outre les URL PPA et les lignes complètes d'apt), qui active les composants de distribution:

sudo add-apt-repository universe
sudo add-apt-repository contrib

Cela a été introduit dans 12.10 (Quantal).

Tobu
la source
ça se voit Error: 'contrib' invalid avec Ubuntu 16.04
Jaffer Wilson