Как проверить версию пакета Linux перед его установкой
Большинство из вас знают, как найти версию установленного пакета в Linux. Но что бы вы сделали, чтобы найти версию пакетов, которые изначально не установлены? Без проблем! В этом руководстве описывается, как проверить версию пакета Linux перед его установкой в Debian и его производных, таких как Ubuntu. Этот небольшой совет может быть полезен тем, кто задается вопросом, какую версию они получат перед установкой пакета.
Проверьте версию пакета в Linux
Существует множество способов узнать версию пакета, даже если он еще не установлен в системах на базе DEB. Здесь я привел несколько методов.
Способ 1 — использование Apt
Быстрый и простой способ проверить версию пакета — просто запустить:
apt show <package-name>
Пример:
apt show vim
Пример вывода:
Package: vim
Version: 2:8.0.1453-1ubuntu1.1
Priority: optional
Section: editors
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2,852 kB
Provides: editor
Depends: vim-common (= 2:8.0.1453-1ubuntu1.1), vim-runtime (= 2:8.0.1453-1ubuntu1.1), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.7), libpython3.6 (>= 3.6.5), libselinux1 (>= 1.32), libtinfo5 (>= 6)
Suggests: ctags, vim-doc, vim-scripts
Homepage: https://vim.sourceforge.io/
Task: cloud-image, server
Supported: 5y
Download-Size: 1,152 kB
APT-Sources: http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
Description: Vi IMproved - enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a rather
standard set of features. This package does not provide a GUI
version of Vim. See the other vim-* packages if you need more
(or less).
N: There is 1 additional record. Please use the '-a' switch to see it
Как вы можете видеть в приведенном выше выводе, команда «apt show» отображает множество важных деталей пакета, таких как:
- имя пакета,
- версия,
- происхождение (откуда взят vim),
- сопровождающий,
- домашняя страница пакета,
- зависимости,
- размер загрузки,
- описание,
- и много.
Итак, доступная версия пакета Vim в репозиториях Ubuntu — 8.0.1453. Это версия, которую я получу, если установлю ее в своей системе Ubuntu.
Альтернативно, используйте команду "apt policy", если вы предпочитаете короткий вывод:
$ apt policy vim
vim:
Installed: (none)
Candidate: 2:8.0.1453-1ubuntu1.1
Version table:
2:8.0.1453-1ubuntu1.1 500
500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
2:8.0.1453-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Или даже короче:
$ apt list vim
Listing... Done
vim/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.1 amd64
N: There is 1 additional version. Please use the '-a' switch to see it
Apt — менеджер пакетов по умолчанию в последних версиях Ubuntu. Итак, этой команды достаточно, чтобы найти подробную информацию о пакете. Не имеет значения, установлен ли данный пакет или нет. Эта команда просто выведет список версии данного пакета вместе со всеми другими деталями.
Способ 2 — использование Apt-get
Чтобы найти версию пакета без его установки, мы можем использовать команду apt-get с опцией -s.
apt-get -s install vim
Пример вывода:
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
ctags vim-doc vim-scripts
The following NEW packages will be installed:
vim
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Inst vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Здесь опция -s указывает на симуляцию. Как вы можете видеть в выводе, он не выполняет никаких действий. Вместо этого он просто выполняет симуляцию, чтобы вы знали, что произойдет при установке пакета Vim.
Вы можете заменить опцию «Установить» на опцию «Обновить», чтобы увидеть, что произойдет при обновлении пакета.
apt-get -s upgrade vim
Метод 3 — использование Aptitude
Aptitude — это интерфейс на основе ncurses и командной строки для менеджера пакетов APT в Debian и его производных.
Чтобы найти версию пакета с помощью Aptitude, просто запустите:
$ aptitude versions vim
p 2:8.0.1453-1ubuntu1 bionic 500
p 2:8.0.1453-1ubuntu1.1 bionic-security,bionic-updates 500
Вы также можете использовать опцию моделирования (-s), чтобы увидеть, что произойдет, если вы установите или обновите пакет.
$ aptitude -V -s install vim
The following NEW packages will be installed:
vim [2:8.0.1453-1ubuntu1.1]
0 packages upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Need to get 1,152 kB of archives. After unpacking 2,852 kB will be used.
Would download/install/remove packages.
Здесь флаг -V используется для отображения подробной информации о версии пакета.
Аналогично, просто замените «установить» опцией «обновить», чтобы увидеть, что произойдет, если вы обновите пакет.
aptitude -V -s upgrade vim
Другой способ найти версию неустановленного пакета с помощью команды Aptitude:
aptitude search vim -F "%c %p %d %V"
Здесь,
- -F используется для указания формата, который следует использовать для отображения вывода,
- %c — статус данного пакета (установлен или не установлен),
- %p — имя пакета,
- %d — описание пакета,
- %V — версия пакета.
Это полезно, если вы не знаете полного имени пакета. Эта команда выведет список всех пакетов, содержащих данную строку (например, vim).
Вот пример вывода приведенной выше команды:
[...]
p vim Vi IMproved - enhanced vi editor 2:8.0.1453-1ub
p vim-tlib Some vim utility functions 1.23-1
p vim-ultisnips snippet solution for Vim 3.1-3
p vim-vimerl Erlang plugin for Vim 1.4.1+git20120
p vim-vimerl-syntax Erlang syntax for Vim 1.4.1+git20120
p vim-vimoutliner script for building an outline editor on top of Vim 0.3.4+pristine
p vim-voom Vim two-pane outliner 5.2-1
p vim-youcompleteme fast, as-you-type, fuzzy-search code completion engine for Vim 0+20161219+git
Способ 4 — Использование Apt-кеша
Команда Apt-cache используется для запроса кеша APT в системах на базе Debian. Это полезно для выполнения многих операций с кешем пакетов APT. Хороший пример: мы можем перечислить установленные приложения из определенного репозитория/ppa.
Мы также можем найти не только установленные приложения, но и версию пакета, даже если он не установлен. Например, следующая команда найдет версию пакета Vim:
apt-cache policy vim
Пример вывода:
vim:
Installed: (none)
Candidate: 2:8.0.1453-1ubuntu1.1
Version table:
2:8.0.1453-1ubuntu1.1 500
500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
2:8.0.1453-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Как видно из приведенного выше вывода, Vim не установлен. Если вы захотите установить его, вы получите версию 8.0.1453. Он также показывает, из какого репозитория взят пакет vim.
Один из наших читателей предложил следующую команду в разделе комментариев ниже.
apt-cache madison vim
Пример вывода:
vim | 2:8.0.1453-1ubuntu1.1 | http://it-mirrors.evowise.com/ubuntu bionic-updates/main amd64 Packages
vim | 2:8.0.1453-1ubuntu1.1 | http://it-mirrors.evowise.com/ubuntu bionic-security/main amd64 Packages
vim | 2:8.0.1453-1ubuntu1 | http://it-mirrors.evowise.com/ubuntu bionic/main amd64 Packages
Способ 5 — Использование Apt-show-версий
Команда Apt-show-versions используется для вывода списка установленных и доступных версий пакетов в Debian и системах на его основе. Он также отображает список всех обновляемых пакетов. Это очень удобно, если у вас смешанная стабильная и тестовая среда. Например, если вы включили как стабильный, так и тестовый репозитории, вы можете легко найти список тестируемых приложений, а также обновить все тестируемые пакеты.
Apt-show-versions не устанавливается по умолчанию. Вам необходимо установить его с помощью команды:
sudo apt-get install apt-show-versions
После установки выполните следующую команду, чтобы узнать версию пакета, например Vim:
$ apt-show-versions -a vim
vim:amd64 2:8.0.1453-1ubuntu1 bionic archive.ubuntu.com
vim:amd64 2:8.0.1453-1ubuntu1.1 bionic-security security.ubuntu.com
vim:amd64 2:8.0.1453-1ubuntu1.1 bionic-updates archive.ubuntu.com
vim:amd64 not installed
Здесь ключ -a печатает все доступные версии данного пакета.
Если данный пакет уже установлен, вам не нужно использовать опцию -a. В этом случае просто запустите:
apt-show-versions vim
И это все. Если вы знаете какие-либо другие методы, поделитесь ими в разделе комментариев ниже. Я проверю и обновлю это руководство.