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

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

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

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

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

45 ответов

dpkg -s <packagename> | grep '^Version:'

e. g.:

dpkg -s network-manager | grep '^Version:'

Пример вывода:

Version: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
71
ответ дан 26 May 2018 в 00:11
  • 1
    dpkg --info package.deb работает, хотя -s не – Twisted Pear 29 June 2017 в 02:32
  • 2
    @Twisted Pear - dpkg --info package.deb работает с файлами пакетов, dpkg -s <packagename> работает с именами пакетов - не требуется файл – lane 5 January 2018 в 16:15
dpkg -s <packagename> | grep '^Version:'

e. g.:

dpkg -s network-manager | grep '^Version:'

Пример вывода:

Version: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
72
ответ дан 25 July 2018 в 22:49
dpkg -s <packagename> | grep '^Version:'

e. g.:

dpkg -s network-manager | grep '^Version:'

Пример вывода:

Version: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
72
ответ дан 31 July 2018 в 10:27
dpkg -s <packagename> | grep '^Version:'

e. g.:

dpkg -s network-manager | grep '^Version:'

Пример вывода:

Version: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
72
ответ дан 2 August 2018 в 04:13
  dpkg -s & lt; packagename & gt;  |  grep '^ Версия:'  

e. g.:

  dpkg -s network-manager |  grep '^ Версия:'  

Пример вывода:

  Версия: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
72
ответ дан 4 August 2018 в 20:18
  dpkg -s & lt; packagename & gt;  |  grep '^ Версия:'  

e. g.:

  dpkg -s network-manager |  grep '^ Версия:'  

Пример вывода:

  Версия: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
72
ответ дан 6 August 2018 в 04:18
  dpkg -s & lt; packagename & gt;  |  grep '^ Версия:'  

e. g.:

  dpkg -s network-manager |  grep '^ Версия:'  

Пример вывода:

  Версия: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
72
ответ дан 7 August 2018 в 22:22
  dpkg -s & lt; packagename & gt;  |  grep '^ Версия:'  

e. g.:

  dpkg -s network-manager |  grep '^ Версия:'  

Пример вывода:

  Версия: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
72
ответ дан 10 August 2018 в 10:32
  dpkg -s & lt; packagename & gt;  |  grep '^ Версия:'  

e. g.:

  dpkg -s network-manager |  grep '^ Версия:'  

Пример вывода:

  Версия: 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
72
ответ дан 13 August 2018 в 17:00
  • 1
    dpkg --info package.deb работает, хотя -s не – Twisted Pear 29 June 2017 в 02:32
  • 2
    @Twisted Pear - dpkg --info package.deb работает с файлами пакетов, dpkg -s & lt; packagename & gt; работает с именами пакетов - не требуется файл – lane 5 January 2018 в 16:15
[F1]
25
ответ дан 26 May 2018 в 00:11
  • 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

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

Пример:

$ apt-show-versions network-manager  
network-manager/maverick uptodate 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
24
ответ дан 26 May 2018 в 00:11

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

apt-cache policy network-manager 
network-manager:
  Installed: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
  Candidate: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
  Version table:
 *** 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 0
        500 http://us.archive.ubuntu.com/ubuntu/ maverick/main i386 Packages
        100 /var/lib/dpkg/status

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

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

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

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

Пример:

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

Пример: [!d2 ]

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 Description

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

5
ответ дан 26 May 2018 в 00:11
[F1]
28
ответ дан 25 July 2018 в 22:49
  • 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 policy network-manager network-manager: Installed: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Candidate: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Version table: *** 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick/main i386 Packages 100 /var/lib/dpkg/status

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

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

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

Пример:

$ apt-show-versions network-manager network-manager/maverick uptodate 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
24
ответ дан 25 July 2018 в 22:49

Другой способ найти версию установленного пакета через 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 Description

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

5
ответ дан 25 July 2018 в 22:49
[F1]
28
ответ дан 31 July 2018 в 10:27
  • 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 policy network-manager network-manager: Installed: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Candidate: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Version table: *** 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick/main i386 Packages 100 /var/lib/dpkg/status

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

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

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

Пример:

$ apt-show-versions network-manager network-manager/maverick uptodate 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
24
ответ дан 31 July 2018 в 10:27

Другой способ найти версию установленного пакета через 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 Description

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

5
ответ дан 31 July 2018 в 10:27
[F1]
29
ответ дан 2 August 2018 в 04:13
  • 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 policy network-manager network-manager: Installed: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Candidate: 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 Version table: *** 0.8.1+git.20100810t184654.ab580f4-0ubuntu2 0 500 http://us.archive.ubuntu.com/ubuntu/ maverick/main i386 Packages 100 /var/lib/dpkg/status

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

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

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

Пример:

$ apt-show-versions network-manager network-manager/maverick uptodate 0.8.1+git.20100810t184654.ab580f4-0ubuntu2
24
ответ дан 2 August 2018 в 04:13

Другой способ найти версию установленного пакета через 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 Description

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

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

Другой способ найти версию установленного пакета через 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
ответ дан 4 August 2018 в 20:18

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

Пример:

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

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

Пример:

  $ apt-show-versions network-manager network-manager / maverick uptodate 0.8.1 + git.20100810t184654.ab580f4-0ubuntu2  
24
ответ дан 6 August 2018 в 04:18

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

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