Архив репозиториев для старых версий
В официальном репозитории 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
Зеркало официального репозитория 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 можно так же использовать для сетевой установки систем.
Добавить новый repository в debian
Теперь от теории перейдем к практике. Давайте вручную добавим новый репозиторий в Debian. К примеру, нам нужно установить на сервер стабильную версию MariaDB. Для этого добавим ее репозиторий. Это можно сделать либо в файле sources.list, но лучше создать отдельный в sources.list.d. Назовем его MariaDB.list.
deb 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 напрямую. Разницы никакой нет.
Sources List Generator (генератор списка репозиториев)
В интернете есть сервисы, которые автоматически формируют sources.list на основе ваших потребностей. Вы можете использовать как свой генератор, так и воспользоваться готовым.
Пример такого генератора, который вы можете установить себе и настроить для использования — debgen. Исходники раньше были на github, но потом пропали. А вот его готовая реализация с наполнением — https://debgen.simplylinux.ch/.
Я не знаю, кто ведет подобные List Generator и можно ли им доверять. Всегда проверяйте список репозиториев, который будет сгенерирован для вас. По сути, это обычный текстовый файл, который вы скопируете себе.
К примеру, я указал в List Generator, что мне надо подготовить список репозиториев со следующими параметрами:
- Репозиторий Stable
- Ветка main (просто отключил ветки contrib и non-free)
- Mirror — Russia
- Включить репозитории Security и Updates
- Добавить 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 https://download.docker.com/linux/debian bullseye stable ###MariaDB deb http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main deb-src http://mirror.23media.de/mariadb/repo/10.6/debian bullseye main ###nginx deb http://nginx.org/packages/debian/ bullseye nginx deb-src 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 file:/mnt/repo/debian bullseye main
После этого выполняете обновление кэша пакетов и увидите в списке репозиториев свой локальный.
Как установить / смонтировать CD-ROM в Linux
CD и DVD используют файловую систему ISO9660. Цель ISO9660 — предоставить стандарты обмена данными между различными операционными системами. Следовательно, любая операционная система Linux может работать с файловой системой ISO9660. В этом руководстве описывается, как установить / удалить файловую систему ISO9660 в Linux, чтобы пользователи могли читать данные с CD или DVD.
Обнаружение привода CD / DVD-ROM
Во-первых, нам нужно найти пригодное для использования устройство, которое может читать данные ISO9660. Другими словами, нам нужно найти доступный привод CD / DVD в системе Linux. Для этого мы можем использовать команду «wodim» и ее параметр —devices. wodim просканирует и выведет символьные имена устройств в каталог / dev / *:
Если в вашей системе нет команды wodim, убедитесь, что в вашей системе установлен пакет cdrecord. Debian или ubuntu могут использовать следующие команды:
RedHat, Fedora, CentOS:
После выполнения команды wodim и наличия некоторого оборудования для CD / DVD в системе вы должны увидеть вывод, подобный следующему:
Из вышеприведенного вывода мы можем определить, что к нашему приводу CDROM / DVDROM можно получить доступ по расположению символа / dev / scd0.
Кроме того, следует отметить, что разные системы могут вести себя по-разному. Например, в Debian Linux пользователь, выполняющий команду wodim, должен принадлежать к группе cdrom, в противном случае команда wodim завершится ошибкой с сообщением об ошибке, подобным следующему:
Создать точку монтирования
Ваша система Linux могла создать для вас точку монтирования, которая обычно похожа на / cdrom, / media / cdrom, / media / cdrom0 или / mnt / cdrom. Если это не так, вы можете создать свою собственную точку монтирования. Точка монтирования абсолютно необходима! Точка монтирования укажет место, где пользователь может получить доступ к данным на CD или DVD.
Загрузить CDROM
Если вы не принадлежите к группе cdrom и, следовательно, не имеете разрешения на монтирование CDROM, переключитесь на пользователя root и выполните следующую команду:
Теперь ваш CDROM смонтирован и доступен из каталога / media / cdrom. На этом этапе просто перейдите в этот каталог, чтобы получить доступ к своим данным.
Установить аудио компакт-диск
Иногда вы хотите послушать свою любимую музыку. Когда вы пытаетесь установить музыкальный компакт-диск с помощью указанной выше команды, вы можете столкнуться со следующими проблемами:
Это связано с тем, что музыкальные компакт-диски не содержат стандартной файловой системы iso9660. На самом деле, легче использовать истории с музыкальными CDROM, чем с CDROM с данными, которые используют файловую систему iso9660.
Чтобы слушать музыкальные компакт-диски, все, что вам нужно сделать, это вставить музыкальный компакт-диск (Compact Dics) в привод CD-ROM / DVD-ROM и запустить ваш любимый музыкальный проигрыватель компакт-дисков
Единственное, на что вам может потребоваться обратить внимание, это установили ли вы пакет KDE «kdemultimedia-kio-plugins» или пакет оконного менеджера gnome «gnome-media». Эти пакеты позволяют прослушивать музыкальные компакт-диски
Если вы хотите просмотреть содержимое музыкального компакт-диска или преобразовать некоторые музыкальные треки в формат MP3 / OGG, просто запустите «KONQUEROR» и введите местоположение:
Войдите в панель навигации Konqueror.
Разрешить пользователям устанавливать CDROM
Вы также можете разрешить пользователям устанавливать систему на CD или DVD. Для этого отредактируйте файл / etc / fstab и добавьте строку, подобную следующей:
Удалите и извлеките компакт-диск
Есть несколько способов удалить / размонтировать CDROM.
Или вы можете просто запустить:
Если вы не можете удалить ранее установленный CDROM, убедитесь, что вы не находитесь в каталоге, в котором установлен CDROM, или какое-то другое приложение его не использует.
Если вы по-прежнему не можете размонтировать CDROM-носитель, вы можете использовать команду fuser для завершения всех связанных процессов, использующих ваше устройство.
Примечание. Если вы не уверены в операции, которую хотите выполнить, не используйте приведенные выше команды на устройстве, на котором выполняются операции чтения / записи.
Список репозиториев в 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/debian | url репозитория |
distribution | псевдоним релиза (bullseye, buster, stretch и т.д.), либо класс релиза (stable, oldstable и т.д.) |
component | main, 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
Возможные ошибки
Рассмотрим наиболее популярные ошибки, которые возникают при добавлении и обновлении репозиториев.
Репозиторий не содержит файла Release
Текст ошибки, по идее, дает готовый ответ. В репозитории нет обязательного файла Release. Но суть в том, что он скорее всего есть. Дело тут чаще всего в том, что вы добавили к себе репозиторий, который не содержит указанной вами ветки. К примеру, вы добавили репозиторий в дистрибутив Buster, а в репозитории нет поддержки этого дистрибутива. Предыдущие есть, а этого нет.
Ровно эту же ошибку вы получите, если будете использовать старую, снятую с поддержки версию Debian. В какой-то момент стандартные репозитории перестанут поддерживать вашу версию дистрибутива и вы получите ошибку. Вам надо будет либо обновляться до более свежей версии, либо использовать архивные репозитории.
Ветки main, contrib, non-free
Каждый официальный репозиторий Debian имеет по 3 ветки:
- main состоит из DFSG-compliant пакетов, которым не требуется другое ПО из других источников. Эти пакеты считаются частью дистрибутива Debian. Они полностью свободны для любого использования.
- contrib пакеты так же содержат DFSG-compliant ПО, но их зависимости могут требовать дополнительное ПО, которое может быть в других источниках, например ветке non-free.
- 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. Разобрался полностью только сейчас, когда писал статью. До этого просто копировал по привычке конфиги с репами. Догадывался о чем там речь, но точно не знал. Теперь восполнил пробел и поделился с вами информацией.
Заключение
Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .