Как получить конкретную версию пакета из репозитория?

Добавление PPA с последующим запуском apt-get update для извлечения, похоже, только извлекает последнюю версию из этого PPA, но я бы хотел установить конкретную версию.

Например: я добавляю ondrej/php5-5.6 ppa. После обновления apt-cache policy php5 показывает мне, что доступны следующие версии:

  • 5.6.9+dfsg-1+deb.sury.org~trusty+2
  • 5.5.9+dfsg-1ubuntu4.9
  • 5.5.9+dfsg-1ubuntu4

Несколько дней назад последней версией PPA была 5.6.8+dfsg-1+deb.sury.org~trusty+4, но теперь она обновилась. Это означает, что я не могу запустить apt-get install и установить нужную версию.

Возможно ли это с помощью apt?

2
задан 03.06.2015, 09:02

4 ответа

Кажется, как будто использование apt-get install php5=5.6.* для соответствия номеру версии решает проблему.

Наблюдающий панель запуска, версия 4.6.8 больше не существует, только версия 4.6.9 существует.

Точно так же ppa:git-core/ppa PPA на панели запуска только содержит версии 2.4.2 и 2.3.7. Кажется, как будто последний выпуск патча каждой вспомогательной версии сохранен.

Используя это значение я могу связать установку на конкретном незначительном выпуске при тихом получении обновлений патча.

0
ответ дан 17.04.2019, 22:48
  • 1
    Этот ' решает problem' только в таким образом, что репозиторий должен иметь ту версию. Если у Вас есть несколько PPAs that' s одна вещь, но если версия, доступная в repos, выше, чем Вы, загружали/кэшировали в Вашей системе, it' s не собирающийся работать. (Нет никаких транзакционных обновлений в способном repos), – Rohit 05.06.2015, 03:47

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

0
ответ дан 17.04.2019, 22:48

ответ @Dobey, кажется, лучшее решение в Вашей ситуации. Хотя, если Вы установили пакет от определенного PPA, что можно сделать, должен отметить тот пакет, когда он установлен так для хранения той версии. Например, выполненный:

sudo apt-mark hold packagename
0
ответ дан 17.04.2019, 22:48

Можно иногда получать старые версии, в зависимости от источника. По большей части, когда пакет обновляется, он заменяет предыдущую обновленную версию (некоторые repos сохраняют первую версию для того выпуска, пока выпуск не идет Конец Жизни). Это также зависит от того, включают ли более новые версии обновления системы защиты или больше не поддерживаются 'в восходящем направлении' (куда пакет прибыл из).

, Если версия Вы хотите установить, находится все еще в репозитории, можно использовать этот синтаксис для установки пакета:

sudo apt-get install apache2=2.2.20-1ubuntu1

, Если не доступно от repo, Вы используете, можно быть в состоянии получить пакет откуда-либо.

С PPA, который Вы, кажется, используете, можно в настоящее время получать версию 5.6.9. Но существует другой PPA автором, от которого можно получить версию 5.5.25. (Существует также этот с 5.4.41, но только действительно для 12,04)

существуют также сторонние сайты, которые часто имеют старый (и иногда более новый) версии. Для Ubuntu, Обновления Ubuntu (там другие сайты также - например, для Fedora и т.д. существует rpmfind (да, RPMs.... - можно использовать посторонний объект (см. ниже), или получите src.rpm и используйте материал в этом для создания чего-то применимого в системах необ/мин: D).

, Если все остальное перестало работать, можно получить попытку к тому, чтобы получать исходную версию версии, которую Вы хотите (для PHP, см. здесь ), и затем сделайте пакеты из этого. Это Вы можете сборка и устанавливать непосредственно , или создавать deb пакет (пакеты) из него и устанавливать тех.

можно также использовать посторонний объект для установки пакетов не в формате deb (, это, кажется, включает tar.gz).

0
ответ дан 17.04.2019, 22:48

Теги

Похожие вопросы