Следующая команда работала нормально в 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
строки) автоматически?
Откройте Software & Обновления и включают "Исходный код".
У меня была эта та же проблема об установке сервера 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
и продвигаются.
Вот (в настоящее время не тестируется) сценарий 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