Debian 9 настройка репозиториев

/etc/apt/sources.list

Как часть своей работы, Apt использует файл содержащий список ‘источников’ из которых могут быть скачаны пакеты. Этот файл /etc/apt/sources.list.

Содержимое этого файла обычно имеет следующий формат (приведенные ниже данные являются вымышленными и не должны использоваться):

Тип архива

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

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

Следующая запись в строке это адрес (URL) репозитория с которого вы хотите скачивать пакеты. Основной список зеркал репозитория Debian находитсяздесь.

Дистрибутив

‘distribution’ может быть либо кодовое имя / псевдоним релиза (jessie, stretch, buster, s >

Например, если у вас есть система работающая на Debian 10.2 "buster" и вы не хотите обновляться когда выйдет Debian "bullseye", в таком случае нужно использовать "buster" вместо "bullseye". Если вы всегда хотите помогать с тестированием дистрибутива, то используйте "testing". Если вы отслеживаете цикл "bullseye" и хотите оставаться на нём от тестирования и до конца его жизни, используйте "bullseye".

Компонент

main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других зон. Эти пакеты считаются частью дистрибуции Debian

contrib пакеты содержат DFSG-compliant ПО, но у них зависимостей из зоны main (возможно упакованы в non-free).

non-free содержит ПО, которое не соответствует DFSG.

Пример sources.list

Ниже приведен пример файла sources.list для Debian 9/Stretch.

Если вы хотите подключить репозиторий с несвободными компонентами системы, то добавьте contrib non-free после main:

Для редактирования вашего файла sources.list, вы можете воспользоваться утилитой software-properties-gtk. Расположенной в Menu → System → Administration → Software Sources.

Используем Tor вместе с Apt

Apt может получать и загружать обновления через Tor. Для этого вам нужно установить пакеты tor и apt-transport-tor. Затем вы можете использовать официальные onion-ресурсы в Debian.

Ниже приведен пример файла sources.list использующий onion-ресурсы в Debian 9/Stretch:

CD-ROM

Если вы хотите использовать CD-ROM для установки пакетов или автоматического обновления системы через APT, то можно записать его в /etc/apt/sources.list. Для этого можно использовать программу apt-cdrom, например:

Можно использовать -d для каталога точки монтирования CD-ROM или добавить точку монтирования не-CD (т.е. USB накопитель).

Проблемы с разрешением доменных имен

Если у вас сломалось/не работает разрешение имён. Например, ниже запущен порт S/390x в QEMU Chroot:

Вы можете временно обойти эту проблему, указав IP адрес репозитория (получив его с другой машны):

Debug Symbol Packages

Для отладки аварийных остановок работы программ часто требуются соответствующие файлы символов отладки. Для большинства пакетов Debian они находятся в пакетах dbgsym. Они доступны из отдельного архива.

Ниже приведен пример файла sources.list для dbgsym-пакетов Debian 9/Stretch:

Подробнее

Список неофициальных репозиториев, что-бы получить дополнительные программы ( Skype, Opera, Google )

Дистрибутив Debian является популярным дистрибутивом GNU/Linux, имеющим большое количество репозиториев. Первое время все репозитории были распределены на 3 ветки: stable, unstable и testing. Однако по прошествии времени были прибавлены дополнительные ветви. В настоящее время для эффективной и безопасного использования системы необходимо гораздо больше знаний.

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

Официальные репозитории

Официальные версии репозиторииев Debian поделены на определенные ветки. Main является основной веткой и входит в состав любого дистрибутива. В ней находится лишь свободное ПО. Тем не менее имеется возможность редактирования sources.list и добавления ветки contrib, содержащей программы, связанные с несвободными программи. Кроме того, возможно добавление ветки non-free, включающей несвободные программы.

Основные репозитории имеют названия как у персонажей мультфильма «Toy story» («История игрушек»). Нестабильный пакет имеет наименование «Sid», а названия пакетов репозиториев Stable и Testing непрерывно меняются. Вслед за обновлдением версии дистрибутива, бывший репозиторий Testing делается текущим Stable, далее обновляется репозиторий Testing для новой версии. Имена применяются для настройки зеркал репозиториев. Проанализируем детальнее особенности всех репозиториев.

Репозитории Debian 9 список

  • Stable
  • Testing
  • Unstable (Sid)
  • Experimental
  • Security
  • Old stable
  • Updates
  • Backports

Stable

Репозиторий класса Stable включает самую новейшую стабильную версию системы. Он является проверенной, наиболее устойчивой версией Linux из имеющихся. По данному основанию Debian применяется на серверах, в которых требуется высокий уровень безопасности.

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

Репозиторий Stable может иметь актуальный характер, связанный со временем обновления версии Debian, на протяжении начальных 6-10 месяцев после того, как состоялся релиз. Пакеты программ, который он включает будут еще актуальны, однако до завершающей заморозки нового выпуска они полностью устареют. Использование пакета программ класса Stable, вероятно, позволит избежать каких-либо сложностей при работе системы.

deb http://ftp.ru.debian.org/debian stable main contrib non-free

deb-src http://ftp.ru.debian.org/debian stable main contrib non-free

Testing

Testing является репозиторием Debian, включающим пакеты тестирования, которые затем включаются в следующую версию. После перехода пакета из класса Unstable в класс Testing, он к этому времени проходит детальную проверку. Некоторые пользователи считают, что программное обеспечение класса Testing более надежно, чем репозиториев отдельных дистрибутивов. Система Ubuntu охватывает множество пакетов от Testing. Репозиторий также располагает ветками non-free, main и contrib. Для установки данного репозитория следует прописать следующие строки в текстовом файле.:

deb http://ftp.ru.debian.org/debian/ testing main non-free contrib

deb-src http://ftp.ru.debian.org/debian/ testing main non-free contrib

Unstable (Sid)

Новейшие пакеты как правило оказываются в репозитории Unstable, с помощью него можно использовать наиболее актуальные версии программ в Debian. Многие пакеты могут быть использованы, однако они могут вызывать некоторые проблемы и ошибки. Отдельные пакеты могут конфликтовать друг с другом, при этом пользователь не сможет надлежащим образом устанавливать или удалять программное обеспечение.

При обновлении данного репозитория рекомендуется применять параметр simulate. Репозиторий Unstable может быть использован для получения обновлений программ, не являющихся системными. Пакеты могут работать нестабильно, тем не менее они не нанесут ущерб установленной системе. В особенности нестабильно может работать Sid в первые несколько месяцев вслед за обновлениями, поэтому может наблюдаться большое количество ошибок.

Для установки данной ветки необходимо добавить в конец файла следующие строки:

deb http://ftp.ru.debian.org/debian/ unstable main non-free contrib

deb-src http://ftp.ru.debian.org/debian/ unstable main non-free contrib

Experimental

Следует понимать, что если нестабильный (Unstable) класс репозиториев может в отдельных случаях приводить к ошибкам, то экспериментальный (Experimental) репозиторий почти постоянно будет связан с проблемами. Он включает новейшие и до такой степени нестабильные пакеты программного обеспечения, что они не совместимы даже с репозиторием Unstable. Рекомендуется не устанавливать пакеты из него, поскольку пакеты не обладают достаточной надежностью.

Security

Debian Security включает обновления, касающиеся безопасности использования пакетов для репозиториев stable и old-stable. Его необходимо установить и поддерживать в активном состоянии.

Old stable

После выпуска новой версии Debian, репозиторий тестирования (Testing) получает класс «Стабильный». А старый репозиторий Stable получает класс «old stable». Его поддержка осуществляется какой-то период, поскольку некоторым пользователям требуется время на обновление системы, а есть и такие, которые не торопятся «обновляться».

Updates

Репозиторий security и данный репозиторий устанавливается в автоматическом режиме. При этом адрес содержит определенное кодовое имя наименования дистрибутива. Этот репозиторий позволяет возмещать постепенный процесс обновления Debian, прибавляет последние пакеты для ПО, к примеру, для антивирусных программ.

Backports

Репозиторий backports охватывает программы из Testing и Unstable. Пакеты перекомпилируются для включения в «стабильный» репозиторий исходя из минимума библиотек. По безопсаности, он нарасполагается между Testing и Stable. Рекомендуется употреблять его исключительно для кое-каких пакетов и выполнять обновление всей системы. Все-таки использование Backports надежнее, чем перемешивание Stable, Unstable и Testing.

deb http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free

Полезные сторонние репозитории

Многими проектами выпускаются сторонние репозитории Debian пакетов. Сюда относятся драйвера, имеющие закрытый код, репозитории окружений рабочего стола и др. Зачастую подобные проекты выпускают новые версии в свои репозитории. По факту таковые репозитории могут быть менее надежными, по сравнению даже с классом experimental. Отдельные из них потребуются только разработчикам.

Debian multimedia

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

deb http://mirror.yandex.ru/debian-multimedia/ stable main

deb-src http://mirror.yandex.ru/debian-multimedia/ stable main

Для работы сторонних репозиториев нужно добавить набор их ключей в систему:

$ sudo apt install deb-multimedia-keyring

Репозитории Google

Корпорация Google выгружает актуальные версии своих проектов, например, Google Hangouts, Google Earth с помощью собственных репозиториев. Ключевые из которых:

deb http://dl.google.com/linux/chrome/deb/ stable main

deb http://dl.google.com/linux/earth/deb/ stable main

Репозитории Oracle

Американская корпорация Oracle использует свои репозитории Debian 9 для собственных проектов. Чтобы добавить репозиторий пропишите строку:

deb http://oss.oracle.com/debian unstable main non-free

Также допускается отдельно добавлять репозиторий VirtualBox:

deb http://download.virtualbox.org/virtualbox/debian yakkety contrib

Необходимо добавить ключи:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add —

$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add —

Редактирование репозиториев

Для того, чтобы отредактировать репозитории необходимо открыть от имени суперпользователя source list, сделать это можно через текстовый редактор nano.

в sources.list вставляем:

# — Основные репозитории, безопасность, обновления, свободные или несвободные пакеты

deb http://ftp.ru.debian.org/debian stable main contrib non-free

deb-src http://ftp.ru.debian.org/debian stable main contrib non-free

deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free

deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free

deb-src http://security.debian.org/ jessie/updates main contrib non-free

Далее сохраняем и выходим

Обновить список репозиториев

Устанавливаем ключ репозиторий Multimedia

sudo apt-get install deb-multimedia-keyring

Обновление списка репозиториев

Заключение

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

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

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

Цели статьи

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

Введение

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

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

Помимо официальных списков реп (транскрипция от сокращения 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/debianurl репозитория
distributionпсевдоним релиза (buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.)
componentmain, 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, вы можете им воспользоваться.

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

Оцените статью
Ремонт оргтехники
Добавить комментарий