Мне нужно проверить, установлен ли пакет bzip2 в моем RHEL7.6.

Результат 1-й команды

rpm -qa | grep bzip2 

Был

bzip2-devel-1.0.6-13.el7.x86_64
bzip2-libs-1.0.6-13.el7.x86_64

Но результат 2-й команды

yum list | grep bzip2

Был

bzip2-devel.x86_64                      1.0.6-13.el7               installed
bzip2-libs.x86_64                       1.0.6-13.el7               @rhel
bzip2.x86_64                            1.0.6-13.el7               rhel
bzip2-devel.i686                        1.0.6-13.el7               rhel
bzip2-libs.i686                         1.0.6-13.el7               rhel

Когда я попытался сжать файл с помощью команды bzip2 -k, это действительно сработало. Итак, существует bzip2. Тогда почему команда «rpm -qa» не показывает bzip2?

0
user67275 25 Фев 2021 в 03:23
Кстати, пакет bzip2 устанавливает файл с именем bzip2 (не "bzip").
 – 
Thomas Dickey
25 Фев 2021 в 03:03
Спасибо. Я отредактировал свой вопрос.
 – 
user67275
25 Фев 2021 в 03:23

1 ответ

Это связано с тем, что yum list показывает доступные пакеты, а rpm -qa показывает только те, которые были установлены.

В вашем примере

bzip2-devel.x86_64                      1.0.6-13.el7               installed
bzip2-libs.x86_64                       1.0.6-13.el7               @rhel
bzip2.x86_64                            1.0.6-13.el7               rhel
bzip2-devel.i686                        1.0.6-13.el7               rhel
bzip2-libs.i686                         1.0.6-13.el7               rhel

Были установлены только первые два (разными путями, согласно третьей колонке).

6
Thomas Dickey 25 Фев 2021 в 02:58
2
yum list installed | grep bzip2 может быть хорошим сравнением.
 – 
jsbillings
25 Фев 2021 в 03:16
Предложенная вами команда сообщает мне, что установлены только «bzip2-devel» и «bzip2-libs», но не «bzip2». Тогда почему работает команда 'bzip2'??
 – 
user67275
25 Фев 2021 в 03:24
Проверьте, какой путь к команде bzip2 с помощью which bzip2. Затем проверьте, к какому пакету он принадлежит, с помощью rpm -qf /usr/bin/bzip2. (при условии, что команда which сказала, что находится в /usr/bin)
 – 
jsbillings
25 Фев 2021 в 03:32
Он находится в '/usr/local/bin/bzip2' Оба '/usr/bin/bzip2' и 'usr/local/bin/bzip2' не принадлежат ни одному пакету.
 – 
user67275
25 Фев 2021 в 03:36
1
Вы или кто-то с правами суперпользователя в вашей системе установил bzip2 из исходного кода или другим способом. Это не пакет rhel.
 – 
jsbillings
25 Фев 2021 в 03:40