- Содержимое файла sources. list
- Хранилища для пользователей стабильных версий
- Обновления безопасности
- Стабильные обновления
- Предполагаемые обновления
- Стабильное ПО с обратной совместимостью
- Хранилища для пользователей версий /
- Хранилище
- Using Alternate Mirrors
- Неофициальные ресурсы
- Прокси-кэш для пакетов Debian
- Файл Release
- Официальные репозитории
- Полезные сторонние репозитории
- Конфиги со списком репозиториев
- Классы релизов в Debian
- Архитектура пакетов
- Добавление сторонних репозиториев
- Открытый ключ репозитория
- Проверка добавленного репозитория
- Old stable
- Experimental
- Filling in the sources. list File
- Repositories for Users
- Security Updates
- Stable Backports
- Repositories for / Users
- The Repository
- Caching Proxy for Debian Packages
- Вариант использования официальных репозиториев
- Unstable (Sid)
Содержимое файла sources. list
Each active line in the /etc/apt/sources.list file represents a package source (repository) and is made of at least three parts separated by spaces. For a complete description of the file format and the accepted entry compositions see .
Пример 6.1. Example entry format in /etc/apt/sources.list
Первое поле показывает тип источника:
база пакетов (репозиторий) скомпилированных пакетов
package source (repository) of source packages
The second field gives the base URL of the source. Combined with the filenames listed in the Packages.xz files, it must give a full and valid URL. This can consist in a Debian mirror or in any other package archive set up by a third party. The URL can start with file:// to indicate a local source installed in the system’s file hierarchy, with http:// or https:// to indicate a source accessible from a web server, or with ftp:// or ftps:// for a source available on an FTP server. The URL can also start with cdrom: for CD-ROM/DVD/Blu-ray disc based installations, although this is less frequent, since network-based installation methods are eventually more common. More methods like ssh:// or tor+http(s):// are supported and are either described in or their respective package documentation.
The syntax of the last field depends on the structure of the repository. In the simplest case, you can simply indicate a subdirectory (with a required trailing slash) of the desired source. This is often a simple “./” which refers to the absence of a subdirectory. The packages are then directly at the specified URL. But in the most common case, the repositories will be structured like a Debian mirror, with multiple distributions, each having multiple components. In those cases, name the chosen distribution by its “codename” — see the list in sidebar Брюс Перенс, скандальный лидер — or by the corresponding “suite” (oldoldstable, oldstable, stable, testing, unstable) and then the components to enable. A typical Debian mirror provides the components main, contrib, and non-free.
Записи cdrom описывают CD/DVD-ROMs, которые у вас есть. В противоположность другим записям, CD-ROM не всегда доступны, поскольку диск должен быть вставлен в привод и поскольку только один диск может быть прочитан за раз. Поэтому эти источники управляются несколько другим путём и добавляются с помощью программы apt-cdrom, которая обычно выполняется с параметром add. После запуска данная программа просит пользователя вставить диск в привод, а затем просматривает содержимое диска, ища файлы Packages. Затем она использует эти файлы для обновления база данных доступных пактов (подобная операция обычно выполняется с помощью команды apt update). После этого APT может просить вставить диск, если ей требуется один из этих пакетов.
Хранилища для пользователей стабильных версий
Здесь представлен стандартный файл sources.list для систем, базирующихся на версии Debian :
Пример 6.2. Файл /etc/apt/sources.list для пользователей Debian Stable
# Security updates
deb http://security.debian.org/ bullseye-security main contrib non-free
deb-src http://security.debian.org/ bullseye-security main contrib non-free
## Debian mirror
# Base repository
deb https://deb.debian.org/debian bullseye main contrib non-free
deb-src https://deb.debian.org/debian bullseye main contrib non-free
# Stable updates
deb https://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src https://deb.debian.org/debian bullseye-updates main contrib non-free
# Stable backports
deb https://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src https://deb.debian.org/debian bullseye-backports main contrib non-free
This file lists all sources of packages associated with the version of Debian (the current suite as of this writing). In the example above, we opted to name “bullseye” explicitly instead of using the corresponding “stable“ aliases (stable, stable-updates, stable-backports) because we don’t want to have the underlying distribution changed outside of our control when the next stable release comes out.
Обратите внимание, что когда требуемая версия пакета доступна на нескольких хранилищах, первый из списка в файле sources.list будет использован. Из-за этого неофициальные источники обычно добавляют в конец файла.
В качестве примечания следует отметить, что большая часть сказанного в этом разделе о версии также относится и к версии , которая является просто более старой версией , поддерживаемой параллельно текущей.
Обновления безопасности
The server can also host security updates for but this doesn’t happen very often since those updates tend to reach that suite via the regular flow of updates coming from .
Стабильные обновления
Стабильные обновления не являются необходимыми для обеспечения безопасности, но считаются достаточно важными, чтобы довести их до пользователей до выхода следующей стабильной версии.
version of Firefox () or cryptographic keyrings like .
Предполагаемые обновления
После выхода дистрибутив обновляется примерно раз в 2 месяца. В хранилище proposed-updates производится подготовка ожидаемых обновлений (под наблюдением Управляющих Стабильного Выпуска).
Обновления безопасности и стабильные обновления, документально фиксируемые в официальном разделе, всегда включаются в состав хранилища, но здесь сопровождающие пакетов также имеют возможность исправить значимые ошибки, которые не требуют немедленного выпуска.
Anyone can use this repository to test those updates before their official publication. The extract below uses the bullseye-proposed-updates alias which is both more explicit and more consistent since buster-proposed-updates also exists (for the updates):
deb https://deb.debian.org/debian bullseye-proposed-updates main contrib non-free
Стабильное ПО с обратной совместимостью
В хранилище stable-backports расположены “пакеты с обратной совместимостью”. Это определение относится к пакетом какого-то существующего программного обеспечения, которые были перекомпилированы для устаревшего дистрибутива, обычно для .
Backports from stable-backports are only created from packages available in . This ensures that all installed backports will be upgradable to the corresponding stable version once the next stable release of Debian is available.
Even though this repository provides newer versions of packages, APT will not install them unless you give explicit instructions to do so (or unless you have already done so with a former version of the given backport):
$ sudo apt-get install package/bullseye-backports
$ sudo apt-get install -t bullseye-backports package
Хранилища для пользователей версий /
Здесь представлен стандартный файл sources.list для системы, выполняющей версию или Debian:
Пример 6.3. Файл /etc/apt/sources.list для пользователей Debian /
# Unstable
deb https://deb.debian.org/debian unstable main contrib non-free
deb-src https://deb.debian.org/debian unstable main contrib non-free
# Testing
deb https://deb.debian.org/debian testing main contrib non-free
deb-src https://deb.debian.org/debian testing main contrib non-free
# Testing security updates
deb http://security.debian.org/ testing-security main contrib non-free
deb-src http://security.debian.org/ testing-security main contrib non-free
# Stable
deb https://deb.debian.org/debian stable main contrib non-free
deb-src https://deb.debian.org/debian stable main contrib non-free
# Stable security updates
deb http://security.debian.org/ stable-security main contrib non-free
deb-src http://security.debian.org/ stable-security main contrib non-free
With this sources.list file APT will install packages from the suite. If that is not desired, use the APT::Default-Release setting (see Раздел 6.2.3, «Обновление системы») to instruct APT to pick packages from another suite (most likely in this case).
The inclusion of is more debatable but it often gives access to some packages, which have been removed from the development versions. It also ensures that you get the latest updates for packages, which have not been modified since the last stable release.
Хранилище
обычно используется теми, кто не боится сломать свою систему, а затем восстанавить ее. Этот дистрибутив даёт возможность импортировать пакет, с которым пользователь хочет попробовать поработать или для работы с которым у него возникла необходимость. Это как раз показывает подход Debian к таким пакетам, поскольку добавление этого хранилища в файл APT sources.list не приводит к постоянному использованию этих пакетов. Вот строка, которая должна быть добавлена:
deb https://deb.debian.org/debian experimental main contrib non-free
Using Alternate Mirrors
The sources.list examples in this chapter refer to package repositories hosted on deb.debian.org. Those URLs will redirect you to servers which are close to you and which are managed by Content Delivery Networks (
But when you don’t know which mirror is best for you, this list is of not much use. Fortunately for you, Debian maintains DNS entries of the form ftp.country-code.debian.org (e.g. ftp.us.debian.org for the USA, ftp.fr.debian.org for France, etc.) which are covering many countries and which are pointing to one (or more) of the best mirrors available within that country.
As an alternative to deb.debian.org, there used to be httpredir.debian.org. This service would identify a mirror close to you (among the list of official mirrors, using GeoIP mainly) and would redirect APT’s requests to that mirror. This service has been deprecated due to reliability concerns and now httpredir.debian.org provides the same CDN-based service as deb.debian.org.
Неофициальные ресурсы
) service — by programmers who make their creation available to all, and even by Debian developers who offer pre-versions of their package online.
The mentors.debian.net site is interesting (although it only provides source packages), since it gathers packages created by candidates to the status of official Debian developer or by volunteers who wish to create Debian packages without going through that process of integration. These packages are made available without any guarantee regarding their quality; make sure that you check their origin and integrity and then test them before you consider using them in production.
Устанавливая пакет, вы даёте права администратора (root) его создателю, поскольку содержимое сценариев инициализации выполняется под этим пользователем. Официальные пакеты Debian создаются добровольцами, которые были прошли рассмотрение и включение в сообщество, и которые могут подписывать свои пакеты, так что их происхождение и целостность могут быть проверены.
In general, be wary of a package whose origin you don’t know and which isn’t hosted on one of the official Debian servers: evaluate the degree to which you can trust the creator, and check the integrity of the package.
Прокси-кэш для пакетов Debian
В случае, когда целая сеть машин настроена на использование одного удалённого сервера для загрузки одних и тех же пакетов, каждый администратор знает, что полезно иметь промежуточный прокси -сервер, работающий как локальный кэш для данной сети (смотри вставку Кэш).
Вы можете настроить APT для использования в качестве «стандартного» прокси (смотри Раздел 6.2.4, «Параметры конфигурации» для стороны APT-а и Раздел 11.6, «HTTP/FTP Proxy» для второй стороны — прокси), но экосистема Debian предлагает лучшие опции для решения этой проблемы. Специальные программы, представленные в этом разделе, является более быстрыми, чем простой прокси-кэш, потому что они зависят от специальных структур хранилищ APT (например они знают, когда отдельные файлы являются устаревшими или нет, и таким образом устанавливают время, в течение которого они хранятся).
и работают как обычные прокси-кэш серверы. Файл APTsources.list остаётся неизменным, но APT настраивается для использования их как прокси для исходящих запросов.
, с другой стороны, действует как HTTP сервер, который “отражает” любое число хранилищ на своих URL верхнего уровня . Пути между теми директориями верхнего уровня и удалёнными URL хранилищ находятся в файле /etc/approx/approx.conf:
# Sample sources.list pointing to a local approx server
deb http://localhost:9999/security bullseye-security main contrib non-free
deb http://localhost:9999/debian bullseye main contrib non-free
Файл Release
Файл Release в репозитории для Ubuntu Jammy
Он содержит информацию о данной ветке репозитория, например для Ubuntu Jammy файл содержит следующее:
Origin: Ubuntu
Label: Ubuntu
Suite: jammy
Version: 22.04
Codename: jammy
Date: Thu, 21 Apr 2022 17:16:08 UTC
Architectures: amd64 arm64 armhf i386 ppc64el riscv64 s390x
Components: main restricted universe multiverse
Description: Ubuntu Jammy 22.04
MD5Sum:
*** а здесь контрольные суммы для каждого пакета из репозитория ***
Файл Release – один из самых важных файлов для работы репозитория. Когда пакетный менеджер обновляет список пакетов, то он открывает адрес репозитория и читает этот файл. Если этого файла нет, то репозиторий будет помечен как неисправный и не будет использоваться.
Официальные репозитории
Официальные версии репозиторииев Debian поделены на определенные ветки. Main является основной веткой и входит в состав любого дистрибутива. В ней находится лишь свободное ПО. Тем не менее имеется возможность редактирования sources.list и добавления ветки contrib, содержащей программы, связанные с несвободными программи. Кроме того, возможно добавление ветки non-free, включающей несвободные программы.
Основные репозитории имеют названия как у персонажей мультфильма «Toy story» («История игрушек»). Нестабильный пакет имеет наименование «Sid», а названия пакетов репозиториев Stable и Testing непрерывно меняются. Вслед за обновлдением версии дистрибутива, бывший репозиторий Testing делается текущим Stable, далее обновляется репозиторий Testing для новой версии. Имена применяются для настройки зеркал репозиториев. Проанализируем детальнее особенности всех репозиториев.
- Stable
- Testing
- Unstable (Sid)
- Experimental
- Security
- Old stable
- Updates
- Backports
Полезные сторонние репозитории
Многими проектами выпускаются сторонние репозитории Debian пакетов. Сюда относятся драйвера, имеющие закрытый код, репозитории окружений рабочего стола и др. Зачастую подобные проекты выпускают новые версии в свои репозитории. По факту таковые репозитории могут быть менее надежными, по сравнению даже с классом experimental. Отдельные из них потребуются только разработчикам.
Для установки репозитория, включающего разнообразные кодеки и программы для мультимедиа добавьте следующий код:
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
Корпорация Google выгружает актуальные версии своих проектов, например, Google Hangouts, Google Earth с помощью собственных репозиториев. Ключевые из которых:
deb http://dl.google.com/linux/chrome/deb/ stable main
deb http://dl.google.com/linux/earth/deb/ stable main
Американская корпорация Oracle использует свои репозитории Debian 9 для собственных проектов. Чтобы добавить репозиторий пропишите строку:
deb http://oss.oracle.com/debian unstable main non-free
Также допускается отдельно добавлять репозиторий VirtualBox:
deb http://download.virtualbox.org/virtualbox/debian yakkety contrib
Необходимо добавить ключи:
Конфиги со списком репозиториев
Пакетные менеджеры, которые умеют устанавливать пакеты из репозиториев, должны знать адреса репозиториев. И эти адреса записываются в конфиг – /etc/apt/sources.list. А также можно создавать дополнительные конфиги с расширением .list в каталоге /etc/apt/sources.list.d/. Всё это справедливо и для Debian и для Ubuntu.
Если помните, в процессе установки систем мы выбирали репозиторий:
- для Debian – deb.debian.org;
- для Ubuntu – ru.archive.ubuntu.com.
Этот файл состоит из строк, а строки состоят из следующих столбцов:
Классы релизов в Debian
Рассматривая выше ветки репозиториев Debian мы увидели следующее:
- bullseye;
- bullseye-updates;
- bullseye-security.
Но, помимо кодовых имён версий системы, в названиях веток, можно использовать специальные классы релизов:
- stable – ссылается на текущей стабильный репозиторий Debian, сейчас это bullseye. Как только выйдет новая версия Debian, то stable будет ссылаться на более новую версию;
- oldstable – ссылается на предыдущий стабильный репозиторий;
- testing – ссылается на специальную ветку репозитория для разработки нового стабильного релиза;
- unstable – ссылается на самые свежие, но не протестированные пакеты;
- experimental – здесь хранятся пакеты, которые только начали разрабатывать;
- backports – ссылается на testing и unstable, но только для обновлений безопасности.
То есть вы можете изменить свои репозитории на testing, и быть на острие прогресса:
### Это только пример, существует большая вероятность что система очень скоро повредится из за непроверенных обновлений ###
deb http://deb.debian.org/debian/ testing main
deb-src http://deb.debian.org/debian/ testing main
deb http://security.debian.org/debian-security testing-security main
deb-src http://security.debian.org/debian-security testing-security main
deb http://deb.debian.org/debian/ testing-updates main
deb-src http://deb.debian.org/debian/ testing-updates main
Архитектура пакетов
Если вы ещё раз посмотрите на файл Release в репозитории, то можете заметить там строчку:
Здесь прописаны архитектуры пакетов, которые хранятся в репозитории. Прописывая источник репозитория, например в конфиге /etc/apt/sources.list вы можете указать определённую архитектуру, чтобы предотвратить скачивание и установку пакетов для других архитектур.
Это делается таким способом:
Добавление сторонних репозиториев
Добавлять репозитории можно в основной конфиг: /etc/apt/sources.list или создавать отдельные конфиги в каталоге /etc/apt/sources.list.d/. Сам я считаю что правильнее для каждого стороннего репозитория создавать отдельные конфиги.
Например, чтобы подключить репозиторий nginx создайте следующий конфиг. Для Debian:
Или для Ubutnu:
Допустим, мы прописали дополнительный репозиторий для nginx, но как системе понять из какого репозитория брать пакет для установки? Ведь пакеты для nginx есть и в системном репозитории и в репозитории от самого nginx. Чтобы ответить на этот вопрос придумали приоритеты репозиториев.
По нашему примеру для nginx нужно создать следующий файл:
$ sudo nano /etc/apt/preferences.d/99nginx
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
- Package: имя пакета. Можно поставить знак * чтобы применить приоритет для всех пакетов из этого репозитория. Также можно указать несколько имён через пробел;
- Pin: опции прикрепления. Существует много опций, я разберу лишь некоторые:origin “имя автора или поставщика”;release o=nginx – означает что в файле Release репозитория есть поставщик (Origin = o) с именем nginx;release l=Debian – означает что в файле Release репозитория есть Label (l) с именем Debian;
- origin “имя автора или поставщика”;
- release o=nginx – означает что в файле Release репозитория есть поставщик (Origin = o) с именем nginx;
- release l=Debian – означает что в файле Release репозитория есть Label (l) с именем Debian;
- Pin-Priority: приоритет.
Приоритет может быть в следующих диапазонах:
- 990 <= P < 1000 – пакет будет установлен из этого репозитория, если не установлена более новая версия;
- 500 <= P < 990 – пакет будет установлен, если нет пакета принадлежащего к целевому выпуску или не установлена более новая версия;
- 100 <= P < 500 – пакет будет установлен, если нет кандидатов из других репозиториев или установленного пакета более новой версии;
- 0 < P < 100 – пакет будет установлен, только если он ещё не установлен (любой версии) и если нет кандидатов из других репозиториев;
- P < 0 – пакет не будет установлен ни при каких условиях;
- P = 0 – не используется.
Приоритеты с 500 по 990 и с 990 по 1000 очень похожи. Чтобы их отличить нужно понять что такое целевой выпуск. Для Ubuntu или Debian это название версии дистрибутива. Например для Ubuntu – jammy, а для Debian – bullseye. Но это имя ещё нужно задать таким способом:
Открытый ключ репозитория
И так, репозиторий мы добавили, приоритет настроили. Давайте попробуем применить изменения:
И тут мы видим ошибку, что нам не хватает открытого ключа. Я привёл пример для Debian, но в Ubuntu будет подобная ситуация. Дело в том что современные репозитории шифруются с помощью закрытого ключа и чтобы его использовать, нам нужно установить в систему открытый ключ.
Чтобы это сделать, вначале установим необходимые инструменты:
Внимание! Утилита gnupg2 для Ubuntu доступна только в репозитории universe, если вы закомментировали эти источники, то разкомментируете их. Это строчки:
deb http://ru.archive.ubuntu.com/ubuntu jammy universe
deb http://ru.archive.ubuntu.com/ubuntu jammy-updates universe
И не забудьте применить изменения, выполнив:
$ sudo apt update
А дальше скачаем открытый ключ (с помощью wget):
$ wget https://nginx.org/keys/nginx_signing.key
И пробуем ещё раз применить изменения:
На этот раз всё прошло успешно.
Кстати, если вы хотите в источнике пакетов прописать архитектуру и открытый ключ, то это делается через пробел:
Проверка добавленного репозитория
Ну и чтобы понять из какого репозитория будет установлен пакет, выполните команду:
Из вывода становится ясно что пакет nginx ещё не установлен в систему, а кандидатом на установку является пакет с версией 1.20.2 из репозитория http://nginx.org/packages/debian. Приоритет у всех пакетов, кстати стал равным = 990. Это произошло после того, как мы установили целевой выпуск = bullseye. Так как все репозитории относятся к этому выпуску, то на назначенный мною приоритет система перестала смотреть, а назначила репозиториям для bullseye такой приоритет.
Old stable
После выпуска новой версии Debian, репозиторий тестирования (Testing) получает класс «Стабильный». А старый репозиторий Stable получает класс «old stable». Его поддержка осуществляется какой-то период, поскольку некоторым пользователям требуется время на обновление системы, а есть и такие, которые не торопятся «обновляться».
Репозиторий класса Stable включает самую новейшую стабильную версию системы. Он является проверенной, наиболее устойчивой версией Linux из имеющихся. По данному основанию Debian применяется на серверах, в которых требуется высокий уровень безопасности.
Особенностью репозитория является то, что в него включаются программы, которые уже несколько функционируют. Пользователям, желающим использовать наиболее свежие версии рекомендуется использование репозиториев Testing либо Sid. Учитывая, что их работа может быть нестабильной и приводить к некотором сложностям, они используются достаточно часто.
Репозиторий Stable может иметь актуальный характер, связанный со временем обновления версии Debian, на протяжении начальных 6-10 месяцев после того, как состоялся релиз. Пакеты программ, который он включает будут еще актуальны, однако до завершающей заморозки нового выпуска они полностью устареют. Использование пакета программ класса Stable, вероятно, позволит избежать каких-либо сложностей при работе системы.
deb http://ftp.ru.debian.org/debian stable main contrib non-free
deb-src http://ftp.ru.debian.org/debian stable main contrib non-free
Experimental
Следует понимать, что если нестабильный (Unstable) класс репозиториев может в отдельных случаях приводить к ошибкам, то экспериментальный (Experimental) репозиторий почти постоянно будет связан с проблемами. Он включает новейшие и до такой степени нестабильные пакеты программного обеспечения, что они не совместимы даже с репозиторием Unstable. Рекомендуется не устанавливать пакеты из него, поскольку пакеты не обладают достаточной надежностью.
Filling in the sources. list File
Example 6.1. Example entry format in /etc/apt/sources.list
The first field indicates the source type:
package source (repository) of binary packages
The syntax of the last field depends on the structure of the repository. In the simplest case, you can simply indicate a subdirectory (with a required trailing slash) of the desired source. This is often a simple “./” which refers to the absence of a subdirectory. The packages are then directly at the specified URL. But in the most common case, the repositories will be structured like a Debian mirror, with multiple distributions, each having multiple components. In those cases, name the chosen distribution by its “codename” — see the list in sidebar Bruce Perens, a controversial leader — or by the corresponding “suite” (oldoldstable, oldstable, stable, testing, unstable) and then the components to enable. A typical Debian mirror provides the components main, contrib, and non-free.
The cdrom entries describe the CD/DVD-ROMs you have. Contrary to other entries, a CD-ROM is not always available since it has to be inserted into the drive and since only one disc can be read at a time. For those reasons, these sources are managed in a slightly different way, and need to be added with the apt-cdrom program, usually executed with the add parameter. The latter will then request the disc to be inserted in the drive and will browse its contents looking for Packages files. It will use these files to update its database of available packages (this operation is usually done by the apt update command). From then on, APT can require the disc to be inserted if it needs one of its packages.
Repositories for Users
Here is a standard sources.list for a system running the version of Debian:
Note that when the desired version of a package is available on several repositories, the first one listed in the sources.list file will be used. For this reason, non-official sources are usually added at the end of the file.
As a side note, most of what this section says about applies equally well to since the latter is just an older that is maintained in parallel.
Security Updates
The security and stable updates documented in the former sections are always included in this repository, but there is more too, because package maintainers also have the opportunity to fix important bugs that do not deserve an immediate release.
Stable Backports
The stable-backports repository hosts “package backports”. The term refers to a package of some recent software which has been recompiled for an older distribution, generally for .
Repositories for / Users
Here is a standard sources.list for a system running the or version of Debian:
With this sources.list file APT will install packages from the suite. If that is not desired, use the APT::Default-Release setting (see Section 6.2.3, “System Upgrade”) to instruct APT to pick packages from another suite (most likely in this case).
The Repository
Installing a package means giving root rights to its creator, because they decide on the contents of the initialization scripts which are run under that identity. Official Debian packages are created by volunteers who have been co-opted and reviewed and who can seal their packages so that their origin and integrity can be checked.
Caching Proxy for Debian Packages
You can configure APT to use a «standard» proxy (see Section 6.2.4, “Configuration Options” for the APT side, and Section 11.6, “HTTP/FTP Proxy” for the proxy side), but the Debian ecosystem offers better options to solve this problem. The dedicated software presented in this section are smarter than a plain proxy cache because they can rely on the specific structure of APT repositories (for instance they know when individual files are obsolete or not, and thus adjust the time during which they are kept).
and work like usual proxy cache servers. APT’s sources.list is left unchanged, but APT is configured to use them as proxy for outgoing requests.
, on the other hand, acts like an HTTP server that “mirrors” any number of remote repositories in its top-level URLs. The mapping between those top-level directories and the remote URLs of the repositories is stored in /etc/approx/approx.conf:
Вариант использования официальных репозиториев
Для того чтобы уменьшить вероятность поломки вашей системы из-за непроверенных обновлений, можно немного сократить количество репозиториев в системах Debian и в Ubuntu.
Вообще в Debian дан список самых безопасных репозиториев по умолчанию. Можем лишь закомментировать репозитории с исходниками, так как скорее всего вам они пока не понадобятся. Напомню, что такие строки начинаются со слова deb-src. А если понадобятся вы их просто раскомментируете. После правки у нас осталось 3 источника пакетов:
Ubuntu при установке прописала намного больше своих репозиториев. Но их тоже можно свести к трем. Например, я считаю нужным отключить universe, multiverse и jammy-backports репозитории на сервере. После правки список репозиториев также состоит из 3-ёх строк:
Чтобы применить изменения, выполните на обоих системах команду:
Эта команда подключится к каждому репозиторию, посмотрит какие пакеты можно обновить и из каких источников. И сохранит локальных кэш. После выполнения этой команды система будет знать какие пакеты из каких репозиториев можно получить, а также версии этих пакетов. Но если в репозиторий добавят более новую версию какого-нибудь пакета, то система об этом узнает лишь после следующего выполнения этой команды.
А если хотите обновить систему, то выполните команду:
$ sudo apt upgrade
Эта команда уже скачивает все обновления и устанавливает их.
Кстати утилита apt – это и есть менеджер пакетов. Рассмотрим её и другие менеджеры пакетов в следующих статьях.
Debian Security включает обновления, касающиеся безопасности использования пакетов для репозиториев stable и old-stable. Его необходимо установить и поддерживать в активном состоянии.
Репозиторий backports охватывает программы из Testing и Unstable. Пакеты перекомпилируются для включения в «стабильный» репозиторий исходя из минимума библиотек. По безопсаности, он нарасполагается между Testing и Stable. Рекомендуется употреблять его исключительно для кое-каких пакетов и выполнять обновление всей системы. Все-таки использование Backports надежнее, чем перемешивание Stable, Unstable и Testing.
deb http://ftp.ru.debian.org/debian/ stretch-backports main contrib non-free
Unstable (Sid)
Новейшие пакеты как правило оказываются в репозитории Unstable, с помощью него можно использовать наиболее актуальные версии программ в Debian. Многие пакеты могут быть использованы, однако они могут вызывать некоторые проблемы и ошибки. Отдельные пакеты могут конфликтовать друг с другом, при этом пользователь не сможет надлежащим образом устанавливать или удалять программное обеспечение.
При обновлении данного репозитория рекомендуется применять параметр simulate. Репозиторий 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