web-dev-qa-db-fra.com

Comment mettre à jour automatiquement /etc/apt/sources.list avec les URI sources sur Ubuntu 16.04?

La commande suivante a bien fonctionné sous Ubuntu 15.10:

Sudo apt-get build-dep emacs24

Cependant, sur Ubuntu 16.04, le message d'erreur suivant s'affiche:

Reading package lists... Done
E: You must put some 'source' URIs in your sources.list

En 15.10, toutes les lignes (environ 10 environ) avec deb-src dans /etc/apt/sources.list ont été mises en commentaire, alors que dans 16.04, les lignes correspondantes ont été mises en commentaire. Par exemple, voici 4 lignes de mon sources.list actuel:

## Major bug fix updates produced after the final release of the
## distribution.
deb http://no.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://no.archive.ubuntu.com/ubuntu/ xenial-updates main restricted

Quelle est la raison de ce changement?

Ensuite, j'aimerais éviter de modifier manuellement /etc/apt/sources.list chaque fois que je réinstalle Ubuntu. Comment cela peut-il être fait (en supprimant la mise en commentaire des lignes deb-src)?

10
Håkon Hægland

Ouvrez logiciel et mises à jour et activez le "code source".

10
Gunnar Hjalmarsson

J'ai eu ce même problème sur une installation serveur d'Ubuntu 16.04, donc pas d'interface graphique. Tout ce dont j'avais besoin, c’était quelques commandes sed.

Sudo sed -i -- 's/#deb-src/deb-src/g' /etc/apt/sources.list && Sudo sed -i -- 's/# deb-src/deb-src/g' /etc/apt/sources.list

Puis Sudo apt-get update et continuez.

10
Tobi

Voici un script Bash (non encore testé) qui pourrait être utilisé pour supprimer les commentaires de deb-src dans sources.list:

tempdir=$(mktemp -d)
cd "$tempdir"
source_file=/etc/apt/sources.list
new_file=sources.list.new
Perl -pE 's/^#\s+(deb-src)/$1/' "$source_file" > "$new_file"
Sudo cp "$new_file" "$source_file"
Sudo apt-get update
2
Håkon Hægland