Какую версию RHEL я использую?

Ctrl + L на большинстве браузеров неIE получают Вас к строке поиска.

Ctrl + W или Ctrl + F4 на большинстве приложений является близкой вкладкой окна/завершения.

Ctrl + K на Firefox получают Вас к полю поиска и получают Вас блок кода на StackOverflow ;)

151
задан 19 April 2015 в 22:21
9 ответов

Можно использовать lsb_release команда на различных дистрибутивах Linux:

lsb_release -i -r 

Это скажет Вам Распределение и Версию и точно, чем доступ к файлам, которые могут или не могли быть изменены администратором или пакетом программного обеспечения. А также работа через несколько дистрибутивов.

Для RHEL необходимо использовать:

cat /etc/redhat-release
154
ответ дан 28 November 2019 в 19:17
  • 1
    команда, не найденная на моем поле CentOS 5.4 :( –  gbjbaanb 1 December 2009 в 19:04
  • 2
    @gbjbaanb: That' s странный я протестировал его на новых 5,4 минимальных установках, и это работало просто великолепно... –  Zypher 1 December 2009 в 20:25

Можно посмотреть на содержание/etc/redhat-release, которое будет выглядеть примерно так:

$ cat /etc/redhat-release 
CentOS release 5.4 (Final)

Содержание отличается для фактической системы RHEL. Эта техника работает над всеми производными Redhat, включая CentOS, Fedora и других.

143
ответ дан 28 November 2019 в 19:17

Принятие его действительно является выпуском Red Hat (не Centos):

rpm -q redhat-release

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

uname -r

И отобразите вывод. 2.6.9 ядер являются RHEL4, 2.6.18 ядер являются RHEL5. При необходимости можно отобразить полную версию на определенные выпуски обновления от Red Hat (т.е. 2.6.9-89 RHEL5 U4).

6
ответ дан 28 November 2019 в 19:17

Я предпочитаю использовать/etc/issue файл.

$ cat /etc/issue

Я видел много ситуаций, где/etc/redhat-release был изменен для соответствия требованиям совместимости программного обеспечения (Dell или агенты управления HP, например).

25
ответ дан 28 November 2019 в 19:17
  • 1
    /etc/issue также работы над другими Ose также, такими как Debian & Ubuntu и работы с Ose Linux это don' t соответствуют Основе Стандартов Linux и легким Ose это don' t имеют lsb* установленные утилиты. –  Stefan Lasiewski 29 October 2014 в 23:29

The most reliable way when lsb_release is not installed is:

# rpm -q --queryformat '%{VERSION}' redhat-release-server
6Server

# rpm -q --queryformat '%{RELEASE}' redhat-release-server
6.4.0.4.el6

On minimal installs, lsb_release is missing.

To get this working also with Red Hat clones (credit goes to comments):

# rpm -q --queryformat '%{VERSION}' $(rpm -qa '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)')

Or, as a single command (rather than two "rpm"'s being executed):

# rpm -qa --queryformat '%{VERSION}\n' '(redhat|sl|slf|centos|oraclelinux)-release(|-server|-workstation|-client|-computenode)'

Use sed/cut and other text manipulating UNIX tools to get what you want.

13
ответ дан 28 November 2019 в 19:17

Если вы хотите просто получить номера версий, следующая информация будет настолько короткой и простой, насколько я могу ее получить.

Протестировано на rhel 6.7, rhel 7.2, debian 8.3 и ubuntu 14.04:

lsb_release -s -r | cut -d '.' -f 1

В качестве практического примера предположим, что вы хотите протестировать основную и дополнительную версию дистрибутива и сделать что-то на основании этого:

#!/bin/bash

major=$(lsb_release -s -r | cut -d '.' -f 1)
minor=$(lsb_release -s -r | cut -d '.' -f 2)

if (( "$major" >= 7 ))
then
  echo "Do stuff, OS major version is $major"
  echo "OS minor version is $minor"
else
  echo "Do other things"
  echo "Your version is $major.$minor"
fi
1
ответ дан 28 November 2019 в 19:17

Поздно пришел к этому, но мне было весело пытаюсь выяснить версию RHEL на нескольких удаленных узлах. Итак, если у вас есть группа серверов, которые используют один и тот же пароль (я знаю, я знаю ...), вот быстрый и грязный способ проверить версию RedHat:

Создайте ожидаемый сценарий

vim server-version.sh

Ожидайте сценарий для проверки основная версия RedHat на нескольких удаленных хостах

#!/usr/bin/expect
log_user 0
spawn ssh -l root [lindex $argv 0]
expect "assword:"
send "sUp3rS3cr3tP4ssW0rd^\r"
expect "# "
log_user 1
send "cat /etc/redhat-release\r"
expect "*#"
log_user 0
send "exit\n"

Запустите сценарий для всех ваших узлов

[root@home ~]#
for server in server1 server2 server3 server4 server5; do echo -e "$server: \c"; /root/server-version.sh $server; echo; echo; done;

Выходные данные

server1: cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@server1 ~]#

server2: cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
[root@server2 ~]#

...
1
ответ дан 28 November 2019 в 19:17

Мне очень нравится использовать файл / etc / os-release , который находится в RPM выпуска:

# yum whatprovides /etc/os-release 
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
 * base: dl.za.jsdaav.net
 * extras: dl.za.jsdaav.net
 * updates: dl.za.jsdaav.net
centos-release-7-4.1708.el7.centos.x86_64 : CentOS Linux release file
Repo        : base
Matched from:
Filename    : /etc/os-release

centos-release-7-4.1708.el7.centos.x86_64 : CentOS Linux release file
Repo        : @anaconda
Matched from:
Filename    : /etc/os-release

Этот файл может быть получен из скриптов, например:

$ source /etc/os-release
$ echo $NAME
CentOS Linux
$ echo $VERSION
7 (Core)
2
ответ дан 28 November 2019 в 19:17

Би хостнамектл -г илүүд үздэг:

$ hostnamectl
   Static hostname: xxxxxx.xxx.xxx
         Icon name: computer-server
           Chassis: server
        Machine ID: 3e3038756eaf4c5c954ec3d24f35b13f
           Boot ID: 958452e0088b4191a4ea676ebc90403b
  Operating System: Red Hat Enterprise Linux Server 7.5 (Maipo)
       CPE OS Name: cpe:/o:redhat:enterprise_linux:7.5:GA:server
            Kernel: Linux 3.10.0-862.3.3.el7.x86_64
      Architecture: x86-64
3
ответ дан 28 November 2019 в 19:17

Теги

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