Как найти номер версии установленного пакета через dpkg?

Явление, которое вы видели, также может быть связано с беспроводным роумингом, который wpa_supplicant (который работает в фоновом режиме) делает в подходящие моменты, например, когда ваша сеть соседей имеет то же имя, что и ваше.

One способ остаться в вашей собственной точке доступа - заблокировать сохраненное соединение с MAC-адресом вашей точки доступа. MAC-адрес подключенной точки доступа отображается в iwconfig или в iw wlan0 link

. Здесь введите MAC (или BSSID, то же самое):

70
задан 30 November 2010 в 10:20

45 ответов

Другой способ найти версию установленного пакета через dpkg , как показано ниже,

  dpkg -l |  awk '$ 2 == "package-name" {print $ 3}'  

Пример:

  $ dpkg -l |  awk '$ 2 == "network-manager" {print $ 3}' 0.9.8.0-0ubuntu22  

Объяснение:

dpkg -l команда перечисляет все установленные пакеты. Этот стандартный вывод был подан как вход в команду awk . awk выполняет поиск соответствующего имени пакета в стандартном вводе (столбец 2 ), если он находит, то он захватывает соответствующую строку. И, наконец, печатает значение столбца [ 3 ), которое фактически представляло версию пакета.

  $ dpkg -l Desired = Unknown / Install / Remove / Purge / Hold  |  Status = Not / Inst / Conf-files / Unpacked / halF-conf / Half-inst / trig-aWait / Trig-pend | / Err? = (None) / Reinst-required (Status, Err: uppercase = bad) ||  / Name Version Architecture Описание  

Согласно вышеизложенному, столбец 2 представляет имя пакета, столбец 3 представляет версию пакета, столбец 4 представляет архитектуру, а столбец 5 представляет описание пакета.

4
ответ дан 6 August 2018 в 04:18

Я думаю, что aneeshep's - лучший ответ, так как ваш вопрос указывает на использование dpkg. Но для полноты, вот еще один способ:

  Сетевой менеджер-менеджер сети apt-cache: Установлен: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 Кандидат: 0.8.1 + git  .20100810t184654.ab580f4-0ubuntu2 Таблица версий: *** 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick / main i386 Пакеты 100 / var / lib /  dpkg / status  

Или просто номер версии:

  Сетевой менеджер политики apt-cache |  grep 'Установлен:' |  cut -c 14- 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
14
ответ дан 6 August 2018 в 04:18
  dpkg-query --showformat = '$ {Version}' --show python3-lxml  
29
ответ дан 6 August 2018 в 04:18

Другой способ найти версию установленного пакета через dpkg , как показано ниже,

  dpkg -l |  awk '$ 2 == "package-name" {print $ 3}'  

Пример:

  $ dpkg -l |  awk '$ 2 == "network-manager" {print $ 3}' 0.9.8.0-0ubuntu22  

Объяснение:

dpkg -l команда перечисляет все установленные пакеты. Этот стандартный вывод был подан как вход в команду awk . awk выполняет поиск соответствующего имени пакета в стандартном вводе (столбец 2 ), если он находит, то он захватывает соответствующую строку. И, наконец, печатает значение столбца [ 3 ), которое фактически представляло версию пакета.

  $ dpkg -l Desired = Unknown / Install / Remove / Purge / Hold  |  Status = Not / Inst / Conf-files / Unpacked / halF-conf / Half-inst / trig-aWait / Trig-pend | / Err? = (None) / Reinst-required (Status, Err: uppercase = bad) ||  / Name Version Architecture Описание  

Согласно вышеизложенному, столбец 2 представляет имя пакета, столбец 3 представляет версию пакета, столбец 4 представляет архитектуру, а столбец 5 представляет описание пакета.

4
ответ дан 7 August 2018 в 22:22

Он не использует команду dpkg , но apt-show-versions

Пример:

  $ apt-show-versions network-manager network-manager / maverick uptodate 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
24
ответ дан 7 August 2018 в 22:22
  dpkg-query --showformat = '$ {Version}' --show python3-lxml  
29
ответ дан 7 August 2018 в 22:22

Я думаю, что aneeshep's - лучший ответ, так как ваш вопрос указывает на использование dpkg. Но для полноты, вот еще один способ:

  Сетевой менеджер-менеджер сети apt-cache: Установлен: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 Кандидат: 0.8.1 + git  .20100810t184654.ab580f4-0ubuntu2 Таблица версий: *** 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick / main i386 Пакеты 100 / var / lib /  dpkg / status  

Или просто номер версии:

  Сетевой менеджер политики apt-cache |  grep 'Установлен:' |  cut -c 14- 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
14
ответ дан 7 August 2018 в 22:22

Другой способ найти версию установленного пакета через dpkg , как показано ниже,

  dpkg -l |  awk '$ 2 == "package-name" {print $ 3}'  

Пример:

  $ dpkg -l |  awk '$ 2 == "network-manager" {print $ 3}' 0.9.8.0-0ubuntu22  

Объяснение:

dpkg -l команда перечисляет все установленные пакеты. Этот стандартный вывод был подан как вход в команду awk . awk выполняет поиск соответствующего имени пакета в стандартном вводе (столбец 2 ), если он находит, то он захватывает соответствующую строку. И, наконец, печатает значение столбца [ 3 ), которое фактически представляло версию пакета.

  $ dpkg -l Desired = Unknown / Install / Remove / Purge / Hold  |  Status = Not / Inst / Conf-files / Unpacked / halF-conf / Half-inst / trig-aWait / Trig-pend | / Err? = (None) / Reinst-required (Status, Err: uppercase = bad) ||  / Name Version Architecture Описание  

Согласно вышеизложенному, столбец 2 представляет имя пакета, столбец 3 представляет версию пакета, столбец 4 представляет архитектуру, а столбец 5 представляет описание пакета.

4
ответ дан 10 August 2018 в 10:32

Он не использует команду dpkg , но apt-show-versions

Пример:

  $ apt-show-versions network-manager network-manager / maverick uptodate 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
24
ответ дан 10 August 2018 в 10:32
  dpkg-query --showformat = '$ {Version}' --show python3-lxml  
29
ответ дан 10 August 2018 в 10:32

Я думаю, что aneeshep's - лучший ответ, так как ваш вопрос указывает на использование dpkg. Но для полноты, вот еще один способ:

  Сетевой менеджер-менеджер сети apt-cache: Установлен: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 Кандидат: 0.8.1 + git  .20100810t184654.ab580f4-0ubuntu2 Таблица версий: *** 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick / main i386 Пакеты 100 / var / lib /  dpkg / status  

Или просто номер версии:

  Сетевой менеджер политики apt-cache |  grep 'Установлен:' |  cut -c 14- 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
14
ответ дан 10 August 2018 в 10:32

Другой способ найти версию установленного пакета через dpkg , как показано ниже,

  dpkg -l |  awk '$ 2 == "package-name" {print $ 3}'  

Пример:

  $ dpkg -l |  awk '$ 2 == "network-manager" {print $ 3}' 0.9.8.0-0ubuntu22  

Объяснение:

dpkg -l команда перечисляет все установленные пакеты. Этот стандартный вывод был подан как вход в команду awk . awk выполняет поиск соответствующего имени пакета в стандартном вводе (столбец 2 ), если он находит, то он захватывает соответствующую строку. И, наконец, печатает значение столбца [ 3 ), которое фактически представляло версию пакета.

  $ dpkg -l Desired = Unknown / Install / Remove / Purge / Hold  |  Status = Not / Inst / Conf-files / Unpacked / halF-conf / Half-inst / trig-aWait / Trig-pend | / Err? = (None) / Reinst-required (Status, Err: uppercase = bad) ||  / Name Version Architecture Описание  

Согласно вышеизложенному, столбец 2 представляет имя пакета, столбец 3 представляет версию пакета, столбец 4 представляет архитектуру, а столбец 5 представляет описание пакета.

4
ответ дан 13 August 2018 в 17:00
  • 1
    Зачем вам нужно перечислять пакеты all , используя сначала dpkg , а затем пусть awk снова фильтрует их? Вы также можете запросить листинг для одного пакета: dpkg -l & lt; package-name & gt; – gertvdijk 31 July 2018 в 16:56

Он не использует команду dpkg , но apt-show-versions

Пример:

  $ apt-show-versions network-manager network-manager / maverick uptodate 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
24
ответ дан 13 August 2018 в 17:00
  dpkg-query --showformat = '$ {Version}' --show python3-lxml  
29
ответ дан 13 August 2018 в 17:00
  • 1
    При запросе нескольких пакетов я предлагаю: dpkg-query --showformat = '$ {Package} \ t $ {Version} \n' --show lsb-release coreutils ... – ThorSummoner 30 December 2015 в 04:10
  • 2
    Мне нравится эта версия, так как она точная (не grep или cut). – guettli 31 August 2016 в 10:54

Я думаю, что aneeshep's - лучший ответ, так как ваш вопрос указывает на использование dpkg. Но для полноты, вот еще один способ:

  Сетевой менеджер-менеджер сети apt-cache: Установлен: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 Кандидат: 0.8.1 + git  .20100810t184654.ab580f4-0ubuntu2 Таблица версий: *** 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick / main i386 Пакеты 100 / var / lib /  dpkg / status  

Или просто номер версии:

  Сетевой менеджер политики apt-cache |  grep 'Установлен:' |  cut -c 14- 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
14
ответ дан 13 August 2018 в 17:00
  • 1
    Результат apt-cache зависит от текущего Locale. Например, в Германии вам нужно grep 'Installiert:' . Чтобы компенсировать это, всегда используйте Locale C.UTF-8 при написании сценариев. Либо с LC_ALL = C.UTF-8; экспортируйте LC_ALL в начале сценария или для каждого конкретного примера: LC_ALL = C.UTF-8 сетевой политик сети apt-cache | grep 'Установлен:' | awk '{print $ 2}' – Tino 14 February 2018 в 17:09

Другие вопросы по тегам:

Похожие вопросы: