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

Следующая команда работала нормально в 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 строки) автоматически?

10
задан 24.04.2016, 06:11

3 ответа

Откройте Software & Обновления и включают "Исходный код".

10
ответ дан 29.09.2019, 18:00
  • 1
    Бесполезный, если Ваша человечность является сервером только с оболочкой – Jordan Running 01.09.2016, 22:26

У меня была эта та же проблема об установке сервера Ubuntu 16.04, таким образом, никакой GUI. Все, в чем я нуждался, было несколькими 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

Затем sudo apt-get update и продвигаются.

10
ответ дан 29.09.2019, 18:00

Вот (в настоящее время не тестируется) сценарий 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
2
ответ дан 29.09.2019, 18:00
  • 1
    Никакая потребность в сценарии. См. мой ответ. – fotanus 24.04.2016, 08:28

Теги

Похожие вопросы