Назад | Перейти на главную страницу

Как aptitude определяет, какую версию пакета / приложения установить? то есть Apache 2.2 против 2.4

Так что я потратил несколько дней на то, чтобы разобраться с хромой ошибкой Apache2, которая была исправлена ​​в феврале 2012 года. Я не мог понять, почему у меня возникла ошибка, до тех пор, пока я не обнаружил, что моя версия Apache2 была версией 2.2.x, даже подумал, что создал всю сервер с нуля Debian 6 30 ноября 2012 г. По какой-то причине aptitude -install apache2 вытащил 2.2.x вместо 2.4.x.

Хотел бы я знать, что не стоит предполагать, что aptitude вытащит последнюю стабильную сборку. Может ли кто-нибудь пролить свет на то, как управляются репозитории, и почему aptitude будет использовать старую поддерживаемую инфраструктуру вместо инфраструктуры 2.4.x? Кроме того, как я могу получить способность запускать 2.4.x и как я могу помочь себе избежать подобных проблем в будущем?

В стабильном репозитории Debian нет Apache 2.4, как вы можете видеть в: http://packages.debian.org/search?keywords=apache2&searchon=names&suite=stable&section=all

Пакет apache2 - это метапакет, который указывает на другие пакеты и версии с их зависимостями: http://packages.debian.org/squeeze/apache2

Я отправил эту ссылку одному из моих приятелей, и он знал ответ, но у него нет учетной записи. Так что сам выкладываю ответ.

По сути, все пакеты скомпилированы для каждого дистрибутива Linux. Вот почему вы не можете просто перейти на веб-сайт Apache и получить Apache, если они специально не предлагают сборку для вашего данного дистрибутива.

Debian, как оказалось, считает 2.4.x экспериментальным и ошибочным. Существует альфа-версия 2.4.2-2, но не 2.4.3, которая должна быть стабильной. Я предполагаю, что в настоящее время такая же проблема существует в Ubuntu.

Очевидно, что поскольку последний стабильный пакет Debian - 2.2.x, это то, что устанавливает aptitude.

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

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

Если выпуск для данного дистрибутива недоступен, единственный вариант - собрать его из исходного кода. Я не собираюсь строить из исходников, потому что это исключает простой путь обновления. Каждый раз, когда происходит обновление, сопровождающий должен обновить свои исходные файлы и перекомпилировать их. А пока я просто оставлю все на 2.2, так как я сдался и все равно вернулся к своей старой конфигурации.

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

Семейство дистрибутивов Linux Debian (а также семейство Red Hat) тестирует одну конкретную версию данного программного пакета для данного выпуска ОС (в вашем случае Debian 6 с Apache 2.2.16) и сохраняет эту версию для весь выпуск ради стабильности и совместимости конфигурации, резервного копирования в любой безопасности или важных исправлений ошибок.

Итак, apt установила последнюю версию apache2 пакет в репозитории, который является версией, которая была протестирована с этой ОС и предлагается в репозитории Debian 6. Если вам нужен 2.4 по какой-то конкретной причине, вы сможете найти сторонний репозиторий, который предлагает для него пакет.