Debian 9 настройка репозиториев: Debian-репозитории | REG.RU

Настройка репозиториев в Debian | serveradmin.ru

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.

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

Цели статьи

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

Введение

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

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

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

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

  • apt
  • apt-get
  • synaptic
  • aptitude и др.

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

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

  • Установка Debian на сервер
  • Базовая настройка Debian после установки

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

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

deb http://mirror.corbina.net/debian/ buster main
deb-src http://mirror.corbina. net/debian/ buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

# buster-updates, previously known as 'volatile'
deb http://mirror.corbina.net/debian/ buster-updates main
deb-src http://mirror.corbina.net/debian/ buster-updates main

Для Debian 11 bullseye немного изменился формат записи для репозитория security. Теперь он выглядит так:

deb http://security.debian.org/ bullseye-security main

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

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

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

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

# cat /etc/apt/sources.list.d/pve-enterprise.list
deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise

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

Как я уже показал выше, в sources.list используются псевдонимы, либо классы релиза, а так же разные ветки наборов пакетов. С псевдонимами релизов все понятно. Они названы в честь персонажей мультфильма История игрушек (Toy story) — Wheezy, Jessie, Stretch, Buster, Bullseye и т. д. А вот насчет классов релизов поговорим отдельно. Существуют следующие официальные классы релизов 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. Репозиторий создан как раз для того, чтобы не прыгать между этими ветками.

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

Важное замечание. Я не рекомендую в качестве репозиториев указывать классы релизов — stable, oldstable и т.д. Всегда явно указывайте название релиза — bullseye, buster, stretch и т.д. Иначе в случае выхода нового релиза, вы при обычном обновлении получите обновление релиза, даже если не собирались его обновлять.

Security updates

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

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

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

Stable-updates

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

deb     http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

Через этот 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.

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main

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

deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

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

deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

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

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

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

deb [arch=amd64,arm64,ppc64el] http://mirror.mephi.ru/mariadb/repo/10.6/debian bullseye main
deb-src http://mirror.mephi.ru/mariadb/repo/10. 6/debian bullseye main

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

# curl -LsSO https://mariadb.org/mariadb_release_signing_key.asc
# chmod -c 644 mariadb_release_signing_key.asc
# mv -vi mariadb_release_signing_key.asc /etc/apt/trusted.gpg.d/

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

# apt update

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

# apt search mariadb-server

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

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

В рунете популярен репозиторий Яндекса под названием Yandex.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 к следующему виду.

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

deb http://mirror.yandex.ru/debian bullseye-updates main
deb-src http://mirror.yandex.ru/debian bullseye-updates main

deb https://mirror.yandex.ru/debian-security bullseye-security main
deb-src https://mirror.yandex.ru/debian-security bullseye-security main

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

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

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

Пример такого генератора, который вы можете установить себе и настроить для использования — debgen. Исходники раньше были на github, но потом пропали. А вот его готовая реализация с наполнением — 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

#------------------------------------------------------------------------------#
#                   OFFICIAL DEBIAN REPOS                    
#------------------------------------------------------------------------------#

###### Debian Main Repos
deb http://ftp. ru.debian.org/debian/ stable main

deb http://ftp.ru.debian.org/debian/ stable-updates main

deb http://security.debian.org/ stable-security main

#------------------------------------------------------------------------------#
#                      UNOFFICIAL  REPOS                       
#------------------------------------------------------------------------------#

###### 3rd Party Binary Repos
###Docker CE
deb [arch=amd64] https://download.docker.com/linux/debian bullseye stable

###MariaDB
deb [arch=i386,amd64] http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main
deb-src [arch=i386,amd64] http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main

###nginx
deb [arch=amd64,i386] http://nginx.org/packages/debian/ bullseye nginx
deb-src [arch=amd64,i386] http://nginx.org/packages/debian/ bullseye nginx

###NodeJs
deb https://deb.nodesource.com/node_12.x bullseye main
deb-src https://deb. nodesource.com/node_12.x bullseye main

###PHP
deb https://packages.sury.org/php/ bullseye main

###Webmin
deb http://download.webmin.com/download/repository sarge contrib

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

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

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

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

File not found updates/main/i18n/Translation-en (2: No such file or directory)

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

Установим reprepro.

# apt install reprepro

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

# mkdir -p /mnt/repo/debian/conf
# touch /mnt/repo/debian/conf/distributions

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

Codename:  bullseye
Suite:  stable
Version: 11.x
Origin: Debian
Label: Debian 11.x
Description: Debian Stable Updates Repository
Architectures: amd64 source
Components: main
DebIndices: Packages Release . .gz .bz2
DscIndices: Sources Release . .gz .bz2
Contents: .  .gz .bz2

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

# cd /mnt/repo/debian
# reprepro export
# reprepro createsymlinks

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

# reprepro -b /mnt/repo/debian --ask-passphrase includedeb bullseye /home/package.deb

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

deb [trusted=yes] file:/mnt/repo/debian bullseye main

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

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

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

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

Debian 9 stretch

Репозитории Debian 9 stretch пока еще находятся в основных репозиториях:

deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main

deb http://deb.debian.org/debian-security/ stretch/updates main
deb-src http://deb.debian.org/debian-security/ stretch/updates main

deb http://deb.debian.org/debian stretch/updates main
deb-src http://deb.debian.org/debian stretch/updates main

В скором времени они тоже переедут в архив. Случится это в июне 2022 года, когда кончится период длительной поддержки. Тогда их можно будет подключить по следующим адресам:

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

Debian 8 jessie

Репозитории Debian 8 jessie:

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

Debian 7 wheezy

Репозитории Debian 7 wheezy:

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

Debian 6 squeeze

Репозитории Debian 6 squeeze:

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

Возможные ошибки

Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.

Репозиторий не содержит файла Release

Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.

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

Заключение

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

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Вы научитесь делать профессиональный подбор конфигурации, управлять процессами, обеспечивать безопасность, выполнять развертывание, настройку и обслуживание сетей.
Проверьте себя на вступительном тесте и смотрите подробнее программи ссылке.

Помогла статья? Подписывайся на telegram канал автора


Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Скачать pdf

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

Репозитории — это сетевые хранилища программного обеспечения. Они используются в дистрибутивах 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, и репозиторий стабильных обновлений. Вот так будут выглядеть их строчки:

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 ключ можно импортировать командой:

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

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

sudo apt update

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'

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

sudo apt-add-repository --remove 'deb http://ftp.ru.debian.org/debian/ testing main non-free contrib'

Выводы

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

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

В Linux набор пакетов устанавливается по умолчанию. Но пакетов по умолчанию никогда не бывает достаточно. Вы можете настроить файловый сервер, или веб-сервер, или сервер базы данных, или что-то еще. Для этого вам необходимо установить дополнительные пакеты. Мы используем менеджер пакетов, например apt , для установки и управления пакетами в Linux. Менеджер пакетов загружает и устанавливает пакеты из репозитория пакетов. Репозиторий пакетов — это HTTP- или FTP-сервер в Интернете, где набор пакетов хранится в Интернете вместе с метаданными пакетов, которые нравятся диспетчеру пакетов.0003 apt загружает и использует сначала, чтобы узнать, какие пакеты доступны в репозитории пакетов. Вы также можете иметь свой собственный локальный репозиторий пакетов и добавить его в Debian.

В этой статье я покажу вам, как добавить репозиторий пакетов в Debian. Для демонстрации я буду использовать Debian 9 Stretch.

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

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

$ sudo nano /etc/apt/sources.list

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

Теперь я собираюсь добавить официальный репозиторий пакетов Debian 9. Поэтому я добавляю в файл следующую строку, как показано на скриншоте ниже:

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

Возможно, вы еще не понимаете, что это за строка. Позволь мне объяснить.

Строка начинается с deb , что означает, что это предварительно скомпилированный бинарный репозиторий Debian. Если репозиторий пакетов содержит исходные коды различных программ, вы должны заменить deb на deb-src .

Теперь следующий раздел — это URL-адрес репозитория пакетов. Здесь вы можете добавить URL-адреса репозитория HTTP, HTTPS, FTP.

Следующий раздел, отмеченный на снимке экрана ниже, — это набор или кодовое имя. Для Debian 9 это stretch .

Вы можете узнать, что это за ваша операционная система Debian, с помощью следующей команды:

$ lsb_release -cs

Как видно из приведенного ниже снимка экрана, кодовое имя или имя пакета — stretch .

Отмеченный раздел на снимке экрана ниже зависит от конкретного репозитория пакетов, который вы добавляете. Для официального репозитория Debian у вас есть основной , вклад и несвободный .

Каждое из этих слов представляет раздел или набор пакетов программного обеспечения в одном репозитории пакетов.

Когда вы закончите, нажмите + x , затем нажмите y , а затем нажмите , чтобы сохранить файл.

После добавления репозитория выполните следующую команду, чтобы обновить кэш менеджера пакетов apt :

$ sudo apt-get update

Как видите, кэш репозитория пакетов обновляется.

Существует также более чистый способ добавления новых репозиториев пакетов в Debian.

В операционных системах Debian по умолчанию доступен специальный каталог /etc/apt/sources.list.d/ . Он используется для упрощения добавления новых репозиториев пакетов. Все, что вам нужно сделать, это создать новый файл с расширением .list в каталоге /etc/apt/sources.list.d/ 9.каталог 0004.

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

$ sudo nano /etc/apt/sources.list.d/debian_us_official. list

Должен быть открыт новый пустой файл.

Теперь добавьте к нему следующую строку.

deb http://ftp.us.debian.org/debian stretch основной вклад несвободный

Теперь сохраните файл и выполните следующую команду. Вы можете идти.

$ sudo apt-get update

Добавление репозитория пакетов с помощью

apt в Debian

Теперь вы понимаете, как форматируется строка репозитория. Теперь вы можете использовать диспетчер пакетов apt для добавления новых репозиториев пакетов.

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

$ sudo apt-add-repository ‘deb http://ftp.us.debian.org/debian stretch main contrib non-free’

Вы также можете добавить PPA с помощью следующей команды:

$ sudo apt-add-repository YOUR_PPA

ПРИМЕЧАНИЕ. Здесь YOUR_PPA должно быть чем-то вроде ppa:teejee2008/ppa

4.

Вы также можете удалить PPA или репозиторий пакетов с помощью следующей команды:

$ sudo apt-add-repository -r YOUR_REPOSITORY

ПРИМЕЧАНИЕ. Здесь YOUR_REPOSITORY может быть строкой репозитория или PPA.

Например, на скриншоте ниже я удалил репозиторий с помощью строки репозитория.

Вот как вы добавляете репозиторий в Debian. Спасибо, что прочитали эту статью.

debianrepository/setup — Debian Wiki

Эта страница еще не существует. Вы можете создать новую пустую страницу или использовать один из шаблонов страниц.

Создать новую пустую страницу

Или выберите шаблон страницы для создания уже отформатированной страницы:

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

  • BSP/Template
  • CategoryTemplate
  • DebateTemplate
  • DebianDay/Template
  • DebianDesktop/ThemeTemplate
  • DebianEeePC/Model/Template
  • DebianEvents/Template
  • DebianInstaller/ReleaseAnnounce/Template
  • DebianSecurity/MeetingTemplate
  • DebianWomen/ProfileTemplate
  • DebianWomen/Projects/MiniDebconf-Women/2014/CallForProposalsTemplate
  • DebianWomen/Template
  • DefaultTemplate
  • Derivatives/CensusTemplate
  • Derivatives/MeetingTemplate
  • DiscussionTemplate
  • FreedomBox/Manual/ApplicationTemplate
  • Games/MeetingTemplate
  • Hardware/WantedTemplate
  • HelpTemplate
  • HomepageGroupsTemplate
  • HomepagePrivatePageTemplate
  • HomepageReadPageTemplate
  • HomepageReadWritePageTemplate
  • Домашняя страницаШаблон
  • Установка DebianOn/ComputerШаблон
  • InstallingDebianOn/GenericComputerTemplate
  • Javascript/Nodejs/Tasks/Template
  • KansaiDebianMeeting/EventTemplate
  • KansaiDebianMeetingEvent/Template
  • Lintian/Tags/Template
  • LocalGroupsTemplate
  • MycomputerbrandTemplate
  • OSPP/2021/ProjectTemplate
  • OpenNebula/PreparingDebianVmTemplate
  • OutreachProgramForWomen/ApplicationTemplate
  • Outreachy/ProjectTemplate
  • Outreachy/Round10/ApplicationTemplate
  • Outreachy/Round13/ProjectTemplate
  • PagePersonnelleTemplate
  • PortTemplate
  • PortalTemplate
  • ProjectGroupsTemplate
  • ProjectTemplate
  • PublicationTemplate
  • ReleaseGoalTemplate
  • ReleasePartySuiteTemplate
  • ReleasePartyTemplate
  • ReleaseRecertificationTemplate
  • SeasonOfDocs2019/ProjectTemplate
  • ServicesCensusTemplate
  • SlideShowHandOutTemplate
  • SlideShowTemplate
  • SlideTemplate
  • SpecTemplate
  • SprintTemplate
  • Sprints/SprintTemplate
  • SummerOfCode/StudentApplicationTemplate
  • SummerOfCode2012/StudentApplicationTemplate
  • SummerOfCode2013/StudentApplicationTemplate
  • SummerOfCode2014/ProjectTemplate
  • SummerOfCode2014/StudentApplicationTemplate
  • SummerOfCode2015/ProjectTemplate
  • SummerOfCode2015 /StudentApplicationTemplate
  • SummerOfCode2016/ProjectTemplate
  • SummerOfCode2016/StudentApplicationTemplate
  • SummerOfCode2017/ProjectTemplate
  • SummerOfCode2017/StudentApplicationTemplate
  • SummerOfCode2020/ProjectTemplate
  • SummerOfCode2021/ProjectTemplate
  • SummerOfCode2022/ProjectTemplate
  • SummerOfCode2023/ProjectTemplate
  • SyncJobTemplate
  • TeamTemplate
  • Teams/ DebianCD/ReleaseTesting/TestMatrixTemplate
  • Teams/Publicity/MeetingTemplate
  • UbuntuContributorTemplate
  • WorkSessionsExtremaduraTemplate
  • es/DefaultTemplate
  • fr/DefaultTemplate
  • fr/InstallingDebianOn/ComputerTemplate
  • qa.
    Imacros | Все права защищены © 2021