Debian-репозитории
Устанавливайте репозитории в Debian легко и быстро. В статье мы расскажем, что такое репозитории, какие они бывают, а также, как происходит настройка репозиториев в Debian.
Что такое репозитории в Linux
Все программы в Linux распространяются в виде пакетов ― набора программ, упакованных в специальный формат. Пакеты можно скачать из репозиториев. Репозитории ― это хранилища в Интернете, в которых находятся файлы пакетов приложений Linux. Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит проверенные и стабильные версии программ.
Пакеты можно установить на Linux одним из двух способов: через инструменты с графическим интерфейсом (менеджеры файлов) или через командную строку (терминал). Подключение репозиториев в Debian происходит через терминал. С его помощью вы вводите команду — обращаетесь к репозиторию, и программа устанавливается.
Для работы с программным обеспечением на Debian надо знать псевдонимы версий Debian, официальные репозитории, а также виды веток программных пакетов. Сначала рассмотрим основные репозитории и разделы в Debian.
Типы официальных репозиториев в Debian
Существует официальный список репозиториев Дебиан. Расскажем про каждый из них подробнее.
Stable
В этом репозитории находятся самые актуальные и стабильные версии программ, именно их рекомендуется использовать. Программы, которые оказались в этом репозитории, прошли много проверок и доработок, чтобы стать надежным ПО. Часто в этом репозитории публикуют не самые свежие версии, зато самые надежные. Он формируется из ветки Testing после тщательной доработки.
Testing
В репозитории Testing находятся разработанные программы, которые ещё не прошли много тестов, чтобы перейти в ветку Stable. Пакеты в Testing попадают из репозитория Unstable. Использовать программы из репозитория Testing следует, только чтобы ознакомиться с возможностями нового релиза программы, так как они могут иметь ошибки при использовании.
Unstable (sid)
Sid ― это репозиторий с самым свежим программным обеспечением. Если в репозитории Testing ошибок может совсем не быть, так как до этого программа уже прошла большой путь проверок, то здесь ПО только начало свой путь. Использовать программы из этого репозитория не рекомендуется. Также Unstable может нарушить зависимости пакетов, так что потом вернуться на Stable будет трудно.
Oldstable
Oldstable — кодовое имя предыдущего Stable репозитория. При публикации новой версии Stable, предыдущая переходит в ветку Oldstable. Для этого репозитория ещё продолжают выпускаться обновления безопасности.
Experimental
Experimental репозиторий содержит пакеты и утилиты, которые только разрабатываются и находятся в состоянии начальной версии. Он предназначен для разработчиков и тестировщиков.
Backports
Backports ― компромисс между Stable-веткой и набором программ Testing. Он содержит преимущественно пакеты из Testing и немного из Unstable. Пакеты из Backports, где это возможно, устанавливаются без новых библиотек. Это сделано для того, чтобы при необходимости можно было вернуться на Stable. Если вам нужно ПО из веток Testing и Unstable, то лучше использовать этот репозиторий.
В Debian каждый репозиторий состоит из нескольких веток (разделов):
Пакеты в каждой из веток (main, contrib и non-free) полностью готовы к работе с дистрибутивом Debian. Также для добавления репозитория вам понадобятся названия псевдонимов версий Debian.
Псевдонимы версий Debian
Все версии (релизы) Debian имеют псевдонимы. Каждая версия названа в честь одного из героев мультфильма «История игрушек»:
Знание релизов понадобится при добавлении репозитория.
Репозитории Debian
Ничто так не отличает дистрибутив Debian от других дистрибутивов, как его система пакетов и репозиториев. Изначально репозитории были разделены на три ветки: testing, stable и unstable. Но на протяжении многих лет были добавлены дополнительные ответвления. На данный момент требуется намного больше знаний, чтобы использовать систему эффективно и безопасно.
В этой небольшой статье мы рассмотрим какие бывают репозитории Debian 9, зачем они нужны, а также как их правильно использовать. Рассмотрим также несколько сторонних репозиториев, которые вы можете добавить к своей системе.

Официальные репозитории Debian
Три основных репозитория были названы в честь персонажей фильма «История игрушек». Нестабильный репозиторий принято называть «Sid», а имена репозиториев Testing и Stable постоянно меняются. После выхода новой версии Debian, репозиторий Testing становится Stable и создается новый репозиторий Testing для следующей версии. Имена используются при настройке зеркал репозиториев, а также они помогут вам запомнить что есть что. Рассмотрим подробнее особенности каждого из них. Но сначала наглядная схема:
1. Стабильный
Репозиторий Stable содержит самую последнюю стабильную версию Debian. Эта самая проверенная, самая стабильная версия Linux из всех доступных. По этой причине Debian используется на серверах и для систем, где важна высокая безопасность.
Цена, которую пользователи платят за надежность заключается в том, что сюда попадают программы через несколько лет после релиза. Пользователи, которые хотят более свежих версий используют Testing или Sid. Несмотря на то что такая тактика может вызвать проблемы, она используется довольно часто.
Актуальность Stable зависит от цикла выпуска Debian. Например, в течение первых 6-12 месяцев после релиза пакеты в нем все еще актуальны, но до финальной заморозки следующего выпуска они безнадежно устаревают. Но если вы ограничитесь программным обеспечением из Stable, то, скорее всего, избежите многих проблем.
2. Testing
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
3. Unstable или Sid
Новые пакеты обычно попадают в репозиторий Sid, этот репозиторий позволяет вам использовать самые новые версии пакетов в Debian. Большинство программ можно уже использовать, но пакеты могут содержать еще много ошибок. Здесь могут быть конфликтующие или сломанные пакеты, которые не дадут вам удалять или устанавливать программы.
Для этого репозитория лучше использовать параметр simulate во время обновления. Репозиторий sid можно использовать для получения новых версий пакетов, которые не относятся к системным. Программы могут быть по-прежнему нестабильны, но они не причинят вреда вашей системе. Особенно небезопасно использовать 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
4. Experimental
Если репозиторий Unstable может вызвать иногда проблемы, то этот репозиторий будет вызывать их всегда. Здесь находятся новые и настолько нестабильные пакеты, что они не подходят даже для Unstable. Разработчики предупреждают, что пользователям не нужно использовать пакеты отсюда, они могут быть небезопасными даже для опытных пользователей.
5. Старый stable
Когда выпущена новая версия Debian, ее репозиторий Testing становиться stable. А предыдущий стабильный репозиторий получает статус old-stable. Его нужно поддерживать, потому что многим пользователям нужно время для обновления, а другие и вовсе не спешат обновлять систему.
6. Security
Репозиторий Security содержит обновления безопасности для пакетов из репозитория stable и old-stable. Он добавляется во время установки и должен оставаться активным.
7. StableUpdates
Также как и security, этот репозиторий добавляется автоматически. В его адресе используется текущее кодовое имя дистрибутива, например, stretch-updates. Он помогает компенсировать медленный цикл развития Debian, добавляет новые пакеты для важных программ, например, антивирусов.
8. Backports
Репозиторий Debian backports содержит пакеты из Testing, иногда из Unstable, которые перекомпилируются для запуска в stable с зависимостью от минимума библиотек. С точки зрения надежности, он находится где-то посредине между Testing и Stable. Вы можете использовать Backports только для некоторых пакетов и не обновлять из него всю систему. Однако использование этого репозитория более безопасно чем смешивание Testing, Stable и Unstable.
deb http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
Сторонние репозитории
Многие проекты имеют собственные репозитории Deb пакетов. Это драйвера с закрытым кодом, репозитории окружений рабочего стола, и так далее. Многие из таких проектов выгружают последние версии в собственные репозитории. Теоретически, такие репозитории Debian 9 могут быть даже более сырые, чем unstable или experimental. Многие из них предназначены только для разработчиков.
1. Deb-multimedia
Из сторонних репозиториев обычным пользователям нужно не так много. Добавьте репозиторий с различными кодеками и программами для работы с мультимедиа:
deb http://mirror.yandex.ru/debian-multimedia/ stable main
deb-src http://mirror.yandex.ru/debian-multimedia/ stable main
Для работы сторонних репозиториев нужно добавить набор их ключей в систему:
sudo apt update
$ sudo apt install deb-multimedia-keyring
2. Dotdeb
Этот репозиторий Debian 9 содержит новые версии стека LAMP, MySQL и PHP. Для добавления используйте:
deb http://packages.dotdeb.org stretch all
deb-src http://packages.dotdeb.org stretch all
3. Репозитории Google
Компания Google размещает новые версии своих проектов, таких как Google Chrome, Google Earth в собственных репозиториях. Вот основные из них:
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://dl.google.com/linux/earth/deb/ stable main
Для работы репозитория нужно добавить ключ:
4. Репозитории Oracle
Компания Oracle имеет собственные репозитории Debian 9 для своих продуктов. Для добавления репозитория используйте такую строку:
deb http://oss.oracle.com/debian unstable main non-free
Также можно отдельно добавить репозиторий для VirtualBox:
deb http://download.virtualbox.org/virtualbox/debian yakkety contrib
Не забудьте загрузить ключи:
Выводы
В этой статье мы рассмотрели основные репозитории Debian 9 stretch. Теперь вы понимаете как обращаться с программным обеспечением, зачем нужны те или иные ветки, а также какие пакеты откуда ставить. Также здесь есть несколько сторонних репозиториев, из которых вы сможете взять нужные вам программы.
Видео по теме, настройка репозиториев Debian:
Как удалить этот PPA репозиторий?
Ошибка GPG: http://ppa.launchpad.net trusty InRelease: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY C2518248EEA14886
Вот все, что выводится в консоль:
Получено:42 http://ppa.launchpad.net trusty InRelease [15,5 kB]
Игн http://ppa.launchpad.net trusty InRelease
Игн http://ppa.launchpad.net trusty/main Sources/DiffIndex
Игн http://ppa.launchpad.net trusty/main amd64 Packages/DiffIndex
Игн http://ppa.launchpad.net trusty/main i386 Packages/DiffIndex
В кэше http://ppa.launchpad.net trusty/main Translation-en
В кэше http://ppa.launchpad.net trusty/main Sources
В кэше http://ppa.launchpad.net trusty/main amd64 Packages
В кэше http://ppa.launchpad.net trusty/main i386 Packages
Игн http://ppa.launchpad.net trusty/main Translation-ru_RU
Игн http://ppa.launchpad.net trusty/main Translation-ru
Получено 627 kБ за 9с (68,8 kБ/c)
Чтение списков пакетов… Готово
W: Ошибка GPG: http://ppa.launchpad.net trusty InRelease: Следующие подписи не могут быть проверены так как недоступен открытый ключ: NO_PUBKEY C2518248EEA14886
1 ответ 1
к сожалению, вы не привели всей информации, которую вам сообщила программа apt-get. там должно было быть указано и имя репозитория, с которым возникли проблемы.
судя по встречающимся в интернете упоминаниям строки C2518248EEA14886, этим ключом подписаны пакеты то ли в репозитории webupd8, то ли в репозитории vlc.
для «отключения» репозитория можно, например, закомментировать строки, в которых встречаются эти слова (webupd8 или vlc). нужные файлы можно найти, например, так:
«закомментировать» — это вставить символ # в начало строки.
дополнение
если искомые слова не нашлись, стоит поискать слова ppa или trusty:
Добавление репозитория в Debian, примеры sources.list
Данная статья является частью единого цикла статьей про сервер Debian.
Цели статьи
Введение
Существуют repository не только для операционных систем, но и для программ. Там могут быть как уже скомпилированные и готовые к установке пакеты, так и исходные коды программных продуктов. Большинство репозиториев содержат готовые пакеты. Это относится и к стандартным репозиториям Debian.
Помимо официальных списков реп (транскрипция от сокращения repo), есть сторонние, которые поддерживают производители программ либо энтузиасты. Нужно внимательно относиться к сторонним репозиториям, не добавлять их бездумно. Там может располагаться любое ПО, в том числе не то, что заявлено изначально. Либо они могут быть взломаны для размещения вредоносных программ.
Управлением пакетами и работой с repository lists в Debian занимаются отдельные утилиты:
В данной статье мы не будем рассматривать их отличия, так как это тема отдельного повествования. Все они работают со стандартным списком источников, который в общем случае располагается в /etc/apt/sources.list.
Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:
Список репозиториев в sources.list
Изначально, содержимое sources.list будет зависеть от того, какой источник для пакетов вы выбрали во время установки debian. К примеру, в моем случае для системы Debian 10 он выглядит следующим образом.
Для Debian 11 bullseye немного изменился формат записи для репозитория security. Теперь он выглядит так:
В общем случае файл sources.list имеет следующую структуру:
| deb и deb-src | тип архива, бинарные пакеты (deb) или пакеты с исходным кодом (deb-src) |
| http://site.example.com/debian | url репозитория |
| distribution | псевдоним релиза (bullseye, buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.) |
| component | main, contrib или non-free набор пакетов |
Про псевдонимы релизов и наборы пакетов мы поговорим ниже более подробно в соответствующем разделе.
Помимо основного файла sources.list, репозитории могут располагаться в отдельных файлах в директории /etc/apt/sources.list.d. Формат файлов такой же, как и у основного. Обычно туда добавляют отдельно в каждый файл набор источников для какой-то определенной программы. Например, proxmox размещает в отдельном файле свой платный репозиторий.
Типы официальных репозиториев в Debian
Stable
Стабильная ветка официального текущего релиза Debian. То есть это самая свежая и актуальная версия, которую рекомендуется использовать. Официальный репозиторий стабильной ветки содержит проверенный набор программ, зачастую не очень свежих версий. Это плата за надежность. В production рекомендуется использовать пакеты именно из репозитория stable.
В этом репозитории регулярно публикуются все актуальные обновления текущего релиза. Он формируется из ветки Testing, которая в момент релиза новой версии превращается в Stable.
Oldstable
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. Добавить его можно следующим образом.
Ветки main, contrib, non-free
Каждый официальный репозиторий Debian имеет по 3 ветки:
Теперь, зная всю теорию по репозиториям в 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
Repository yandex mirror можно так же использовать для сетевой установки систем.
Sources List Generator (генератор списка репозиториев)
В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.
Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.
К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:
В итоге получил вот такой sources.list
К нему еще список gpg ключей для импорта. В принципе, к списку у меня претензий нет. Все по делу. Нужно только проверить php и mariadb repository. Мне предложенные не знакомы.
В целом, я бы не рекомендовал использовать такие сервисы по генерации готовых списков. Я не вижу проблем, чтобы вручную все сделать и проконтролировать процесс.
Локальный репозиторий
Дальше создаем каталог для локального репозитория и конфиг.
Конфиг делаем примерно следующего содержания.
Выполняем инициализацию репозитория.
Теперь можно добавлять пакеты в локальный репозиторий следующей командой.
Для того, чтобы подключить локально новый репозиторий, его нужно добавить в sources.list.
После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.
Архив репозиториев для старых версий
Ниже представляю готовые настройки репозиториев для прошлых версий.
Debian 9 stretch
Репозитории Debian 9 stretch пока еще находятся в основных репозиториях:
В скором времени они тоже переедут в архив. Случится это в июне 2022 года, когда кончится период длительной поддержки. Тогда их можно будет подключить по следующим адресам:
Debian 8 jessie
Репозитории Debian 8 jessie:
Debian 7 wheezy
Репозитории Debian 7 wheezy:
Debian 6 squeeze
Репозитории Debian 6 squeeze:
Возможные ошибки
Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.
Репозиторий не содержит файла Release
Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.
Ровно эту же ошибку вы получите, если будете использовать старую, снятую с поддержки версию Debian. В какой-то момент стандартные репозитории перестанут поддерживать вашу версию дистрибутива и вы получите ошибку. Вам надо будет либо обновляться до более свежей версии, либо использовать архивные репозитории.
Заключение
Постарался собрать весь материал, который касается настройки репозиториев в Debian в одном месте. Если есть какие-то ошибки или неточности, а так же дополнения, прошу сообщить в комментариях. Писал все сам, нигде не переводил у других и не копировал. Постарался раскрыть тему своими словами максимально понятно.
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.









