1. Главная страница » Компьютеры

Http httpredir debian org debian

Автор: | 16.12.2019

Для любого сервера необходимо иметь возможность оперативно получить актуальное свежее программное обеспечение. Я расскажу, как настраивать список репозиториев в Debian — добавлять, удалять, редактировать разные repository в sources.list. Разберем внимательно эту тему, обратив внимание на различные нюансы, которые присутствуют, как и в любом другом деле.

Данная статья является частью единого цикла статьей про сервер Debian.

Цели статьи

  1. Рассмотреть различные ветки официальных репозиториев.
  2. Подробно рассказать, как настраивать репозитории в debian.
  3. Показать на примере, как настроить локальный репозиторий.
  4. Составить список актуальных репозиториев для старых версий Debian.

Введение

В первую очередь расскажу, что такое репозиторий (repository) своими словами. В общем случае это место, где хранятся и поддерживаются какие-то данные. Применительно к операционным системам и конкретно к Debian, репозиторий — это файловый сервер, который хранит у себя пакеты для установки на операционную систему . Это могут быть как пакеты программ, так и обновлений для сервера в виде новых ядер, системных утилит и т.д.

Существуют repository не только для операционных систем, но и для программ. Там могут быть как уже скомпилированные и готовые к установке пакеты, так и исходные коды программных продуктов. Большинство репозиториев содержат готовые пакеты. Это относится и к стандартным репозиториям Debian.

Читайте также:  Msi gtx 560 ti hawk

Помимо официальных списков реп (транскрипция от сокращения repo), есть сторонние, которые поддерживают производители программ либо энтузиасты. Нужно внимательно относиться к сторонним репозиториям, не добавлять их бездумно. Там может располагаться любое ПО, в том числе не то, что заявлено изначально. Либо они могут быть взломаны для размещения вредоносных программ.

Управлением пакетами и работой с repository lists в Debian занимаются отдельные утилиты:

В данной статье мы не будем рассматривать их отличия, так как это тема отдельного повествования. Все они работают со стандартным списком источников, который в общем случае располагается в /etc/apt/sources.list.

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Список репозиториев в sources.list

Изначально, содержимое sources.list будет зависеть от того, какой источник для пакетов вы выбрали во время установки debian. К примеру, в моем случае он выглядит следующим образом.

В общем случае файл sources.list имеет следующую структуру:

deb и deb-src тип архива, бинарные пакеты (deb) или пакеты с исходным кодом (deb-src)
http://site.example.com/debian url репозитория
distribution псевдоним релиза (buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.)
component main, contrib или non-free набор пакетов

Про псевдонимы релизов и наборы пакетов мы поговорим ниже более подробно в соответствующем разделе.

Помимо основного файла sources.list, репозитории могут располагаться в отдельных файлах в директории /etc/apt/sources.list.d. Формат файлов такой же, как и у основного. Обычно туда добавляют отдельно в каждый файл набор источников для какой-то определенной программы. Например, proxmox размещает в отдельном файле свой платный репозиторий.

Типы официальных репозиториев в Debian

Как я уже показал выше, в sources.list используются псевдонимы, либо классы релиза, а так же разные ветки наборов пакетов. С псевдонимами релизов все понятно. Они названы в честь персонажей мультфильма История игрушек (Toy story) — Wheezy, Jessie, Stretch, Buster и т.д. А вот насчет классов релизов поговорим отдельно. Существуют следующие официальные классы релизов Debian.

Stable

Стабильная ветка официального текущего релиза Debian. То есть это самая свежая и актуальная версия, которую рекомендуется использовать. Официальный репозиторий стабильной ветки содержит проверенный набор программ, зачастую не очень свежих версий. Это плата за надежность. В production рекомендуется использовать пакеты именно из репозитория stable.

В этом репозитории регулярно публикуются все актуальные обновления текущего релиза. Он формируется из ветки Testing, которая в момент релиза новой версии превращается в Stable.

Oldstable

Oldstable — кодовое имя предыдущего stable repository. Для этого репозитория выпускаются обновления безопасности. Ветка Oldstable формируется из Stable предыдущего релиза на момент публикации нового.

Testing

Testing содержит в себе текущее состояние разработки нового стабильного релиза. После его выхода, testing становится stable. Пакеты в testing попадают из репы unstable. В общем случае использовать репозиторий testing следует только для тестовых целей, чтобы посмотреть на новый релиз.

Для этого можно сделать чистую установку текущего релиза, затем изменить repo со stable на testing и обновиться. Вы получите свежую версию тестового релиза, который готовится к выпуску.

Unstable (sid)

Sid это repository с самым свежим программных обеспечением. Проблема только в том, что оно еще не протестировано достаточным образом для использования. Если вы точно уверены, что вам нужен новый софт и он не сломает вам систему, можете поставить его из unstable репозитория. Но в общем случае, делать это не рекомендуется.

Даже если софт из unstable не повредит работе системы, он может нарушить зависимости пакетов, так что потом может быть затруднительно вернуться на stable repo.

Experimental

Experimental repository содержит пакеты и утилиты, которые в данный момент только разрабатываются и находятся в состоянии alpha версии. Этот репозиторий предназначен только для разработчиков и тестировщиков. Если будете его использовать в рабочей системе, с большой долей вероятности, сломаете ее.

Backports

Backports repository выступает как некий компромисс между стабильностью основной ветки и свежим набором программ из ветки testing. Репозиторий backports содержит пакеты преимущественно из testing и немного из unstable (только для обновлений безопасности).

Пакеты из backports там, где это возможно, устанавливаются без новых библиотек, которых нет в стабильной версии. Это сделано, чтобы можно было с большей вероятностью опять вернутся на stable, в случае необходимости.

Если вам нужен софт из веток testing и unstable, лучше использовать backports. Репозиторий создан как раз для того, чтобы не прыгать между этими ветками.

Это все, что касается деления репозиториев по классам релизов. Есть еще небольшое разделение, которое явно нигде не описано и сразу не догадаешься, как оно работает и устроено.

Security updates

Существует отдельный репозиторий только для security updates. Добавить его можно следующим образом:

Смысл этого repo в том, что сюда попадают только обновления безопасности и ничего другого. Вы можете настроить автоматическую установку пакетов из этого репозитория и не переживать о том, что что-то сломается. обновления сюда попадают максимально быстро после выпуска исправлений.

Stable-updates

Еще один отдельный репозиторий для установки пакетов через механизм stable-updates. Добавить его можно следующим образом.

Через этот repository вы будете по мере выпуска получать обновления, которые готовятся к публикации в очередном обновлении релиза. Так называемые Point Releases — 10.1, 10.2 и т.д. Случаются они не часто, примерно раз в 2-3 месяца, но проверенные для них обновления можно получить ранее как раз с помощью stable-updates.

Ветки main, contrib, non-free

Каждый официальный репозиторий Debian имеет по 3 ветки:

  1. main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других источников. Эти пакеты считаются частью дистрибутива Debian. Они полностью свободны для любого использования.
  2. contrib пакеты так же содержат DFSG-compliant ПО, но их зависимости могут требовать дополнительное ПО, которое может быть в других источниках, например ветке non-free.
  3. non-free содержит все остальное ПО, которое не соответствует DFSG.

DFSG — Debian Free Software Guidelines, критерии Debian по определению свободного ПО. В любом случае, пакеты из всех трех веток main, contrib и non-free полностью протестированы и подготовлены для работы с дистрибутивом Debian.

Теперь, зная всю теорию по репозиториям в Debian, мы можем проанализировать файл sources.list, который мы получили после установки. В нем подключены 3 репозитория с ветками main.

Это stable repo текущего релиза. Далее идет security repository для установки свежих обновлений безопасности.

И в завершении stable-updates для получения стабильных обновлений до очередного Point Release текущего дистрибутива.

Признаюсь честно, я много лет администрировал сервера с Debian, а до конца не понимал, что у меня записано в sources.list. Разобрался полностью только сейчас, когда писал статью. До этого просто копировал по привычке конфиги с репами. Догадывался о чем там речь, но точно не знал. Теперь восполнил пробел и поделился с вами информацией.

Добавить новый repository в debian

Теперь от теории перейдем к практике. Давайте вручную добавим новый репозиторий в Debian. К примеру, нам нужно установить на сервер стабильную версию MariaDB. Для этого добавим ее репозиторий. Это можно сделать либо в файле sources.list, но лучше создать отдельный в sources.list.d. Назовем его MariaDB.list.

После подключения репозитория, надо добавить его gpg ключ.

Теперь обновим кэш пакетов. Это нужно делать каждый раз после подключения нового репозитория.

Можно выполнить поиск пакета, чтобы убедиться, что новый репозиторий подключен.

Как я уже говорил, для настройки нового репозитория, вы могли просто добавить эти же 2 строки с параметрами в sources.list напрямую. Разницы никакой нет.

Зеркало официального репозитория yandex mirror

В рунете популярен репозиторий Яндекса под названием Y andex.Mirror — https://mirror.yandex.ru. Это зеркало популярных дистрибутивов Linux, Freebsd и других проектов, в том числе и Debian. Работает по протоколам HTTP, FTP и rsync.

Зеркало Яндекс можно использовать как для обновления пакетов, так и загрузки iso образов. Образы последней стабильной версии Debian можно скачать отсюда — https://mirror.yandex.ru/debian-cd/current/amd64/. Для использования Yandex.Mirror в регулярных обновлениях Debian, приведите sources.list к следующему виду.

Repository yandex mirror можно так же использовать для сетевой установки систем.

Sources List Generator (генератор списка репозиториев)

В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.

Пример такого генератора, который вы можете установить себе и настроить для использования — https://github.com/beli3ver/debgen. А вот его готовая реализация с наполнением — https://debgen.simplylinux.ch/.

Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.

К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:

  1. Репозиторий Stable
  2. Ветка main (просто отключил ветки contrib и non-free)
  3. Mirror — Russia
  4. Включить репозитории Security и Updates
  5. Добавить repo для софта — Docker, MariaDB, Nginx, NodeJS, Php, Webmin

В итоге получил вот такой sources.list

К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.

В целом, я бы не рекомендовал использовать такие сервисы по генерации готовых списков. Я не вижу проблем, чтобы вручную все сделать и проконтролировать процесс.

Локальный репозиторий

Есть несколько способов создать локальный репозиторий Debian. Из того, что я пробовал, самым простым и удобным мне показался apt-mirror, но у него есть один баг, если его использовать как зеркало официальных репозиториев. Он не качает переводы в формате .gz и.xz, только .bz2. В итоге, когда будете использовать локальный репозиторий в качестве зеркала официального, получите ошибку:

Другой простой вариант — использовать reprepro. Я не буду подробно останавливаться на настройке локального репозитория для Debian, так как это отдельная тема. По хорошему, репозиторий надо подписать gpg ключом, опубликовать с помощью http или ftp, может еще как-то. Я только кратко покажу, как это делается, чтобы вы понимали, что это вообще такое. А если реально нужен будет локальный репозиторий, вы без проблем найдете его подробную настройку. Там нет ничего сложного.

Дальше создаем каталог для локального репозитория и конфиг.

Конфиг делаем примерно следующего содержания.

Выполняем инициализацию репозитория.

Теперь можно добавлять пакеты в локальный репозиторий следующей командой.

Для того, чтобы подключить локально новый репозиторий, его нужно добавить в sources.list.

После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.

Архив репозиториев для старых версий

В официальном репозитории Debian располагаются пакеты для текущего релиза (stable), для прошлого релиза (oldstable) и для будущего релиза (testing). Для всех старых релизов репозитории отправляются в архив — http://archive.debian.org/debian/, который заморожен. Обновлений к релизам из архива больше нет. Но если вам по какой-то причине нужен репозиторий для старой версии Debian, вы можете им воспользоваться.

Ниже представляю готовые настройки репозиториев для прошлых версий.

Debian является одним из самых популярных дистрибутивов Linux всех времен, и теперь он получил новую версию Debian 10 Buster.

В Debian появилось много производных, наиболее популярным из которых является Ubuntu.

Дистрибутив Debian Linux широко используется из-за его основного управления пакетами — APT и формата пакетов .deb.

Каждое приложение, системная утилита или игра в Debian распространяется в виде пакета.

Вы можете установить эти пакеты в вашу систему, используя APT (автоматически или вручную).

В этом руководстве мы кратко рассмотрим новые возможности Debian 10, познакомимся с менеджером пакетов APT и узнаем, как настроить его файл sources.list на Debian 10 Buster.

Давайте посмотрим, каковы новые функции и самые важные изменения.

Новые возможности Debian 10 Buster

Наиболее важные функции нового Debian 10 Buster:

  • GNOME Desktop 3.30
  • Linux Kernel 4.19.0-5
  • OpenJDK 11.0
  • AppArmor Enabled by Default
  • Nodejs 10.15.2
  • NFtables заменяет iptables
  • Поддержка множества плат ARM 64 и ARMHF SBC
  • Mailman 3
  • Bash 5.0
  • Debian implementing /usr/merge
  • Secure-boot поддержка
  • Calameres Live-установщик образов Debian-Live

Что такое APT-менеджер и его sources.list

APT — менеджер пакетов, используемый в Debian и его производных.

APT расшифровывается как Advanced Package Tool и представляет собой набор инструментов для управления пакетами Debian и, следовательно, всеми приложениями, установленными в вашей системе Debian.

APT используется для установки, обновления или удаления приложений и пакетов.

APT способен разрешать проблемы с зависимостями и извлекать запрошенные пакеты из репозиториев пакетов.

Он делегирует фактическую установку и удаление пакетов dpkg — низкоуровневому инструменту Debian Package.

APT в основном используется инструментами командной строки, но есть и инструменты с графическим интерфейсом.

Файл /etc/apt/sources.list в Debian содержит список «источников», из которых можно получить пакеты.

Файл sources.list может отличаться в зависимости от различных факторов (с какой среды был установлен Debian, был ли он обновлен с предыдущего выпуска и т. д.)

Это список, который мы имеем в нашей системе:

Теперь мы обсудим содержимое этого файла и его различных разделов.

Содержимое и разделы файла Debian sources.list

Разделы файла sources.list следующие:

  • Тип архива
  • URL репозитория
  • распределение
  • Составная часть

Теперь мы подробно рассмотрим каждый из этих разделов.

Тип архива

Первая запись в каждой строке — deb или deb-src представляет тип архивов репозитория.

deb означает, что репозиторий в указанном URL-адресе содержит предварительно скомпилированные пакеты.

Это пакеты, установленные по умолчанию при использовании менеджеров пакетов, таких как apt-get, aptitude, synaptic и т. д.

deb-src указывает исходные пакеты с управляющим файлом Debian (.dsc) и diff.gz, содержащий изменения, необходимые для упаковки программы.

URL репозитория

Следующий раздел в строке ввода — это URL-адрес хранилища, из которого будут загружаться пакеты.

Вы можете найти основной список репозиториев Debian из зеркал исходников Debian Worldwide.

Распределение

Дистрибутивом может быть либо кодовое имя релиза / псевдоним (jessie, stretch, buster, sid) или класс релиза (old stable, stable, testing, unstable) соответственно.

Если вы собираетесь отслеживать класс выпуска, используйте имя класса, если вы хотите отслеживать выпуск версии Debian, используйте кодовое имя.

Составная часть

Обычно в Debian можно использовать три компонента, а именно:

  • main — содержит пакеты, которые являются частью дистрибутива Debian. Эти пакеты соответствуют DFSG.
  • contrib — Пакеты здесь совместимы с DFSG, но содержат пакеты, которых нет в основном хранилище.
  • non-free — содержит пакеты программного обеспечения, которые не соответствуют требованиям DFSG.

Как мы видим в следующем файле sources.list на Debian 10 Buster, что в строках были перечислены все три типа компонентов:

Если ваш файл sources.list отличается, вы должны будете добавить разделы contrib и non-free после main, чтобы все пакеты были перечислены.

Если это так в вашей системе, вы можете отредактировать файл /etc/apt/sources.list с помощью nano, vim или любого другого редактора, чтобы внести изменения.

Мы рассмотрим это в следующем разделе статьи.

Если вам также нужны компоненты Backports, contrib и non-free, добавьте строки buster-backports.

Например, для Debian 10 Buster:

Вместо этого вы можете использовать https:// … во всех приведенных выше URL-адресах, чтобы использовать репозитории через зашифрованные соединения HTTPS.

(Пользователи Debian 9 Stretch или более ранних выпусков должны сначала установить пакет apt-transport-https.)

Если ваш sources.list содержит все разделы, мы можем запустить обновление пакета, используя apt-get.

Это обеспечит синхронизацию вашего индекса apt.

Затем вы можете установить новые пакеты из репозитория.

В некоторых случаях вы можете получить ошибки в репозиториях при обновлении списков пакетов.

В этом случае используйте apt, а не apt-get. apt предпочтительнее apt-get для интерактивного использования.

Если это не решает проблему, тогда второй вариант — использовать —allow-releaseinfo-change

Добавление пользовательских репозиториев

Не всегда рекомендуется добавлять пользовательские и сторонние репозитории в файл /etc/apt/sources.list.

Вместо этого вы можете создать файл в каталоге /etc/apt/sources.list.d.

Например, чтобы установить docker-ce на Debian 10 Buster из его репозитория upstream, вы должны сделать следующее:

Вы можете использовать инструмент GNOME для редактирования вашего файла sources.list.

Доступ к нему осуществляется через Меню → Система → Администрирование → Источники программного обеспечения.

Другой способ — использовать команду apt, используемую для добавления сторонних репозиториев:

Затем вы можете перейти к обновлению apt-cache и установить пакет docker-ce с помощью apt-get.

Это рекомендуемый способ добавления любого другого стороннего репозитория.

Вы заметите, что это не сработает, потому что в вашей системе нет ключа GPG репозитория Docker.

Мы рассмотрим это далее.

Импорт ключей apt

При работе с репозиториями apt и sources.list в какой-то момент вам необходимо импортировать ключи GPG.

Обычно это делается с помощью команды apt-key с синтаксисом:

# apt-key adv —keyserver [server-address] —recv-keys [key-id]

Или вы можете загрузить ключ GPG напрямую и установить его из текущего каталога.

В качестве примера, чтобы загрузить ключи GPG репозитория Docker, вы должны запустить:

Для проверки правильности установки ключа выполните следующее:

После этого вы запустите:

Использование Apt с Tor

Если вы обеспокоены вопросами конфиденциальности или небезопасной передачи данных, вы можете использовать Tor с репозиториями Debian в вашем файле sources.list.

Apt может получать и загружать обновления через Tor.

Чтобы это сработало, вам нужно установить пакеты tor и apt-transport-tor.

Затем вы можете использовать официальные onion сервисы, предоставляемые Debian.

Заключение

Мы видите, как мы можем манипулировать репозиториями файлов и пакетов sources.list в Debian Linux.

Это обновленная статья для нового выпуска Debian — Debian 10 Buster.

DebianGeoMirror is discussion wiki to manage Debian global mirror servers by DNS.

There is one type of Debian Mirror archive URL with the new Debian GeoMirror capability.

httpredir.debian.org / http.debian.net

It is a service based on http redirections. It is still under development. More details at the following address and the pages linked from there: http://lists.debian.org/debian-mirrors/2012/01/msg00025.html and source code.

Mirror administrators don’t need to do anything special to receive users from the redirector.

Only APT version 0.7.21 or greater (i.e. squeeze or greater) support HTTP redirections.

http.debian.net is the old name from the testing phase, httpredir.debian.org is the current and official name.

deb.debian.org

This service is based on a CDN network prov >

cdn.debian.net

This service is deprecated, please do not use it. It is currently being used as an alias for http.debian.net to allow existing sources.list entries to continue to work in light of the original service having been shut down.

You can see what is CDN at:

requests for mirror administrators

First of all, please set mirror directory structure. You have to set your mirror by

cdn.debian.net can handle IP-based Virtual Host (http://httpd.apache.org/docs/2.0/vhosts/ip-based.html ) without any modification at server-s >

If mirror server use Name-based Virtual Host (http://httpd.apache.org/docs/2.0/en/vhosts/name-based.html ), please fill "ServerAlias cdn.debian.net". After that, please send mail to debian-mirrors@lists.debian.org and ar@debian.org.

Technical information on cdn.debian.net

Contact: Yasuhiro Araki ar@debian.org

summary

Health check

by HTTP (1) every 10 mins.

Geo Routing

GeoIP(2) for 42 countries (4) and 6 continents

Server list

autogenerated + http://cdncheck1.araki.net/hosts/ (password required)

Source code

Available

Source IP Routing

Available

  1. cdn.d.n checks rsync tracefile by HTTP(/debian/project/trace/#) for each server every three minutes. If server is down, this server is removed.
  2. Use GeoIP to check DNS server which client uses.
  3. Auto making from Mirrors.masterlist. But for Japan, hand-optimized. ( I round up volunteers for your country!)
  4. At 2009 Apr. 13.
  5. Apply at 2010, Aug, 7.

Technology and Codes:

At first, CDN find requester’s IP in C >

At 2nd, CDN find requester IP’s location by Max-mind DB. Max-mind DB is same DB file for geoip-bin.deb package.

At 3rd, CDN checks nation/continent rsync footprint on each mirrors. In order to avo >

At last, CDN return nation/continent IP address by DNS-balance (http://openlab.jp/dns_balance/dns_balance.html)

Do you want source? All codes are available in SVN at

Now these codes are maintained by three of DD in Japan.

It is watching servers: 154 (alive: 113) at June.4 2010.

All of these are

generated from data in http://www.debian.org/mirror/submit.

  • all architectures
  • mirrored by rsync
  • routed by GeoIP or C >
  • HTTP health checked every 10 minutes. If a server is failed, it will be removed next DNS caching (please wait 20minutes or less).
  • same directory structure.
  • weighted DNS round-robin based on band-w >
  • You can see list of servers in

    There are experimental mirrorbrain-based redirectors for debian-cd and debian-v >

    For general questions on the debian-mirrors:

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *