- How to install specific version of some package? [duplicate]
- 2 Answers 2
- How to know the version of installed package?
- Example:
- How to install a specific package version?
- Example:
- 1denwin’s blog
- Как установить определенную версию пакета с помощью apt
- 1. Проверка доступных версий пакетов
- 2. Установка определенной версии пакета
- Имитировать установку пакета
- Просмотр версии установленного пакета
- Заключение
- Как установить конкретную версию пакета в CentOS и Ubuntu
- Установите определенную версию пакета в CentOS/RHEL/Fedora
- Установите конкретную версию пакета в Ubuntu и Debian
How to install specific version of some package? [duplicate]
Please do not vote to delete this post. It is useful as a signpost. Duplicates serve to guide others to the right Q&A.
2 Answers 2
How to know the version of installed package?
The above command will shows installed package version and also all the available versions in the repository according to the version of Ubuntu in which you are running.It doesn’t display the package version which was intended for another version of Ubuntu(not your’s).
Example:
$ 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
So the installed gparted version is 0.16.1-1 .
How to install a specific package version?
Example:
$ 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.
In every case I’ve ever tried this I always get the error The following packages have unmet dependencies: , followed by a list of packages. Any way to make it resolve that automatically?
Please note that it will most likely fail, because there is usually only 1 or 2 versions of the package that are available in the repository. If you want a different version than currently designed for your distribution, you might need to download it and install with sudo dkpg -i
1denwin’s blog
Иногда бывает, что нужно установить определенную версию пакета для вашей ОС, например в целях тестирования или для совместимости ПО и компонентов той или иной программы. Использования всевозможных версия одного и того же пакета, крайне полезная вещь, особенно для серверных систем и разработки ПО или ИС, где крайне важна стабильность системы. Установку версий пакетов рассмотрим на примере Firefox.
Прежде всего, необходимо проверить версию текущего установленного пакета и всех доступных версий для установки, и сделать это можно с помощью команды apt-cache:
apt-cache policy firefox firefox: Installed: 58.0.2+build1-0ubuntu0.16.04.1 # Установленная версия пакета Candidate: 58.0.2+build1-0ubuntu0.16.04.1 Version table: # Список доступных версий для установки *** 58.0.2+build1-0ubuntu0.16.04.1 500 500 http://ru.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages 100 /var/lib/dpkg/status 45.0.2+build1-0ubuntu1 500 500 http://ru.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
Например, для установки Firefox 45.0.2, используем синтаксис:
sudo apt install firefox=45.0.2+build1-0ubuntu1
sudo apt install firefox=45.0.2+build1-0ubuntu1 Reading package lists. Done Building dependency tree Reading state information. Done Suggested packages: fonts-lyx The following packages will be DOWNGRADED: firefox 0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded. Need to get 43.2 MB of archives. After this operation, 68.5 MB disk space will be freed. Do you want to continue? [Y/n]
Если у вас уже установлена более новая версия пакета, вы можете удалить ее и установить ту версию, которую хотите:
sudo apt remove firefox sudo apt install firefox=45.0.2+build1-0ubuntu1
Более подробную можно найти в документации к пакетам apt и apt-cache:
Как установить определенную версию пакета с помощью apt
Установка определенной версии пакета может быть полезна, чтобы избежать ошибок. Если конечно вы знаете, о какой версии пакета идет речь. Затем обязательно отключите обновление определенного пакета, чтобы он не обновлялся автоматически при запуске «apt-get upgrade«.
Для работы с системными пакетами на базе Debian мы используем команду apt-get . Для выполнения этой команды вам потребуются права администратора или пользователя с привилегией sudo.
В этой статье мы покажем, как установить определенную версию пакета в Ubuntu.
1. Проверка доступных версий пакетов
Иногда вы можете столкнуться с проблемами или ошибками в определенном пакете, это заставит вас установить пакет в которой нет ошибок. Перед установкой можно проверить доступные версии пакета с помощью команды apt-cache madison .
Вы можете увидеть результат ниже
Вы также можете использовать например вот такую команду
Далее с помощью одной из двух команд вы можете проверить доступную версию пакета с версиями релизов на официальном сайте или на официальном GitHub.
2. Установка определенной версии пакета
Когда вы просмотрите версии, для того чтобы выбрать конкретную. Вы можете установить ее с помощью команды apt-get install , за которой следует имя и версия пакета. Итак, вам нужно следовать синтаксису, приведенному ниже:
Параметр -V помогает получить более подробную информацию об установке
Практически, вы можете сделать, как показано ниже:
Имитировать установку пакета
Иногда по какой-то причине вам может потребоваться убедиться, что при установке не возникнет никаких проблем. Для этого можно имитировать установку с параметром -s
Например, чтобы установить определенную версию virtualbox версии 6.1.32-dfsg-1~ubuntu1.20.04.1, введите:
Вы можете видеть, что данная команда показывает процесс установки, но это всего лишь симуляция.
Просмотр версии установленного пакета
Вам может потребоваться проверить версию установленного пакета. Вы можете сделать это с помощью команды dpkg в сочетании с grep , за которой следует имя пакета.
Если вы хотите отфильтровать информацию, вы можете использовать команду, как показано ниже
sudo dpkg -l | grep ‘^ii’ | grep virtualbox | awk »
virtualbox 6.1.32-dfsg-1~ubuntu1.20.04.1
virtualbox-dkms 6.1.32-dfsg-1~ubuntu1.20.04.1
virtualbox-qt 6.1.32-dfsg-1~ubuntu1.20.04.1
Чтобы просмотреть все установленные пакеты с указанием версии, вы можете использовать dpkg -l .
Заключение
Уверен что вы не часто сталкиваетесь со сценарием установки определенного пакета. Но на всякий случай пускай будет эта статья тут. Вдруг кому нибудь пригодится. Какой пакет вы установили и какой метод использовали?
Оставьте свой комментарий и предложения в разделе комментариев ниже.
Как установить конкретную версию пакета в CentOS и Ubuntu
Обычно при установке пакета в CentOS и Ubuntu программа управления пакетами по умолчанию выбирает последнюю версию пакета из репозитория. Однако иногда по той или иной причине вам может потребоваться установить определенную версию пакета в вашей системе Linux.
В этой статье мы объясним, как установить конкретную или конкретную версию пакета в CentOS и Ubuntu с помощью интерфейсных менеджеров пакетов APT соответственно.
Установите определенную версию пакета в CentOS/RHEL/Fedora
Во-первых, вам нужно проверить все доступные версии пакета, независимо от того, установлены они или нет. Обычно yum игнорирует определенные версии пакета и всегда пытается установить последнюю доступную версию.
Во-вторых, когда вы пытаетесь найти информацию о пакете, yum показывает только последнюю версию этого пакета в выводе подкоманд info, list или search; но с помощью переключателя —showduplicates вы можете отобразить все версии пакетов, присутствующие в репозитории.
# yum --showduplicates list nginx
Из приведенного выше вывода команды формат именования пакетов:
package_name.architecture version_number–build_number repository
номер_сборки представляет собой незначительные изменения, внесенные сопровождающим пакета, а не автором программы, такие как дополнительная документация, изменения в файлах конфигурации, исправления ошибок и т. д.
После того, как вы определили конкретную версию пакета (например, nginx-1.10.3-1.el7.ngx), установите его следующим образом. Обратите внимание, что формат имени здесь должен измениться на желаемый полный RPM, package_name-version_number, как показано в следующей команде.
В качестве альтернативы, если вы хотите использовать версию с определенными обновлениями, укажите номер_сборки (название_пакета-номер_версии-номер_сборки), как показано.
# yum install nginx-1.10.3-1.el7.ngx
Учитывая описанную выше ситуацию, в системе уже установлена более новая версия пакетов. Поэтому вам необходимо удалить установленную версию пакета, если вы хотите установить более старую версию из доступных пакетов, как показано.
После того, как вы удалили установленный пакет, вы можете установить нужную версию, как описано выше.
Установите конкретную версию пакета в Ubuntu и Debian
Сначала проверьте версию пакета, установленного в вашей системе, а также все доступные пакеты в репозитории, используя приведенную ниже команду apt-cache.
Чтобы установить конкретную версию пакета, используйте следующую команду с приведенным ниже синтаксисом.
$ sudo apt install firefox=45.0.2+build1-0ubuntu1
Если в вашей системе Ubuntu уже установлена более новая версия пакета, вы можете удалить ее, а затем установить нужную версию.
$ sudo apt remove firefox $ sudo apt install firefox=45.0.2+build1-0ubuntu1
Вот и все! Для получения дополнительной информации обратитесь к справочным страницам yum, apt, apt-cache. Если у вас есть какие-либо вопросы, используйте форму комментариев ниже, чтобы связаться с нами.