Как работает менеджер обновлений Linux?

Как работает менеджер обновлений Linux?

Я хочу узнать, как работает менеджер обновлений для Linux. Например, как мой дистрибутив Linux проверяет, есть ли доступные обновления для загрузки и с каких серверов их загружать? Если я имею дело со сторонним программным обеспечением, не входящим в основной дистрибутив, как эти программы взаимодействуют с моим менеджером обновлений, чтобы уведомить меня о наличии у этих программ доступных обновлений? Наконец, какая хорошая литература по этой теме?

решение1

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

Обычно каждый дистрибутив хранит огромный список всех пакетов программного обеспечения, доступных для установки. Это называется репозиторием программного обеспечения или 'repo' для краткости.менеджер пакетов(apt, RPM, pacman и т. д.) будут периодически получать список обновленных пакетов из репозитория. Разработчики дистрибутивов берут на себя ответственность за пакеты в репозитории, они будут делать такие вещи, как упаковывать их в формате, который ожидает дистрибутив (репозиторий обычно содержит скомпилированную версию пакетов, созданную из исходного кода, полученного из апстрима), следить за ошибками, отправленными в дистрибутив о пакетах, применять исправления поверх официального исходного кода «vanilla» (возможно, чтобы лучше интегрировать их в систему, настроить их или исправить проблемы, до которых апстрим еще не добрался), и они будут следить за пакетами апстрима на предмет обновлений, которые они могут применить к версии в репозитории программного обеспечения.

Например:

Некоторые дистрибутивы на самом деле не применяют регулярные обновления версий. Например, Ubuntu будет придерживаться версии программного обеспечения, которая была выпущена, когда эта версия дистрибутива была выпущена. Обычно они исправляют только проблемы безопасности или серьезные ошибки. Это гарантирует, что программное обеспечение не изменится неожиданно (например, следующая версия может иметь серьезные изменения пользовательского интерфейса, новая ошибка может что-то сломать, крупные организации могут применять собственные пользовательские исправления для определенной версии исходного кода). Сопровождающие пакетов будут извлекать список пакетов из Debian каждые 6 месяцев, применять исправления/исправления Ubuntu, а затем поставлять новую версию дистрибутива. Естьнекоторые исключения из этого правила, в частности Firefox, который будет обновлен до последней стабильной версии, доступной от Mozilla.

Debian имеет Stable, Testing и Unstable. Пакеты будут перемещаться из Unstable в Testing по мере их готовности. Затем каждые 1,5 года Debian выпускает версию «Stable», которая фиксирует текущую тестовую версию пакетов.

Аналогично в Ubuntu есть специальныйLTS (или долгосрочная поддержка)выпускаются примерно каждые 2 года, при этом данная версия пакетов поддерживается дольше (5 лет, хотя раньше для пакетов для настольных компьютеров этот срок составлял 3 года).

Другие дистрибутивы будут отслеживать источник настолько, насколько это возможно. Например, Arch и Gentoo. Их называют 'релизы по мере их поступления'. Хотя они также обычно имеют нестабильные и стабильные категории, по которым пакеты перемещаются по мере проверки их функциональности, хотя это может занять всего несколько месяцев или даже недель, а не полгода или дольше, как в других дистрибутивах. Вы получаете более новые версии программного обеспечения на этих дистрибутивах, но за счет стабильности.

Тестирование Debian можно рассматривать как скользящий релиз. В то время как Debian Stable похож на LTS-релизы Ubuntu.

Большая часть настоящего стороннего программного обеспечения (например, программное обеспечение, которое не пришло из репозитория дистрибутивов, а напрямую с веб-сайта) вообще не взаимодействует с системой обновления вашего дистрибутива. Если вы устанавливаете программное обеспечение вручную (кроме использования чего-то вроде apt-get, yum или чего-то еще), то это ваша ответственность за его обновление.

Некоторые сторонние компании поддерживают собственные репозитории, в которые может быть загружена ваша система обновлений. Например, Google поддерживает один для Chrome на Ubuntu. Также существует множество PPA для Launchpad. В этом случае вы полагаетесь на то, что сторонние компании будут поддерживать обновления.

Связанный контент