Содержание статьи

В Ubuntu управление пакетами осуществляется через различные инструменты, включая apt, dpkg и snap. Для точного контроля состояния системы важно знать, какая версия пакета установлена. Это позволяет избежать конфликтов при обновлении или установке зависимостей.
Для пакетов языков программирования и менеджеров зависимостей проверка версии выполняется через их собственные команды. Например, Python-пакеты можно проверить через pip show или pip list, а Node.js-пакеты – через npm list. Это позволяет точно сопоставить версии библиотек с требованиями проектов.
Просмотр установленной версии пакета через apt

Для быстрого поиска нескольких пакетов стоит применять шаблоны с подстановочными символами, например apt list —installed ‘libc*’. Это покажет все установленные пакеты, начинающиеся с «libc», вместе с их версиями.
Команды apt учитывают зависимости и метаданные, поэтому информация о версии всегда актуальна, что важно при обновлении системы или при подготовке среды разработки с конкретными требованиями к пакетам.
Использование dpkg для получения информации о пакете
Команда dpkg предоставляет детальную информацию о пакетах, установленных в системе. Она работает напрямую с базой данных dpkg и подходит для проверки версий без обращения к репозиториям.
Для просмотра версии конкретного пакета используется команда:
- Package: curl
- Status: install ok installed
- Priority: optional
- Version: 7.68.0-1ubuntu2.17
- Architecture: amd64
- Description: command line tool for transferring data with URL syntax
Для быстрого просмотра только версии можно использовать фильтрацию через grep:
- dpkg -s curl | grep Version – отобразит строку с установленной версией пакета.
Если требуется получить список всех установленных пакетов с их версиями, применяется:
Проверка версии пакета через команду snap
Snap-пакеты управляются отдельным инструментом snap, который используется для приложений, распространяемых независимо от стандартных репозиториев Ubuntu. Для проверки версии установленного пакета применяется команда:
Пример для пакета vlc:
- Name: vlc
- Version: 3.0.18
- Rev: 1700
- Tracking: stable
- Publisher: VideoLAN✓
- Notes: classic
Если необходимо просмотреть версии всех установленных snap-пакетов, достаточно выполнить snap list без указания имени. Для поиска конкретного пакета можно использовать фильтр через grep:
snap list | grep vlc – позволит быстро отфильтровать информацию по пакету и увидеть текущую версию.
Snap хранит пакеты в контейнерах и использует собственные каналы обновления. Проверка версии через snap помогает убедиться, что используется нужная ревизия и что приложение соответствует требованиям системы.
Поиск версии пакета с помощью команды apt-cache policy

Команда apt-cache policy <имя_пакета> показывает установленную версию пакета и версии, доступные в репозиториях. Это помогает определить, можно ли выполнить обновление или установить конкретную версию.
Пример команды для пакета curl:
apt-cache policy curl
| Поле | Значение |
|---|---|
| Installed | 7.68.0-1ubuntu2.17 |
| Candidate | 7.68.0-1ubuntu2.18 |
| Version table | 7.68.0-1ubuntu2.18 500 500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages 7.68.0-1ubuntu2.17 500 500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages |
В таблице поле Installed показывает текущую установленную версию, Candidate – версию, которая будет установлена при обновлении, а Version table отображает все доступные версии и репозитории.
Для быстрого сравнения нескольких пакетов можно использовать цикл в командной строке, например:
for pkg in curl git vim; do apt-cache policy $pkg; done – выведет версию всех перечисленных пакетов.
Сравнение установленной версии с доступной в репозитории
Для проверки актуальности пакета в Ubuntu используют команды apt list —installed и apt-cache policy. Они позволяют определить, совпадает ли установленная версия с последней доступной в репозитории.
Пример сравнения для пакета git:
- Проверка установленной версии: apt list —installed git → показывает git/1:2.25.1-1ubuntu3.
- Проверка доступной версии: apt-cache policy git → показывает Candidate: 1:2.25.1-1ubuntu3.2.
Если Installed отличается от Candidate, можно выполнить обновление пакета:
- sudo apt update – обновляет информацию о репозиториях.
- sudo apt install —only-upgrade git – обновляет пакет до доступной версии.
Для нескольких пакетов сравнение можно автоматизировать через цикл:
- Создать список пакетов: packages=»git curl vim»
- Выполнить команду: for pkg in $packages; do apt-cache policy $pkg | grep -E «Installed|Candidate»; done
- Результат покажет установленные версии и доступные обновления для всех пакетов.
Определение версии пакета Python через pip
Для управления пакетами Python используется pip. Чтобы узнать версию установленного пакета, применяют команду:
pip show <имя_пакета>
Пример для пакета requests:
| Поле | Значение |
|---|---|
| Name | requests |
| Version | 2.28.2 |
| Summary | Python HTTP for Humans. |
| Home-page | https://requests.readthedocs.io |
| Author | Kenneth Reitz |
| Location | /usr/local/lib/python3.10/site-packages |
Для быстрого просмотра версий всех установленных пакетов используется команда:
Если требуется сравнить установленную версию с последней доступной, применяют:
pip install —upgrade <имя_пакета> —dry-run – команда покажет, доступно ли обновление без фактической установки.
Проверка версии пакета Node.js через npm
Для управления пакетами Node.js используется npm. Чтобы узнать установленную версию конкретного пакета, применяют команду:
npm list <имя_пакета>
Пример для пакета express:
npm list express
- express@4.18.2
- └─ project-root/node_modules/express
Для глобально установленных пакетов используется флаг -g:
npm list -g <имя_пакета>
Чтобы получить список всех пакетов с версиями в текущем проекте, применяется:
Для проверки, доступно ли обновление пакета, используют команду:
npm outdated <имя_пакета> – показывает текущую, желаемую и последнюю доступную версии.
Примеры команд:
- git —version – показывает версию установленного Git.
- node -v – отображает версию Node.js.
Для проверки нескольких утилит удобно использовать цепочку команд через && или ;:
git —version && curl —version && node -v – позволяет получить версии всех перечисленных программ за один запуск.
Вопрос-ответ:
Как узнать, какая версия пакета curl установлена в Ubuntu через командную строку?
Для проверки версии curl можно использовать команду curl —version. Она выведет номер установленной версии и поддерживаемые протоколы. Также можно использовать apt list —installed curl для просмотра версии, установленной через пакетный менеджер apt, или dpkg -s curl | grep Version для получения только информации о версии.
Можно ли проверить доступные обновления пакета перед его обновлением?
Да, команда apt-cache policy <имя_пакета> покажет установленную версию и версии, доступные в репозиториях. Если установленная версия отличается от Candidate, значит доступно обновление. Для обновления конкретного пакета применяют sudo apt install —only-upgrade <имя_пакета>. Это позволяет убедиться, что пакет будет обновлен до последней доступной версии.
Как быстро получить список версий всех установленных Python-пакетов?
Используется команда pip list, которая выводит таблицу с именами всех пакетов и их версиями. Для детальной информации по конкретному пакету можно использовать pip show <имя_пакета>. Если требуется проверить, доступно ли обновление, применяют pip install —upgrade <имя_пакета> —dry-run, чтобы увидеть доступную версию без фактической установки.
В чем разница между проверкой версии пакета через apt и dpkg?
Команда apt list —installed обращается к системе управления пакетами и показывает версию вместе с информацией о репозитории. Она полезна для проверки, какие версии доступны для обновления. Команда dpkg -s <имя_пакета> работает локально с базой данных пакетов и показывает точный номер установленной версии, зависимые пакеты и описание. dpkg не показывает доступные обновления, поэтому ее используют для точного контроля установленной версии.
