මම භාවිතා කරන්නේ RHEL හි කුමන අනුවාදයද?


150

කවචයේ සිට සහ මූල වරප්‍රසාද නොමැතිව, මා ක්‍රියාත්මක කරන්නේ කුමන Red Hat Enterprise Linux අනුවාදයද යන්න තීරණය කරන්නේ කෙසේද?

ඉතා මැනවින්, මම ප්‍රධාන හා සුළු නිකුතු අනුවාදය ලබා ගැනීමට කැමතියි, උදාහරණයක් ලෙස RHEL 4.0 හෝ RHEL 5.1, ආදිය.

Answers:


153

ඔබට lsb_releaseවිවිධ ලිනක්ස් බෙදාහැරීම් වල විධානය භාවිතා කළ හැකිය :

lsb_release -i -r 

මෙය ඔබට බෙදාහැරීම සහ අනුවාදය කියනු ඇති අතර පරිපාලක හෝ මෘදුකාංග පැකේජයක් විසින් වෙනස් කරන ලද හෝ වෙනස් නොකළ ලිපිගොනු වෙත ප්‍රවේශ වීමට වඩා ටිකක් නිවැරදි වේ. බහු ඩිස්ට්‍රෝ හරහා වැඩ කිරීම මෙන්ම.

RHEL සඳහා, ඔබ භාවිතා කළ යුත්තේ:

cat /etc/redhat-release

5
මගේ CentOS 5.4 කොටුවේ විධානය හමු නොවීය :(
gbjbaanb

bgbjbaanb: එය පුදුම සහගතයි, මම එය නැවුම් 5.4 අවම ස්ථාපනයකින් පරීක්‍ෂා කළ අතර එය හොඳින් ක්‍රියාත්මක විය ...
සයිෆර්

26
lsb_release -i -r-bash: lsb_release: විධානය හමු නොවීය. කෙසේ වෙතත්, cat /etc/redhat-releaseRed Hat Enterprise Linux Server 5.6 (Tikanga)
ටොම්

7
වාර්තාව සඳහා පමණි: RHEL 6.5 අවම ස්ථාපනය මත ක්‍රියා නොකරයි. Lsb_release විධානය කොතැනකවත් සොයාගත නොහැක.
sbersky

4
lsb_release යනු සැහැල්ලු පැකේජයක් නොවේ, එය '/ usr / bin / lp' ලබා දීම සඳහා CUPS තුළට ඇද දමයි, එය සමහර පීඩීඑෆ් පරිවර්තන ගූප් තුළට ඇද දමයි, එය සමහර විදැහුම්කරණ පුස්තකාල තුළට ඇද දමයි ...
ජෙන්ස් ටිමර්මන්

142

ඔබට / etc / redhat-release හි අන්තර්ගතය දෙස බැලිය හැකිය, එය මේ වගේ දෙයක් වනු ඇත:

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

සත්‍ය RHEL පද්ධතියක් සඳහා අන්තර්ගතය වෙනස් වේ. මෙම තාක්ෂණය CentOS, Fedora, සහ වෙනත් සියලුම RedHat ව්‍යුත්පන්නයන් මත ක්‍රියා කරයි.


14
ප්‍රශ්නයට වඩාත්ම සුදුසු පිළිතුර මෙයයි.
fsoppelsa

lsb_releaseඋත්සාහ කළ යුතු පළමු දෙය නම්, නමුත් එය ස්ථාපනය නොකිරීම නිසා ලිපිගොනු බැලීම හොඳ සැලසුමකි.
පැටවුන්

1
@ චික්ස්, රෙඩ්හැට් පද්ධති සඳහා පරීක්‍ෂණයක් ඉල්ලා සිටින අතර, lsb_release පෙරනිමියෙන් රෙඩ්හැට් පද්ධති මත ස්ථාපනය කර නොමැති අතර / etc / redhat-release නම්, lsb_release පැහැදිලිවම උත්සාහ කළ යුතු පළමු දෙය නොවේ!
by

@bye උත්සාහ කිරීම පළමු දෙයයි (අවම වශයෙන් මගේ මතය අනුව), ඔබ සෑම විටම සෑම බෙදාහැරීමකම පොදු විය යුතු දේ පළමුව උත්සාහ කරන්න, පසුව ඔබ පමණක් බෙදාහැරීම් විශේෂිත විසඳුම් වෙත මාරු වේ.
ඩෙනිස් නොල්ටේ

25

මම / etc / issue ගොනුව භාවිතා කිරීමට කැමැත්තෙමි.

$ cat /etc/issue

මෘදුකාංග අනුකූලතා අවශ්‍යතා සපුරාලීම සඳහා / etc / redhat-release වෙනස් කර ඇති බොහෝ අවස්ථා මම දැක ඇත්තෙමි (නිදසුනක් ලෙස ඩෙල් හෝ HP හි කළමනාකරණ නියෝජිතයන්).


1
/etc/issueඩෙබියන් සහ උබුන්ටු වැනි වෙනත් මෙහෙයුම් පද්ධති වලද ක්‍රියා කරන අතර ලිනක්ස් ප්‍රමිති පදනමට අනුකූල නොවන ලිනක්ස් ඕඑස් සහ එල්එස්බී * උපයෝගිතා ස්ථාපනය කර නොමැති සැහැල්ලු මෙහෙයුම් පද්ධති සමඟද ක්‍රියා කරයි.
ස්ටෙෆාන් ලසිව්ස්කි

5
මෙය විශ්වාසදායක නොවේ. පෙනෙන විදිහට /etc/issueඅදහස් කරන්නේ agetty මගින් විග්‍රහ කිරීමට ය , එමඟින් ගැලවීමේ අනුපිළිවෙල නිසි තොරතුරු සමඟ ප්‍රතිස්ථාපනය කරයි. ඔබ catඑය පමණක් නම්, ප්‍රති result ලය යටපත් විය හැකිය. ෆෙඩෝරා හි, කෙනෙකුට ලැබෙනු ඇත Fedora release 20 (Heisenbug) Kernel \r on an \m (\l), එය ඔබට යමක් පවසන නමුත් RHEL7 හි එක් අයෙකු ලබා ගනී \S Kernel \r on an \m.
ඩේවිඩ් ටොන්හෝෆර්

/etc/issueප්‍රාදේශීය පරිපාලක විසින් ප්‍රතිස්ථාපනය කළ හැකි බැවින් විශ්වාසදායක තොරතුරු ප්‍රභවයක් නොවන බව සලකන්න .
larsks

13

ස්ථාපනය කර නොමැති විට වඩාත්ම විශ්වාසදායක ක්‍රමය වන්නේ:lsb_release

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

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

අවම ස්ථාපනයන්හි, lsb_releaseඅස්ථානගත වී ඇත.

Red Hat ක්ලෝන සමඟද මෙය ක්‍රියාත්මක කිරීම සඳහා (ණය අදහස් දැක්වීම් වලට යයි):

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

නැතහොත්, තනි විධානයක් ලෙස (ක්‍රියාත්මක වන "rpm" දෙකකට වඩා):

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

භාවිතය sed/ cutහා ඔබට අවශ්ය දේ ලබා ගැනීමට යුනික්ස් මෙවලම් හැසිරවීමේ පෙළ.


2
මෙය වඩාත් සාමාන්‍යයෙන් ක්‍රියාත්මක වන බව පෙනේ: rpm -qa '(oraclelinux|sl|redhat|centos)-release(|-server)' sl යනු විද්‍යාත්මක ලිනක්ස් සඳහා ය; වෙනත් RHEL නැවත ගොඩනැඟීම් සඳහා නිවැරදි නම ඔබ දන්නේ නම් පහත අදහස් දක්වන්න. අවවාදයයි - පුළුල් ලෙස පරීක්ෂා කර නැත.
ඩෑන් ප්‍රිට්ස්

1
ඔව් ස්තූතියි, එක් සටහනක්: RHEL Worstation සමඟ ක්‍රියා නොකරයි.
lzap

එක් සටහනක් - මෙය විග්‍රහ කිරීම / etc / foo-release වලට වඩා මන්දගාමී වේ.
ඩෑන් ප්‍රිට්ස්

1
හෝ rpm -qa | grep releaseඊටත් වඩා පහසුය
වොරන්

6

එය සැබවින්ම Red Hat නිකුතුවක් යැයි සිතීම (සෙන්ටෝස් නොවේ):

rpm -q redhat-release

නැතහොත් ධාවනය කරන්න:

uname -r

ප්‍රතිදානය සිතියම් ගත කරන්න. 2.6.9 කර්නල් RHEL4, 2.6.18 කර්නල් RHEL5 වේ. අවශ්‍ය නම්, ඔබට සම්පූර්ණ අනුවාදය Red Hat වෙතින් නිශ්චිත යාවත්කාලීන නිකුතුවලට සිතියම් ගත කළ හැකිය (එනම් 2.6.9-89 යනු RHEL5 U4).


1
rpm -q redhat-releasepackage redhat-release is not installedමා වෙනුවෙන් නැවත පැමිණ uname -rකර්නල් මුදා හැරීම මට කියන්න.
මාර්ක් බූත්

ඔහ්! දැන් එම කාලය ගෙවී ගොස් ඇත, RHEL6 යනු කුමක්ද? RHEL7? හම් ... මෙන්න පිළිතුරු: access.redhat.com/articles/3078#RHEL7
mika

3

මම කැමතියි hostnamectl:

$ 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

2

/etc/os-releaseආර්පීඑම් නිකුතුවේ ඇති ගොනුව භාවිතා කිරීමට මම කැමතියි :

# 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)

සිත්ගන්නාසුළු, ප්රයෝජනවත්. අවාසනාවට, මේ මොහොතේ සීමිත වටිනාකමක් ඇති RHEL6 හි නොපවතී.
ඩෑන් ප්‍රිට්ස්

1

ඔබට අනුවාද අංක ලබා ගැනීමට අවශ්‍ය නම් පහත දැක්වෙන්නේ මට එය ලබා ගත හැකි තරම් කෙටි හා සරල ය.

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

මේ සඳහා ප්‍රමාද වී පැමිණීම, නමුත් දුරස්ථ නෝඩ් කිහිපයක 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 ~]#

...

ඔබ බොහෝ යන්ත්‍රවල දුරස්ථ දේවල් කිරීමට යන්නේ නම්, අතින් රෝල් කරන ලද බාෂ් ස්ක්‍රිප්ට් වෙනුවට ඇන්සිබල් භාවිතා කිරීමට මම තරයේ නිර්දේශ කරමි.
නීල් මේයූ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.