Репозитории 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:
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
Новички часто сталкиваются с проблемой, что после установки новой системы пакетный менеджер не может найти ни одного пакета. Это связано с тем, что по умолчанию основные репозитории Debian в систему не добавлены, там есть только репозитории из DVD дисков с помощью которых вы устанавливали систему. Эта проблема очень просто решается. Системные репозитории находятся в файле /etc/apt/sources.list. Давайте сначала посмотрим на содержимое этого файла по умолчанию:
sudo vi /etc/apt/sources.list
Синтаксис строки репозитория такой:
тип адрес дистрибутив ветка_1 ветка_2
Веток есть всего три, вот они:
Основы разобрали, теперь давайте посмотрим как добавить репозитории.
1. Файл /etc/apt/sources.list
Именно в этот файл репозиториев Debian надо добавлять системные репозитории. Чтобы получить доступ ко всем системным пакетам надо добавить репозиторий stable, со стабильной версией Debian, и репозиторий стабильных обновлений. Вот так будут выглядеть их строчки:
deb http://deb.debian.org/debian/ buster main contrib non-free
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
Просто добавьте их в конец файла /etc/apt/sources.list. Вы уже знаете какая часть за что отвечает и сможете разобраться. Если вы захотите добавить репозиторий Backports или Testing, то вам тоже следует использовать этот файл.
2. Папка /etc/apt/sources.list.d/
Сторонние репозитории тоже можно добавить в основной системный файл, но этого делать не следует, чтобы не засорять его лишними строками. Для сторонних репозиториев была придумана директория /etc/apt/sources.list.d/. В ней надо создать файл с именем репозитория и расширением .list, а затем добавить в неё репозиторий, как это делалось с основным конфигурационным файлом. Например, для браузера Chrome:
sudo vi /etc/apt/sources.list.d/google-chrome.list
deb http://dl.google.com/linux/chrome/deb/ stable main
Касательно сторонних репозиториев, есть ещё один момент. По умолчанию система не может им доверять, и для того чтобы это исправить нужно импортировать ключ репозитория. Обычно ключи можно найти на сайте, где вы нашли сам репозиторий, для того же Google Chrome ключ можно импортировать командой:
После добавления репозитория, прежде чем вы сможете установить пакет, необходимо обновить списки пакетов. Для этого выполните:
3. Команда apt-add-repository
Эта команда делает то же самое, что мы делали вручную на первом шаге. Она добавляет репозиторий в /etc/apt/sources.list. Отлично подходит для добавления системных репозиториев. Для сторонних репозиториев её можно использовать не всегда, поскольку она добавляет кодовое имя дистрибутива в строку репозитория, а это может её сломать, если владельцами репозитория такое явно не было задумано. Например, с помощью этой команды вы можете добавить testing репозиторий:
sudo apt-add-repository ‘deb http://ftp.ru.debian.org/debian/ testing main non-free contrib’
А потом удалить, если он больше не нужен:
Выводы
В этой небольшой статье мы рассмотрели добавление репозиториев Debian на примере операционной системы Debian 10. Как видите, для этого есть несколько способов и какой из них вы будете использовать зависит от вас. А как добавляете репозитории вы? Напишите в комментариях!
Apt downloads packages from one or more software repositories (sources) and installs them onto your computer.
A repository is generally a network server, such as the official DebianStable repository. Local directories or CD/DVD are also accepted.
Commonly used package sources
DebianStable: official Debian repository for the current release
StableProposedUpdates: official Debian repository for upcoming point releases (security and important bug fixes every
StableUpdates: official Debian repository for changes that cannot wait for the next point release, packages are also added to StableProposedUpdates for inclusion in the next point release
DebianSecurity: official Debian repository for frequent security updates
DebianBackports: more recent versions of some packages, compatible with DebianStable.
DebianTesting: current development state of the next stable Debian distribution
DebianUnstable: rolling development version containing the latest packages
DebianExperimental: development version containing the experimental/alpha/beta/untested packages
Editing software sources
Precautions
Using a graphical program
Some programs allow configuring Apt sources through a graphical interface. For example:
Applications menu > Settings > Software and updates (software-properties-gtk package)
Using a text editor
The main Apt sources configuration file is at /etc/apt/sources.list. You can edit this files (as root) using your favorite text editor.
To add custom sources, creating separate files under /etc/apt/sources.list.d/ is preferred.
sources.list format
The entries in this file normally follow this format:
Archive type
The first word on each line, deb or deb-src, indicates the type of archive. Deb indicates that the archive contains binary packages (deb), the pre-compiled packages that we normally use. Deb-src indicates source packages, which are the original program sources plus the Debian control file (.dsc) and the diff.gz containing the changes needed for packaging the program.
Repository URL
The next entry on the line is a URL to the repository that you want to download the packages from. The main list of Debian repository mirrors is located here.
Distribution
The ‘distribution’ can be either the release code name / alias ( stretch, buster, bullseye, bookworm, sid) or the release class (oldoldstable, oldstable, stable, testing, unstable) respectively. If you mean to be tracking a release class then use the class name, if you want to track a Debian point release, use the code name. Avoid using stable in your sources.list as that results in nasty surprises and broken systems when the next release is made; upgrading to a new release should be a deliberate, careful action and editing a file once every two years is not a burden.
For example, if you always want to help test the testing release, use ‘testing’. If you are tracking bookworm and want to stay with it from testing to end of life, use ‘bookworm’.
Component
main consists of DFSG-compliant packages, which do not rely on software outside this area to operate. These are the only packages considered part of the Debian distribution.
contrib packages contain DFSG-compliant software, but have dependencies not in main (possibly packaged for Debian in non-free).
non-free contains software that does not comply with the DFSG.
Example sources.list
Below is an example of a sources.list for Debian 11/Bullseye.
If you also need the contrib and non-free components, add contrib non-free after main. For example, for Debian 11/Bullseye:
If you also need the Backports, contrib, and non-free components, add bullseye-backports lines. For example, for Debian 11/Bullseye:
You can instead use https://. in all of the above lines to use the repositories over encrypted HTTPS connections if the according mirror supports HTTPS. (Users of Debian 9/Stretch or older releases will need to install the apt-transport-https package first.)
You can use a GNOME tool to edit your sources.list file. Access it through Menu → System → Administration → Software Sources.
Using Tor with Apt
Apt can retrieve and download updates through Tor. For this to work you need to install the tor and apt-transport-tor packages. You can then use the official onion services provided by Debian.
Here is an example sources.list using the onion services for Debian 11/Bullseye:
CD-ROM
If you’d rather use your CD-ROM for installing packages or updating your system automatically with APT, you can put it in your /etc/apt/sources.list. To do so, you can use the apt-cdrom program like this:
with the Debian CD-ROM in the drive.
Name Resolution
On occasion name resolution can break. For example, below is from a S/390x Port running in a QEMU Chroot:
You can temporarily work around it by obtaining the IP address from another machine, and then using the IP address rather than the URI:
Debug Symbol Packages
To debug a crash you often need the related debug symbol files. For most Debian packages these are in dbgsym packages. These are available from a separate archive.
Here is an example entry for your sources.list for Debian 11/Bullseye dbgsym packages:
The same if you running testing.
And one more example if you are using the unstable distribution.
More information
A list of UnofficialRepositories to get extra software ( Skype, Opera, Google )
/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, sid), либо класс релиза (stable, oldstable, testing, unstable). Если вы имеете в виду отслеживание класса релиза, а затем хотите использовать название релиза, или же если вы просто хотите отслеживать цикл релизов Debian, то используйте кодовое имя.
Например, если у вас есть система работающая на Debian 11.1 «bullseye» и вы не хотите обновляться когда выйдет Debian «bookworm», в таком случае нужно использовать «bullseye» вместо «bookworm». Если вы всегда хотите помогать с тестированием дистрибутива, то используйте «testing». Если вы отслеживаете цикл «bookworm» и хотите оставаться на нём от тестирования и до конца его жизни, используйте «bookworm».
Компонент
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, например:
Проблемы с разрешением доменных имен
Если у вас сломалось/не работает разрешение имён. Например, ниже запущен порт S/390x в QEMU Chroot:
Вы можете временно обойти эту проблему, указав IP адрес репозитория (получив его с другой машны):
Debug Symbol Packages
Для отладки аварийных остановок работы программ часто требуются соответствующие файлы символов отладки. Для большинства пакетов Debian они находятся в пакетах dbgsym. Они доступны из отдельного архива.
Ниже приведен пример файла sources.list для dbgsym-пакетов Debian 9/Stretch:
Подробнее
Список неофициальных репозиториев, что-бы получить дополнительные программы ( Skype, Opera, Google )








