Поиск по сайту:

Как проверить версию пакета 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» отображает множество важных деталей пакета, таких как:

  1. имя пакета,
  2. версия,
  3. происхождение (откуда взят vim),
  4. сопровождающий,
  5. домашняя страница пакета,
  6. зависимости,
  7. размер загрузки,
  8. описание,
  9. и много.

Итак, доступная версия пакета 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

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

Статьи по данной тематике