Настройка репозиториев debian 10

Обновлено: 05.07.2024

Устанавливайте репозитории в 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 ― эта ветка включается в каждый дистрибутив. Она подчиняется принципам свободного программного обеспечения. Ветка не зависит от других пакетов, которые не входят в раздел «main»;
  • contrib ― эта ветка подчиняется принципам свободного программного обеспечения и зависит только от пакетов, которые не входят в раздел «main». Может понадобиться прошивка ROM или ПО, которое имеет собственника, например Java от Oracle;
  • non-free ― содержит пакеты, которые противоречат принципам свободного программного обеспечения или имеют патенты и другие юридические ограничения.

Пакеты в каждой из веток (main, contrib и non-free) полностью готовы к работе с дистрибутивом Debian. Также для добавления репозитория вам понадобятся названия псевдонимов версий Debian.

Псевдонимы версий Debian

Все версии (релизы) Debian имеют псевдонимы. Каждая версия названа в честь одного из героев мультфильма «История игрушек»:

  • Debian 7 ― Wheezy,
  • Debian 8 ― Jessie,
  • Debian 9 ― Stretch,
  • Debian 10 ― Buster,
  • Debian 11 ― Bullseye.

Знание релизов понадобится при добавлении репозитория.

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

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

Как подключить репозиторий Debian:

Откройте терминал сочетанием клавиш Ctrl+Alt+T.

Отредактируйте файл /etc/apt/sources.list. Введите в терминал:

Подключение репозитория Debian.jpg

В конец файла вставьте команду с адресом репозитория:

Схема кода

  • deb ― указывает на то, что это пакет Debian;
  • ссылка на репозиторий пакетов Debian (выглядит, как обычный URL-адрес сайта). На сайте Debian есть ссылки на зеркала, а также список сгруппированных пакетов, по категориям Stable, Testing, Unstable;
  • название версии Debian ― кодовое имя дистрибутива, псевдоним (например, Buster ― Debian 10, Stretch ― Debian 9, Jessie ― Debian 8, и т.д);
  • main ― компонент, который указывает на полностью свободное программное обеспечение. Также можно указать компоненты contrib и non-free.

Чтобы скачать программу MariaDB для Debian 10, надо ввести:

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

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

Как добавить репозитории в Debian

Новички часто сталкиваются с проблемой, что после установки новой системы пакетный менеджер не может найти ни одного пакета. Это связано с тем, что по умолчанию основные репозитории Debian в систему не добавлены, там есть только репозитории из DVD дисков с помощью которых вы устанавливали систему. Эта проблема очень просто решается. Системные репозитории находятся в файле /etc/apt/sources.list. Давайте сначала посмотрим на содержимое этого файла по умолчанию:

sudo vi /etc/apt/sources.list


Синтаксис строки репозитория такой:

тип адрес дистрибутив ветка_1 ветка_2

Типов репозиториев может быть два. Это deb и deb-src. Первый - для бинарных файлов, второй - для файлов исходных кодов. Дистрибутив указывает кодовое имя дистрибутива, например, для Debian 10 - это buster, для девятой версии stretch. Для стабильных обновлений есть еще один репозиторий, где вместе с кодовым именем дистрибутива указывается слово updates, например: buster-updates.

Веток есть всего три, вот они:

  • main - полностью свободные пакеты, это основа дистрибутива Debian;
  • contrib - свободные пакеты, которые могут зависеть от несвободных;
  • non-free - все остальные несвободные пакеты.

Основы разобрали, теперь давайте посмотрим как добавить репозитории.

1. Файл /etc/apt/sources.list

Именно в этот файл репозиториев Debian надо добавлять системные репозитории. Чтобы получить доступ ко всем системным пакетам надо добавить репозиторий stable, со стабильной версией Debian, и репозиторий стабильных обновлений. Вот так будут выглядеть их строчки:


Просто добавьте их в конец файла /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

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

sudo apt update


3. Команда apt-add-repository

Эта команда делает то же самое, что мы делали вручную на первом шаге. Она добавляет репозиторий в /etc/apt/sources.list. Отлично подходит для добавления системных репозиториев. Для сторонних репозиториев её можно использовать не всегда, поскольку она добавляет кодовое имя дистрибутива в строку репозитория, а это может её сломать, если владельцами репозитория такое явно не было задумано. Например, с помощью этой команды вы можете добавить testing репозиторий:

А потом удалить, если он больше не нужен:

Выводы

В этой небольшой статье мы рассмотрели добавление репозиториев Debian на примере операционной системы Debian 10. Как видите, для этого есть несколько способов и какой из них вы будете использовать зависит от вас. А как добавляете репозитории вы? Напишите в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


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

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

Каждое приложение, системная утилита или игра в 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 расшифровывается как Advanced Package Tool и представляет собой набор инструментов для управления пакетами Debian и, следовательно, всеми приложениями, установленными в вашей системе Debian.

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

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

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

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

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

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

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

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

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

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

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

Тип архива

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

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

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

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

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

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

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

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

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

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

Как мы видим в следующем файле 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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Это основной способ зеркалирования, помимо официального ftpsync, т.к. он гораздо надёжней debmirror.

Создаём каталог /mnt/repo/debian и дополнительные mirror,var,skel. В нём будет создаваться локальный репозиторий пакетов. Желательно чтобы это был примонтированный логический раздел жёсткого диска, чтобы в случае переустановки дистрибутива с нуля, при форматировании корневого раздела (/), не лишиться репозитория совсем.

Настройка apt-mirror

  • Зеркало с готовыми к установке (бинарными) пакетами для amd64 jessie (stable)+ исходные тексты
  • Зеркало с готовыми к установке (бинарными) обновлениями безопасности amd64 jessie (stable)+ исходные тексты
  • Зеркало с готовыми к установке (бинарными) прочими обновлениями amd64 jessie (stable)+ исходные тексты
  • Зеркало Backports, с готовыми к установке (бинарными) пакетами для amd64 jessie (stable)+ исходные тексты
  • Зеркало необходимое для сетевой установки (udebs).

Примечание: Раскомментирование строк лишь заменяет настройки по умолчанию.

Редактируем конфигурационный файл /etc/apt/mirror.list:

Если необходимо хранить несколько зеркал для разных выпусков и архитектур, то добавляем новые строки аналогично для jessie amd64

Далее нужно убедиться что все указанные в файле mirror.list каталоги существуют.

Запуск и автоматизация apt-mirror

Для ручного запуска создания/обновления зеркала выполняем команду:

После загрузки индексных файлов apt-mirror сообщит, какой объём пакетов нужно получить:

Остаётся только дождаться завершения скачивания.

Для автоматической синхронизации и очистки зеркал нужно добавить строку в настройки cron и выставить подходящее время. Обновление официальных зеркал происходит каждые 6 часов: 3:00,9:00,15:00,21:00. Например так:

Настройка доступа к зеркалу

После завершения работы локальные копии всех указанных репозиториев окажутся в каталогах /mnt/repo/debian/mirror/имя_репозитория. Таким образом копия репозитория, которая была определена в файле mirror.list как:

Доступ именно к этому каталогу можно открывать любым удобным для Вас способом - Web или FTP сервером. Для корректной работы обязательно необходимо добавить символические ссылки "stable","testing", "unstable" на те выпуски, которые вы зеркалируете (если они у вас есть).

Далее очень желательно подписать вновь созданный репозиторий.

C помощью утилиты debmirror

Создание каталога /mnt/repo/debian, в нём будет создаваться локальный репозиторий пакетов. Желательно чтобы это был примонтированный логический раздел жёсткого диска, чтобы в случае переустановки дистрибутива с нуля, при форматировании корневого раздела (/), не лишиться репозитория совсем.

Опции

По умолчанию debmirror создаёт зеркало из секций main, contrib, non-free, main/debian-installer.

Можно исключать секции ненужных вам пакетов:

Имя секции обязательно в кавычках, иначе опция проигнорируется, это будет видно по общему объёму необходимых для скачивания пакетов выводимых программой в самом начале своей работы.

Принадлежность к определенной секции вашего пакета можно узнать по команде:

Пример получения бинарного зеркала (без пакетов с исходным кодом) Debian Stable для amd64:

C помощью утилиты reprepro

Создание каталога /mnt/repo/debian, в нём будет создаваться локальный репозиторий пакетов. Желательно чтобы это был примонтированный логический раздел жёсткого диска, чтобы в случае переустановки дистрибутива с нуля, при форматировании корневого раздела (/), не лишиться репозитория совсем.

Cоздание каталога /mnt/repo/debian/conf и пустого конфигурационного файла distributions:

В файл /mnt/repo/debian/conf/distributions указываем следующие параметры (пример для testing, архитектура i386):

Описание параметров

Дополнительные важные опции:

Инициализация репозитория

Создаём каталоги, файлы, ссылки:

Базовый каталог не задан, т.к. мы уже в нём находимся.

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

Параметр -b задаёт базовый каталог репозитория, в нашем случае это /mnt/repo, если вы находитесь уже в нём, то его можно не задавать, т.к. reprepro ищет файл conf/distributions в текущем каталоге.

Добавление Дебиановских исходников в репозиторий. Они состоят обычно из 2-3 файлов, главным (управляющим) из которых является dsc-файл. Чтобы все файлы исходников добавились в репозиторий, нужно использовать includedsc, остальное аналогично.

Параметр --ask-passphrase подпишет ваш репозиторий с помощью вашего ключа GnuPG. Его можно не указывать, если не планируете подписывать репозиторий ключём gnupg. На не подписанные репозитории, aptitude будет выдавать предупреждение, что он ненадежный. Для использования подписанного репозитория, надо сделать выгрузку вашего ключа, а на машине использующей репозиторий:

Добавление пакетов расположенных на CD/DVD Debian

Они уже лежат в иерархии каталога pool на дисках, но reprepro не поддерживает рекурсивный поиск по подкаталогам, но это достаточно легко обойти шаблоном (pool/*/*/*/*.deb). Пример:

Она найдёт и добавит всё пакеты.

Удаление deb-пакета из репозитория

Удаление пакетов вместе с исходниками либо всех пакетов, относящихся к одному собранному приложению (это означает, что данные пакеты в репозитории лежат в одной папке, причем имя папки и будет указывать на имя приложения):

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

Для использования репозитория нужно добавить его в файл /etc/apt/sources.list в виде следующей строки (в общем виде):

Генерирование ключа

Чтобы не было проблем с тем, что ключи созданы не там, рекомендуется все делать от учётной записи «root». Для генерирования ключа нужно выполнить команду:

Ответ на вопрос о типе ключа (обычно - 1):

Ответ на вопрос о длине ключа (тоже по умолчанию - 2048):

Ответ на вопрос о сроке истечения ключа (0 - никогда не истекает):

После этого может потребоваться подтвердить выбор:

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

Экспорт ключа

Где mylocalkey.asc это имя файла, в который внесен данный экспорт (новый файл, он создатся в процессе).

Добавление ключа в apt

Команда выполняется из того же каталога, что и предыдущая (из того, где находится mylocalkey.asc):

После этого можно проверить наличие ключа в списке apt:

Выведет все ключи, в том числе и созданный.

Если нужно удалить ключ из apt, то это выполняется командой:

В этом случае ID_ключа будет 5A81CBE3 (см.выше).

Подписывание локального репозитория созданным ключом

Сначала нужно убедиться в том, что в локальном репозитории имеется файл Release (находится в каталоге /mnt/repo/debian/dists/ветка_дистрибутива). В этом файле хранится информация о репозитории.

Читайте также: