Какая из этих трех команд говорит информацию о выпуске Redhat TRUE

Разработка на ответе @shabunc, это использует Perl, чтобы разделить комментарии (включая встроенные комментарии), затем распечатать любые строки, содержащие что-либо кроме пробела.

$ perl -ne 's/;.*//; print if /\S/' data.txt

Объяснение:

  • s/;.*// использует оператор замены (s///) заменять экземпляры точки с запятой и всего после него на строке с пустой строкой.
  • print if /\S/ печатает строку, если она соответствует regexp \S, который является классом символов, соответствующим всем непробельным символам.

7
28.01.2013, 04:21
2 ответа

Я склонился бы больше к выпуску Redhat. Вы могли использовать rpm -q --whatprovides команда для определения названия пакета, который обеспечивает /etc/redhat-release.

[tim@c5 ~]$ rpm -q --whatprovides /etc/redhat-release
centos-release-5-5.el5.centos

Если Вы не полагаете этому, то Вы могли посмотреть на подробную информацию пакета. Обратите внимание на Version и Release.

[tim@c5 ~]$ rpm -qi --whatprovides /etc/redhat-release
Name        : centos-release               Relocations: (not relocatable)
Version     : 5                                 Vendor: CentOS
Release     : 5.el5.centos                  Build Date: Sun 25 Apr 2010 04:25:31 PM PDT
Install Date: Thu 20 May 2010 04:07:47 PM PDT      Build Host: builder10.centos.org
Group       : System Environment/Base       Source RPM: centos-release-5-5.el5.centos.src.rpm
Size        : 35485                            License: GPL
Signature   : DSA/SHA1, Mon 26 Apr 2010 04:40:57 PM PDT, Key ID a8a447dce8562897
Summary     : CentOS release file
Description :
CentOS release files

Если Вы все еще не доверяете тому, что Вы видите, Вы могли попытаться смотреть на

[tim@c5 etc]# rpm -qai | grep Release | awk -F' ' '{print $3}' | head -15
23.2.2
24.20060715
1.el5
35.el5
32.2.1.1
4
2.fc6
45.el5.centos
4.el5
1
2.el5
0.1
5.el5
1.el5
15.el5

Надо надеяться, Вы найдете своего рода шаблон, который отвечает на Ваш вопрос при поиске всей информации о пакете.

Удачи.

Обновление № 1:

Вы могли также попробовать:

[tim@c6 ~]# rpm -q --whatrequires \
  $(rpm -ql \
    $(rpm -q --whatprovides /etc/redhat-release)
  ) | grep -v ' '
initscripts-9.03.27-1.el6.centos.x86_64

Обновление № 2:

Я хотел удостовериться команда, которую я обеспечил в своем первом обновлении, работавшем правильно так, я вращал экземпляр RHEL5 в AWS. Похоже, что это работает.

[root@ip-10-172-23-67 ~]# rpm -q --whatrequires \
>   $(rpm -ql \
>     $(rpm -q --whatprovides /etc/redhat-release)
>   ) | grep -v ' '
initscripts-8.45.30-3.el5_5.1
10
27.01.2020, 20:16
  • 1
    Право Вы. Но я не помню пакета в зависимости от выпуска, таким образом, некоторый творческий системный администратор, возможно, не учел обновление, что, "потому что это не безопасность, очень важная" (или безотносительно). Это намного более устойчиво для поиска точных функций, которых Вы требуете. –  vonbrand 28.01.2013, 03:36
  • 2
    Полностью. В прошлом (как RH5 или 6 (не RHEL)) я обновил бы файл версии Redhat для принуждения обновления гетто - не уверенный, если это все еще работает. :) –  livingstaccato 28.01.2013, 05:06

Возможно, можно выполнить одно из следующих действий:

% cat /proc/version 
Linux version 2.6.35.14-106.fc14.x86_64 (mockbuild@x86-09.phx2.fedoraproject.org) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Wed Nov 23 13:07:52 UTC 2011

- или -

uname -a
Linux grinchy 2.6.35.14-106.fc14.x86_64 #1 SMP Wed Nov 23 13:07:52 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
1
27.01.2020, 20:16

Теги

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