Я установил пакет JDK на свой Ubuntu 14.04 несколько месяцев назад, но я не знаю, как проверить, какая это версия.
Итак, как мне узнать, установлен ли пакет в Ubuntu и какая версия установлена?
Boyka 04 фев ’17 в 19:39 2017-02-04 19:39
2017-02-04 19:39
4 ответа
TL;DR: для простой команды (нет | grep ) с компактным выходом, вы можете использовать
- apt list package , который, как правило, то, что вы хотите (сравните с apt-cache policy package ) или
- dpkg-query -W package как менее загроможденная версия dpkg -l package ,
apt команда (для apt list package ) доступен в Ubuntu 14.04 и более поздних версиях.
apt list говорит вам, установлен ли ваш пакет.
apt list package показывает версию пакета, который установлен или будет установлен, а также имена компонентов репозитория, которые его предоставляют, и версию. Когда пакет установлен, [installed] появляется заметно в конце строки.
[email protected]:~$ apt list firefox Listing. Done firefox/xenial-updates,xenial-security,now 51.0.1+build2-0ubuntu0.16.04.1 amd64 [installed] N: There is 1 additional version. Please use the ‘-a’ switch to see it
В дополнение к [installed] в конце, now в списке компонентов репозитория указывается, что пакет в данный момент установлен. Это то, что apt list вывод выглядит как для пакета, который не установлен:
Как узнать сетевое имя компьютера в терминале Ubuntu
[email protected]:~$ apt list dolphin Listing. Done dolphin/xenial 4:15.12.3-0ubuntu1 amd64
Иногда вы увидите [installed,automatic] , что означает, что пакет был установлен как зависимость какого-либо другого пакета. Поскольку он был установлен автоматически, а не установлен вручную, его можно удалить после удаления всех пакетов, которые зависят от него (что apt autoremove команда делает).
[email protected]:~$ apt list zeitgeist-core Listing. Done zeitgeist-core/xenial,now 0.9.16-0ubuntu4 amd64 [installed,automatic]
Ты можешь использовать apt list —installed показывать только установленные пакеты.
Одним из преимуществ просмотра списка, даже если пакет не установлен, является то, что вы знаете, что существует пакет с указанным вами именем. В противном случае, если вы напишите это случайно, вы можете подумать, что пакет, который вы имели в виду, не установлен.
[email protected]:~$ apt list firefoz Listing. Done
Но если вы действительно предпочитаете, чтобы ничего не появлялось, если у вас нет пакета, используйте apt list —installed package :
[email protected]:~$ apt list —installed firefox dolphin Listing. Done firefox/xenial-updates,xenial-security,now 51.0.1+build2-0ubuntu0.16.04.1 amd64 [installed] N: There is 1 additional version. Please use the ‘-a’ switch to see it
Globbing поможет вам составить список пакетов, имена которых вы не знаете или не хотите вводить.
Как вы только что видели, вы можете передать несколько имен пакетов apt list , Другая вещь, которую вы можете сделать, это передать это шар, где * представляет ноль или более символов и ? представляет один символ Есть несколько вещей, которые нужно иметь в виду:
Ubuntu и переферия. Добавляем сканнер. Linux для новичков
- Ваша оболочка также расширяет глобусы в имена файлов, но это не то, что вы хотите, чтобы происходило здесь, поэтому вы всегда должны заключать их в кавычки (в ‘ ‘ или же » » или с ) когда вы передаете их apt list ,
- Хотя и глобусы, и регулярные выражения поддерживают классы символов (например, [csz]sh Матчи csh , ssh zsh ), они не одинаковы и * а также ? означают разные вещи в глобусе, чем в регулярном выражении. Это важно, потому что некоторые другие команды, используемые для получения информации о пакетах, такие как apt-cache policy package используйте регулярные выражения, а не глобусы. Вы должны проверить, использует ли команда глобусы или регулярные выражения, прежде чем полагаться на какую-либо функцию.
- Когда вы фактически добавляете и удаляете пакеты, вы не должны путать глобусы с регулярными выражениями. apt list ‘wine*’ перечисляет все пакеты, имена которых начинаются с wine , но apt remove ‘wine*’ удаляет все пакеты с win (даже без e ) где угодно на их имя!
Предположим, например, что я знаю, что интересующий меня пакет имеет soap в его названии где-то и заканчивается cil , но это все, что я помню:
[email protected]:~$ apt list ‘*soap*cil’ Listing. Done libmono-system-runtime-serialization-formatters-soap4.0-cil/xenial,xenial,now 4.2.1.102+dfsg2-7ubuntu4 all [installed,automatic]
Globbing также удобен, когда вы знаете полное название интересующего вас пакета, но не хотите его набирать. Или когда вы заинтересованы в нескольких пакетах, которые соответствуют глобу:
[email protected]:~$ apt list ‘firefox-locale-*’ Listing. Done firefox-locale-af/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-an/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ar/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-as/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ast/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-az/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-be/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-bg/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-bn/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-br/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-bs/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ca/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-cak/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-cs/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-csb/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-cy/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-da/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-de/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-el/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-en/xenial-updates,xenial-security,now 51.0.1+build2-0ubuntu0.16.04.1 amd64 [installed] firefox-locale-eo/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-es/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-et/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-eu/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-fa/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-fi/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-fr/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-fy/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ga/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-gd/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-gl/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-gn/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-gu/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-he/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-hi/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-hr/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-hsb/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-hu/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-hy/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-id/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-is/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-it/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ja/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ka/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-kab/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-kk/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-km/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-kn/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ko/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ku/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-lg/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-lt/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-lv/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-mai/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-mk/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ml/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-mn/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-mr/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ms/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-nb/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-nl/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-nn/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-nso/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-oc/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-or/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-pa/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-pl/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-pt/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ro/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ru/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-si/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sk/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sl/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sq/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sr/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sv/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-sw/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-ta/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-te/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-th/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-tr/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-uk/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-uz/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-vi/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-xh/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-zh-hans/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-zh-hant/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64 firefox-locale-zu/xenial-updates,xenial-security 51.0.1+build2-0ubuntu0.16.04.1 amd64
Это много пакетов. (Хотя не так много, как если бы я бежал apt list ‘*’ , в котором перечислены все доступные пакеты!) К счастью, с глобусами работают —installed тоже:
[email protected]:~$ apt list —installed ‘firefox-locale-*’ Listing. Done firefox-locale-en/xenial-updates,xenial-security,now 51.0.1+build2-0ubuntu0.16.04.1 amd64 [installed] N: There is 1 additional version. Please use the ‘-a’ switch to see it
apt list против dpkg-query -W
Другая команда, которую вы можете использовать, dpkg-query -W package , Это похоже на dpkg -l , но его вывод более упрощен и читаем, потому что печатаются только имя пакета и установленная версия (если есть).
dpkg-query -W перечисляет все пакеты dpkg знает, что соответствует названию или шаблону глобуса, который вы ему даете. Это включает в себя пакеты, которые установлены, а также пакеты, которые не установлены, но на которые ссылается другой пакет. Вы можете сказать, какие пакеты фактически установлены, потому что номер установленной версии / строка напечатаны справа от имени. Например, в моей системе 16.04:
[email protected]:~$ dpkg-query -W wine-* wine-amd64 wine-gecko wine-gecko2.21:amd64 2.21-0ubuntu1 wine-gecko2.21:i386 2.21-0ubuntu1 wine-i386 wine-mono wine-mono0.0.8 0.0.8-0ubuntu1
Таким образом, из перечисленных пакетов, wine-gecko2.21:amd64 а также wine-gecko2.21:i386 (То есть, wine-gecko2.21 для обоих amd64 а также i386 архитектуры) и wine-mono0.0.8 те, которые я сейчас установил.
dpkg-query -W а также apt list оба всегда будут знать об установленных пакетах, независимо от того, предоставляются ли они каким-либо настроенным в данный момент источником программного обеспечения, и упоминаются ли на них другие пакеты. Тем не мение:
- apt list также знает о пакетах, доступных из любого в настоящее время настроенного программного источника, но не знает о недоступных пакетах, на которые ссылаются другие пакеты.
- dpkg-query -W (лайк dpkg -l ) напрямую не отражает, какие пакеты фактически доступны, но знает о пакетах, на которые ссылается любой установленный пакет.
На той же машине:
[email protected]:~$ apt list wine-* Listing. Done wine-development/xenial,xenial 1.9.6-1 all wine-gecko2.21/xenial,now 2.21-0ubuntu1 amd64 [installed,automatic] wine-mono0.0.8/xenial,xenial,now 0.0.8-0ubuntu1 all [installed,automatic]
Как с dpkg -l когда ты бежишь dpkg-query -W с названием пакета, которого у вас нет (например, у меня нет chocolate-doom установлен), вывод такой же, как при запуске с именем пакета, которого не существует вообще (например, из-за неправильной написания, например firefoz ):
[email protected]:~$ dpkg-query -W chocolate-doom firefoz dpkg-query: no packages found matching chocolate-doom dpkg-query: no packages found matching firefoz
По сравнению, apt list ясно показывает, что только chocolate-doom существует (но не установлен):
[email protected]:~$ apt list chocolate-doom firefoz Listing. Done chocolate-doom/xenial 2.2.1-2.1 amd64
Источник: ask-ubuntu.ru
Проверьте с терминала, установлен ли данный пакет в Ubuntu
В следующей статье мы рассмотрим, как мы можем проверить с терминала, установлен ли данный пакет или нет в нашей системе Ubuntu. Иногда пользователям может потребоваться знать эту информацию по тем или иным причинам.
Чтобы получить эту информацию, мы можем найти разные способы ее получения. Немного поискав в Google, можно найти разные способы получения этих данных. Это то, что в какой-то момент всегда может быть полезно для всех пользователей. В этой статье мы оставим семь способов, чтобы каждый пользователь мог выбрать тот, который ему больше всего подходит.
- 1 Что мы можем использовать из терминала, чтобы проверить, установлен ли данный пакет в Ubuntu или нет?
- 2 Примеры для проверки, установлен ли пакет
- 2.1 Команда Apt
- 2.2 Команда apt-cache
- 2.3 Команда dpkg
- 2.4 Команда dpkg-query
- 2.5 Какая команда
- 2.6 Где команда
- 2.7 Найдите команду
Что мы можем использовать из терминала, чтобы проверить, установлен ли данный пакет в Ubuntu или нет?
- кв. Это мощный инструмент командной строки для установки, загрузки, удаления, поиска и управлять пакетами в системах на основе Debian.
- apt-кэш. Привыкший запросить кеш APT или метаданные для пакета.
- Dpkg. Это менеджер пакетов для систем на базе Debian.
- dpkg-запрос. Это инструмент для запросить базу данных dpkg.
- который. Эта команда возвращает полный путь к исполняемому файлу.
- где. Используется для найти двоичный файл, исходный код и файлы справочной страницы для данной команды.
- разместить. Команда определения местоположения работает быстрее, чем команда find потому что он использует базу данных updatedb, а команда find выполняет поиск в реальной системе.
Примеры для проверки, установлен ли пакет
Прежде всего, скажите, что у меня есть следующие команды протестировано на Ubuntu 19.04.
Команда Apt
APT это мощный инструмент для терминала, с помощью которого мы можем устанавливать, загружать, удалять, искать и управлять, а также получить информацию о пакетах. Он также содержит несколько менее используемых утилит командной строки, связанных с управлением пакетами.
apt list vim
Команда apt-cache
Команда APT-кэша используется для запроса кеша APT или метаданных пакета из внутренней базы данных APT. Он будет искать и отображать информацию о данном пакете. Он покажет нам, установлен пакет или нет, версию установленного пакета, информацию об исходном репозитории.
В следующем примере мы увидим, что пакет vim уже установлен в системе.
apt-cache policy vim
Команда dpkg
ДПКГ Это инструмент для установки, создания, удаления и управления пакетами, но в отличие от других систем управления пакетами, не может автоматически загружать и устанавливать пакеты или их зависимости. Чтобы получить информацию, мы можем объединить ее с помощью grep.
dpkg -l | grep -i nano
Команда dpkg-query
Это инструмент для отображать информацию о пакетах, перечисленных в базе dpkg.
dpkg-query —list | grep -i nano
Какая команда
Команда which возвращает полный путь к исполняемому файлу. Эта команда очень полезна, когда мы хотим создать ярлык на рабочем столе или символическую ссылку для исполняемых файлов. Команда ищет каталоги, перечисленные в переменной среды.
PATH текущий пользователь.
Если после выполнения команды отображается двоичный файл данного пакета или расположение исполняемого файла, это означает, что пакет уже был установлен в системе. В противном случае пакет не установлен в системе.
which vim
Где команда
Команда где используется для поиска двоичных файлов, исходных файлов и файлов справочной страницы для данной команды.
Если выходные данные команды показывают двоичный файл данного пакета или расположение исполняемого файла, это означает, что пакет уже был установлен в системе. В противном случае пакет не установлен в системе.
whereis nano
Найдите команду
Команда разместить работает быстрее, чем команда find, потому что использует обновленную базу данных, а команда find выполняет поиск в реальной системе. Используйте базу данных вместо поиска путей к отдельным каталогам.
Если выходные данные команды показывают расположение двоичного или исполняемого файла данного пакета, значит, пакет уже установлен в системе. В противном случае пакет не установлен в системе.
locate —basename ‘nano’
Теме статьи:
Список пакетов, установленных разными способами в вашей системе Ubuntu
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Проверьте с терминала, установлен ли данный пакет в Ubuntu
Источник: ubunlog.com
УЗНАТЬ УСТАНОВЛЕН ЛИ ПАКЕТ В UBUNTU
В Ubuntu для управления пакетами используется утилита dpkg, с помощью нее можно узнать всю информацию об установленных пакетах, в том числе проверить установлен ли пакет Ubuntu. Для этого есть опция -s. Например, если нужно узнать установлен ли пакет firefox, выполните:
Как видите, браузер установлен – installed – ok. Тут можно также узнать версию пакета Ubuntu. То же самое можно сделать с помощью команды dpkg-query:
dpkg-query -l firefox
Утилита dpkg может намного больше. Чтобы посмотреть установленные пакеты Ubuntu выполните команду:
Список может быть очень длинным, в зависимости от количества установленных в системе пакетов. С помощью wc мы можем подсчитать общее количество установленных пакетов:
dpkg —get-selections | wc -l
Также можно отфильтровать только что полученный список с помощью grep чтобы узнать установлен ли пакет или пакеты. Это может быть полезно если вы не знаете полное имя пакета. Например, мы хотим узнать какие пакеты из набора gcc уже установлены:
dpkg —get-selections | grep gcc
Также можно получить все файлы пакета, используя параметр -L:
Но это мы рассматривали более подробно в другой статье. А теперь поговорим о том, как выполняется все выше перечисленное в дистрибутиве на базе rpm.
ПРОВЕРИТЬ УСТАНОВЛЕН ЛИ ПАКЕТ LINUX
В операционных системах на базе менеджера пакетов rpm тоже можно проверить установлен ли пакет. Для этого используется утилита rpm. Просто выполните утилиту с ключом -q:
Если нужна более подробная информация, можно добавить опцию -i. Здесь вы можете узнать версию пакета linux, а также много полезной информации:
rpm -qi chromium
Вывести все установленные пакеты можно с помощью опции -a:
Затем, так же как и в предыдущем примере можно все отфильтровать с помощью grep:
Источник: the-devops.ru