Как автоматически обновлять /etc/apt/sources.list с исходными URI на Ubuntu 16.04?

8

Следующая команда отлично работала на Ubuntu 15.10:

sudo apt-get build-dep emacs24

Однако на Ubuntu 16.04 я получаю следующую ошибку при ее запуске:

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

В 15.10 все строки (около 10 в числе) с deb-src в /etc/apt/sources.list , если они не скомпилированы, тогда как в 16.04 соответствующие строки, которые закомментированы. Например, вот 4 строки из моего текущего sources.list :

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

В чем причина этого изменения?

Далее, я бы хотел, чтобы вручную не вручную редактировать /etc/apt/sources.list каждый раз, когда я делаю переустановку Ubuntu. Как это можно сделать (раскомментировать deb-src строк) автоматически?

    
задан Håkon Hægland 23.04.2016 в 17:11
источник

3 ответа

10

Открыть Программное обеспечение и amp; Обновления и включить «Исходный код».

    
ответ дан Gunnar Hjalmarsson 23.04.2016 в 19:27
источник
9

У меня была такая же проблема на установке сервера Ubuntu 16.04, поэтому никакого графического интерфейса. Все, что мне было нужно, это пару% команд co_de%.

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

Затем sed и продолжить.

    
ответ дан Tobi 31.08.2016 в 20:39
источник
2

Вот (в настоящее время непроверенный) скрипт Bash, который можно использовать для разблокирования deb-src строк в 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
    
ответ дан Håkon Hægland 23.04.2016 в 17:54
источник

Ознакомьтесь с другими вопросами по меткам