Я ищу лучший метод для восстановления /etc/apt/sources.list
принимать значение по умолчанию из командной строки.
Там никакой путь не состоит в том, чтобы сослаться на исходный код пакета, который генерирует этот файл или что-то как этот? Я хочу доверяемый и независимый от версии способ восстановить этот файл.
Перед маркировкой этого как дубликат обратите внимание, что я уже рассмотрел этот вопрос. Это только применимо, если у Вас есть доступный GUI Ubuntu. Этот вопрос характерен для командной строки.
Я также рассмотрел этот вопрос, где принятое решение - кто-то, вставил содержание их sources.list
файл. Это не соответствующий способ восстановить файл, поскольку намерения человека, обеспечивающего содержание файла, не могут быть проверены, и файл подвержен изменениям с новыми выпусками.
Я проверил генератор в simplelinux.ch, но это также не из Ubuntu, таким образом, я не планирую использовать его.
Я не уверен, что вы хотите, но:
.archive.ubuntu.com
, где двухсимвольный сокращенный код - это домен верхнего уровня кода страны .Вы можете найти дополнительные зеркала с их статусом на Launchpad . lsb_release -sc
, чтобы выяснить это, и это первое слово красивого названия выпуска в нижнем регистре (например, trusty
для Trusty Tahr).
, -security
, -updates
, -backports
и - предложено
. Первый необходим, так как он является базовым, второй настоятельно рекомендуется, поскольку он содержит исправления безопасности, четвертый, только если вам нужен какой-то пакет, перенесенный из более новой версии, а пятый - только если разработчик попросит вас включить его для тестирования возможного fix. main
, multiverse
, universe
и limited
( В чем разница между мультивселенная, вселенная, ограниченная и основная? ) Таким образом, вы всегда можете создать безопасный sources.list
, содержащий только:
deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted
Если вы хотите, чтобы команда выполняла это:
printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' "$(lsb_release -sc)"{,-security} > /etc/apt/sources.list
Или lsb_release
недоступен, используйте / etc / os-release
из пакета base-files
:
printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' "$(. /etc/os-release; printf "%s" "$UBUNTU_CODENAME")"{,-security} > /etc/apt/sources.list
В дополнение к списку Launchpad, список, предоставленный программой «Источники программного обеспечения»,
из /usr/share/python-apt/templates/Ubuntu.mirrors
, который взят из пакета python-apt-common
. Этот пакет является косвенным. Предлагает зависимость от apt
, поэтому он не может быть установлен по умолчанию на сервере.
Если вы понимаете, что означает каждая строка в /etc/apt/sources.list
, вы можете создать свой собственный список. Например, строка в моем sources.list
:
deb http://archive.ubuntu.com/ubuntu/ trusty main
Она состоит из 4 разделов:
deb
, что означает, что это репозиторий все бинарные пакеты. только другое возможное значение - deb-src
, что означает его репозиторий исходных кодов. Раздел 3: Он содержит кодовое имя (и имя канала) выпуска, который вы используете, в данном случае trusty
, который является кодовым названием моего выпуска Ubuntu (14.04 LTS). вы можете найти свой по lsb_release -sc
. Например, если вы используете 12.04, кодовое имя будет «точным». Теперь объявим другие каналы, например. чтобы объявить канал безопасности, вам необходимо использовать trusty-security
.
Раздел 4: Этот раздел содержит «имена разделов» репозитория. Обычно используется 4 раздела: основная
, ограниченная
, вселенная
, мультивселенная
. Вы можете поместить все имена разделов в одну строку объявления репозитория, или вы можете использовать разные строки для каждого из разделов, но не должно быть дублирующихся записей. Если вы прочитаете /etc/apt/sources.list
, то увидите описание пакетов, содержащихся в каждом из этих разделов.