Determine Linux Version.


 
Thread Tools Search this Thread
Operating Systems Linux Slackware Determine Linux Version.
# 1  
Old 12-07-2005
Determine Linux Version.

Apart from the obvious, uname command, is there anyway to determine which Linux distribution and version of the distribution has been installed?
# 2  
Old 12-07-2005
$ cat /proc/version
# 3  
Old 12-07-2005
There is no standard way.

Catting /proc/version or uname will only show you information that has been set for compile into the kernel. Only the major distributions will put some special marks for identification, in the form such as custom kernel version tag or gcc version string. But this is not necessarily true especially if the kernel is a self compiled kernel.

For example, here is the /proc/version from my Slackware server:

Code:
user@live:~$ cat /proc/version 
Linux version 2.4.26-local (root@live) (gcc version 3.3.4) #1 SMP Sat Jan 15 09:44:04 HKT 2005

Nothing indicates it's Slackware. Many distributions put its version information in the form of a file in /etc, so you can use that as a heuristic to find out.

For instance, for a few old machines for which I currently have access:

Slackware: /etc/slackware-version
Mandrake: /etc/mandrake-release
Red Hat: /etc/redhat-release
Fedora: /etc/fedora-release
# 4  
Old 12-12-2005
SuSE too

This seems to be some sort of standard, all the SuSE versions we have, have the following file also.

cat /etc/SuSE-release

Good to see the other distributions have a similar file.
# 5  
Old 12-12-2005
Check this post- which machine. The script in that detects your OS version.

Yet another script I found on the net.
Code:
 # Determine the Linux distribution and version that is being run.
   #
   # Check for GNU/Linux distributions
   if [ -f /etc/SuSE-release ]; then
     DISTRIBUTION="suse"
   elif [ -f /etc/UnitedLinux-release ]; then
     DISTRIBUTION="united"
  elif [ -f /etc/debian_version ]; then
    DISTRIBUTION="debian"
  elif [ -f /etc/redhat-release ]; then
    a=`grep -i 'red.*hat.*enterprise.*linux' /etc/redhat-release`
    if test $? = 0; then
      DISTRIBUTION=rhel
    else
      a=`grep -i 'red.*hat.*linux' /etc/redhat-release`
      if test $? = 0; then
        DISTRIBUTION=rh
      else
        a=`grep -i 'cern.*e.*linux' /etc/redhat-release`
        if test $? = 0; then
          DISTRIBUTION=cel
        else
          a=`grep -i 'scientific linux cern' /etc/redhat-release`
          if test $? = 0; then
            DISTRIBUTION=slc
          else
            DISTRIBUTION="unknown"
          fi
        fi
      fi
    fi
  else
    DISTRIBUTION="unknown"
  fi

  ###    VERSION=`rpm -q redhat-release | sed -e 's#redhat[-]release[-]##'`

  case ${DISTRIBUTION} in
  rh|cel|rhel)
      VERSION=`cat /etc/redhat-release | sed -e 's#[^0-9]##g' -e 's#7[0-2]#73#'`
      ;;
  slc)
      VERSION=`cat /etc/redhat-release | sed -e 's#[^0-9]##g' | cut -c1`
      ;;
  debian)
      VERSION=`cat /etc/debian_version`
      if [ ${VERSION} = "testing/unstable" ]; then
          # The debian testing/unstable version must be translated into
          # a numeric version number, but no number makes sense so just
          # remove the version all together.
          VERSION=""
      fi
      ;;
  suse)
      VERSION=`cat /etc/SuSE-release | grep 'VERSION' | sed  -e 's#[^0-9]##g'`
      ;;
  united)
      VERSION=`cat /etc/UnitedLinux-release`
      ;;
  *)
      VERSION='00'
      ;;
  esac;

  echo ${DISTRIBUTION}${VERSION}

# 6  
Old 12-13-2005
Thanks all.

Here is another way from my system (but may not always be effective):

>cat /etc/issue
Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel \r on an \m

This is the banner which is displayed for the login getty.
# 7  
Old 12-13-2005
Be Careful With /etc/issue

I would not count on /etc/issue. I would venture to guess that possibly you could apply a major update and /etc/issue never changes. The file /etc/issue is sort of like a message of the day type file. On a SuSe machine I updated from 8.2 to 9.1 a year or so ago, that type of file did not update and the login prompt greeted you with an 8.2 banner despite the machine having been updated.

Just something to think about. The release and version files did update in my case but I would say that there is a chance these could be wrong also. But the /etc/issue would be lowest on my list to check.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Red Hat

How to determine share name of Linux server?

Hi, How to determine share name of Linux server ? OS version is RHL 6.5 Regards, Maddy (11 Replies)
Discussion started by: Maddy123
11 Replies

2. Shell Programming and Scripting

Using Linux to determine version of Windows

This is an odd question and I didn't really know what category it fits. I just installed Ubuntu 12.10. During the installation process, the screen informed me that Windows 7 was installed in a particular partition. I'm just wondering how this was accomplished. Using 'fdisk -l' will indicate... (1 Reply)
Discussion started by: jamarsh
1 Replies

3. Shell Programming and Scripting

Portable Shell Script - Determine Which Version of Binary is Installed?

I currently have a shell script that utilizes the "Date" binary - this application is slightly different on OS X (BSD General Commmand) and Linux systems (gnu date). In particular, the version on OS X requires the following to get a date 14 days in the future "date -v+14d -u +%Y-%m-%d" where gnu... (1 Reply)
Discussion started by: colinjohnson
1 Replies

4. Linux

Linux Version of IE?

Is there a linux version of IE? (5 Replies)
Discussion started by: billcrosby
5 Replies

5. Shell Programming and Scripting

need to know the version of Linux

Hi I have run the command uname -a and i got the below output Linux vm07 2.6.9-77.Emp #1 SMP Wed Nov 7 13:58:04 EST 2007 i686 i686 i386 GNU/Linux i want know the version of Linux can i get it from above output if yes then what is it? is it 2.6.9-77.Emp? (2 Replies)
Discussion started by: aish11
2 Replies

6. Linux

Why is there so many linux version?

Hi, Why is there many different Linux names and SO instead to be only one? What are the differences? Paul Weinstock (3 Replies)
Discussion started by: Paul Weinstock
3 Replies

7. UNIX for Dummies Questions & Answers

How do I see which version of Linux I am using ?

I want to know the distribution and version of linux that I am running: uname -r gives me: 2.4.20-8bldsmp uname -v gives me: #1 SMP Wed Sep 20 19:32:24 PDT 2006 Whats the distribution ? and whats the version ? thanks !!! (1 Reply)
Discussion started by: the_learner
1 Replies

8. Solaris

Determine LOM version?

Is there a way I can determine the LOM version on a Sun machine without actually shutting the system down? I'm confused. :) (2 Replies)
Discussion started by: sysera
2 Replies

9. UNIX for Dummies Questions & Answers

Cmd to determine my OS version?

I'm looking for a generic (i.e. would be resident in most/all unix flavors) internal command for determining my OS and version. When I telnet to a box here @ work, I get none of that info and can't remember the equivalent of the DOS ver command; I know I used to know this! Thanks. (2 Replies)
Discussion started by: brian.wilson
2 Replies

10. UNIX for Dummies Questions & Answers

Determine Unix Version

Is there a trick to determine the exact version from Unix that one is working with? I would have expected to see it after logon, but all I get are some Copyright-messages... I know it's some HP-UX, but I would like to know the version-number Tnx in advance! Dave (2 Replies)
Discussion started by: davegeysemans
2 Replies
Login or Register to Ask a Question