Determine Linux version

When visiting a new Linux system, it may not be known which of the many flavors and versions the system is. This recipe describes a couple of techniques for determining the version of Linux running on a host.


The command uname -a will generate output like

Linux poly.tech-recipes.com 2.6.5-1.358 #1 Sat May 8 09:04:50 EDT 2004 i686 i686 i386 GNU/Linux

This can be interpreted as:

kernel name: Linux
hostname: poly.tech-recipes.com
kernel release: 2.6.5-1.358
kernel version: #1 Sat May 8 09:04:50 EDT 2004

The specific distribution information is missing from the uname output. Many distributions put this information in a file in /etc like /etc/redhat-release, /etc/debian_version, /etc/gentoo-release, and so on. For the system described by the uname output above, the file /etc/fedora-release contains the following text:

Fedora Core release 2 (Tettnang)

 

About Quinn McHenry

Quinn was one of the original co-founders of Tech-Recipes. He is currently crafting iOS applications as a senior developer at Small Planet Digital in Brooklyn, New York.
View more articles by Quinn McHenry

The Conversation

Follow the reactions below and share your own thoughts.

  • http://twitter.com/white_eagle Miladinoski

    Thanks for the second part of the info :)

  • reader

    exactly what I was looking for. It’s useful to be able to determine this kind of information for automated scripts that connect to and perform tasks on multiple machines of various flavors, versions and distros.

  • Lexa Puzikoff

    cat /proc/version
    cat /etc/issue

    • Anonymous

      I like this output a lot better than “uname -a”output.
      Ideal for reports/inventory/presentations.

      Thanks a lot!

  • uellue

    Thx, short and useful info. :-)

  • Anonymous

    It works better than uname -a for me
    cat /proc/version

    I can get more accurate information, correct?