2013-03-01 20 views
17

Come determinare quale versione di Linux RedHat sono in esecuzione?Determinare la versione di Redhat Linux

Ecco quello che ho letto:

  • /etc/redhat-release file contiene la versione, ma chiunque può manomettere quel file.
  • persone dicono comando uname, ma è possibile installare qualsiasi kernel su Redhat.

Se sto eseguendo redhat 5.1 e qualcuno lo aggiorna con 5.2 o 5.x, cosa determina la versione di RedHat?

anche lsb_release -a leggere/etc/redhat-release file.

+10

Questa non è una domanda difficile. RedHat mette la versione in '/ etc/redhat-release'. Se le persone manomettono quel file, sei un cattivo amministratore di sistema perché in realtà nessuno dovrebbe essere in grado di cambiare quel file tranne root. –

+0

Perché vuoi sapere quale versione di RedHat è in esecuzione? Ciò che determina la versione dipende dal motivo per cui lo vuoi sapere. (Ad esempio, se vuoi sapere che cosa riporterà come versione, dovresti cercare in '/ etc/redhat-release'. Se vuoi sapere se è in esecuzione il kernel più recente nel suo stream di rilascio, allora tu * fai * vuoi la versione del kernel.) –

+1

D'accordo, sto solo cercando di scoprire comunque ... e cercando di cancellare tutte le possibilità. – Satish

risposta

16

Se "chiunque" ha l'accesso di root al proprio computer per modificare/etc/redhat-release o installare un kernel alternativo, probabilmente si tratta di un problema più grande della determinazione della versione redhat del proprio sistema.

Basta usare il valore indicato da/etc/redhat-release o anche meglio in termini di portabilità utilizzare l'output di lsb_release in quanto questo è esattamente lo scopo per cui sono stati creati.

Con "chiunque" sia in grado di fare qualsiasi cosa con il proprio sistema non ci sono altre possibilità.

+0

lsb_release lettura/etc/redhat-release file :( – Satish

+1

@Satish, l'essenza di questa risposta, e di tutti i commenti degli altri, è che * dovresti * fidarti (o almeno essere in grado di fidarsi) del contenuto del file '/ etc/redhat-release' e' lsb_release'. Se si sostiene che tali risultati non sono attendibili poiché "chiunque può manomettere quel file", allora l'intero sistema non è attendibile perché la modifica di quel file richiede l'accesso come root al sistema (e se qualcuno ha cambiato il file in modo errato, chi ha detto che non ha fatto qualcosa di male?). O ci si fida che sia giusto, o è necessario ripensare la sicurezza del tuo sistema se non puoi fidarti di quelli con accesso root. – ajp15243

+0

@Satish: inaffidabile ma leggerà/ovunque/qualunque_file o eseguirà/ovunque/qualunque_programma un ** qualsiasi ** sistema LSB compatibile, questo è ciò che intendevo per "portabilità" migliore – mikyra

20

Provate questo comando:

rpm -qa | grep release 

per esempio sulla mia macchina ho questa

redhat-release-workstation-6Workstation-6.4.0.4.el6.x86_64

+0

Posso installare qualsiasi versione di 'release' RPM – Satish

4

È possibile utilizzare il comando lsb_release sulle recenti distribuzioni di Linux. Se si emette:

lsb_release -i -r 

O

uname -r 

e mappare l'uscita. I kernel 2.6.9 sono RHEL4, i kernel 2.6.18 sono RHEL5. Se necessario, è possibile associare la versione completa alle versioni di aggiornamento specifiche di Red Hat (ad esempio RBEL5 U4, che è 2.6.9-89).

1

Il comando più semplice è:

lsb_release -d 
2

Un trucco che lavora in numerose distribuzioni Linux:

cat /etc/issue 

Esempio su Red Hat 6:

$ cat /etc/issue 
CentOS release 6.7 (Final) 
Kernel \r on an \m 

$ 
3

Nota: since July 2012, /etc/os-release dovrebbe essere il file standard in cui cercare la versione di qualsiasi sistema operativo.

  • allevia gli sviluppatori di applicazioni che vogliono solo conoscere la distribuzione sono in esecuzione a verificare la presenza di un gran numero di file di rilascio singoli.
  • Fornisce sia un nome "grazioso" (cioè uno da mostrare all'utente), sia identificatori di versione/sistema operativo analizzabili (vale a dire per l'uso nei sistemi di compilazione).
  • È estensibile, può facilmente apprendere nuovi campi se necessario.

Vedere il numero man page.

Example for RedHat:

# cat /etc/os-release 
NAME="Red Hat Enterprise Linux Server" 
VERSION="7.0 (Maipo)" 
ID="rhel" 
ID_LIKE="fedora" 
VERSION_ID="7.0" 
PRETTY_NAME="Red Hat Enterprise Linux Server 7.0 (Maipo)" 
+0

Purtroppo questo non sembra funzionare con rhel 6.x, anche se non con le ultime patch installate. Questo file non esiste per quella versione e probabilmente non per quelli precedenti. – ralhei

Problemi correlati