Вопрос Как установить определенную версию какого-либо пакета? [Дубликат]


На этот вопрос уже есть ответ:

Мои вопросы разделены на две части:

  1. Как узнать версию установленного пакета?
  2. Как установить конкретную версию пакета?

159
2018-03-03 08:57


происхождения


Пожалуйста, не голосуйте, чтобы удалить эту запись. Это полезно как указатель. Дубликаты служат для направления других в правильные вопросы и ответы. - terdon♦


ответы:


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

apt-cache policy <package name>

Вышеупомянутая команда покажет версию установленного пакета, а также все доступные версии в репозитории в соответствии с версией Ubuntu, в которой вы работаете. Он не отображает версию пакета, предназначенную для другой версии Ubuntu (не для вас).

Пример:

$ apt-cache policy gparted
gparted:
  Installed: 0.16.1-1
  Candidate: 0.16.1-1
  Version table:
 *** 0.16.1-1 0
        500 http://ubuntu.inode.at/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

Таким образом, установленная gparted версия 0.16.1-1,

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

sudo apt-get install <package name>=<version>

Пример:

$ sudo apt-get install gparted=0.16.1-1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gparted is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 265 not upgraded.

226
2018-03-03 09:10



Не могли бы вы дать более подробную информацию для второй команды? Существуют ли ограничения? Например, может ли кто-нибудь из 12.04 установить версию пакета, доступную в 13.10? - DK Bose
В aptitude нажатие Enter в имени пакета отображает информацию о пакете, а в нижней части экрана отображается список доступных версий. - karatedog
Аналогичное использование apt-cyg работает в Cygwin: apt-cyg install package=version? - Danijel
В каждом случае я когда-либо пробовал это, я всегда получить ошибку The following packages have unmet dependencies:, а затем список пакетов. Любой способ разрешить это автоматически? - Hubro
Обратите внимание, что это скорее всего не удастся, потому что в репозитории обычно есть только 1 или 2 версии пакета. Если вам нужна другая версия, чем в настоящее время для вашего дистрибутива, вам может потребоваться загрузить ее и установить с помощью sudo dkpg -i <package-file>, Ошибки зависимости необходимо разрешить путем загрузки и установки (также с dkpg) все отсутствующие пакеты (это может занять много итераций). В качестве альтернативы вы можете загрузить исходный код программы, скомпилировать ее и установить (это также требует ручного разрешения зависимостей). - nuoritoveri


Обычного способа проверки версий установленных пакетов нет, но большинство из них можно проверить с помощью команды:

command -v 

например, чтобы узнать версию apache2:

apache2 -v

Но это может не работать с другими пакетами, поэтому наилучшей практикой является поиск руководства.

man XXX

и найдите вариант показа версии.

Чтобы установить определенную версию пакета:

sudo apt-get install package=version

Например:

sudo apt-get install apache2=2.3.35-4ubuntu1

4
2018-03-03 09:03



мы также можем проверить версию установленного пакета с помощью dpkg -l package-name - Nischay
Где вы находите / отслеживаете мета 2.3.35-4ubuntu1 при указании версии? - Erutan409
@ Erutan409 Комментарий выше вашего, как вы можете это сделать. - user124384
@ Erutan409 - использование apt-cache madison packagename - он отобразит все версии, которые могут быть замечены любыми репозициями, которые вы установили / настроили (включая PPA) - ivanivan