Sponsored Content
Top Forums Shell Programming and Scripting How to know which Linux Distribution i am using ? Post 302211858 by nobo on Friday 4th of July 2008 07:24:51 PM
Old 07-04-2008
whichNix

Found this old thread while researching. I come up against this problem often in a very heterogeneous network I admin. Barring us deploying Puppet or a similar solution (someday), I need a fix. There is no canonical way to determine distro so this script is a hack around. It works (gives a best guess) on slack, suse, rh, centOS, ubuntu, solaris, and a couple of other proprietary systems we use.

Comment, suggest, port, test, change, flame. Smilie
Code:
#! /bin/bash
# return an awkable string consisting of
#    unix OS type, or
#    Linux dist, or
#    a long guess (based on /proc), or
#    no clue

giveUp () {
   echo "Unknown"
   exit 0
}

# keep this easily awkable, prepending an initial clue
versionGuess () {
   if [ -e /proc/version ]; then
      echo -n "Unsure "
      cat /proc/version
      exit 0
   fi
   return 1
}

# if we have ignition, print and exit
gotDist () {
   [ -n "$1" ] && echo "$1" && exit 0
}

# we are only interested in a single word "dist" here
# various malformations can occur; admin will have to code appropately based on output
linuxRelease () {
   if [ -r /etc/lsb-release ]; then
      dist=$(grep 'DISTRIB_ID' /etc/lsb-release | sed 's/DISTRIB_ID=//' | head -1)
      gotDist "$dist"
   fi

   dist=$(find /etc/ -maxdepth 1 -name '*release' 2> /dev/null | sed 's/\/etc\///' | sed 's/-release//' | head -1)
   gotDist "$dist"

   dist=$(find /etc/ -maxdepth 1 -name '*version' 2> /dev/null | sed 's/\/etc\///' | sed 's/-version//' | head -1)
   gotDist "$dist"

   return 1
}

# start with uname and branch the decision from there
dist=$(uname -s 2> /dev/null)
if [ "$dist" = "Linux" ]; then
   linuxRelease
   versionGuess
   giveUp
elif [ -n "$dist" ]; then
   echo "$dist"
   exit 0
else
   versionGuess
   giveUp
fi

# we shouldn't get here
giveUp
# done

 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to know which Linux Distribution i am using

Hi, I m working on many Linux servers in my project. But i am unable to know which Linux Distribution i am using Like whether i am using SUSE or REDHAT or MONDRAKE. I tried with "uname" command. But it does not help me. Please provide me the command if u know. Regards, Basavaraja KC (3 Replies)
Discussion started by: BasavarajaKC
3 Replies

2. UNIX for Dummies Questions & Answers

What Linux distribution should I use?

Hey I am right now working on an old Compaq computer, and because I have a newer one I thought of installing Linux on this one. The thing is that I don't know which Linux distribution that would work with a minimum of lag. My computer specifications is: Compaq Presario 7000 Intel Pentium... (7 Replies)
Discussion started by: Sixmax
7 Replies

3. Programming

Linux Distribution

Hi, Can anyone please tell me, what is the best Linux distribution for Software Development. Thanks, Philip. (4 Replies)
Discussion started by: Phi01
4 Replies

4. Linux

which linux distribution to use for SOHO ?

Hi I consider changing operating system onto Linux. But I'm not sure what kind of distribution should I use : - Red Hat - Suse - Ubuntu - Debian - Fedora Operating system will be operating on the notebook to replace Win XP and must be stable version with all drivers to hardware (WiFi... (7 Replies)
Discussion started by: presul
7 Replies

5. Linux

What linux distribution is good?

Dear all i am new to Linux, i need a Linux OS that have been "qt development and lesstif" together. Regards (5 Replies)
Discussion started by: mkhorami76
5 Replies

6. Fedora

Starting out, Linux Distribution

Hi, i'm currently part of an apprenticeship becoming a IT specialist. Because I'm already an electronic technician (finished apprenticeship) I can do this one in 2 years (normally you need 3). Thing is, in school they started out with basic unix stuff (working with the shell) in the first... (3 Replies)
Discussion started by: Dr. Nick
3 Replies

7. What is on Your Mind?

What was your first Linux distribution?

What was the first Linux distribution you tried? My first was Knoppix, it was pretty good I thought, and it supported my old hardware http://www.linuxforum.com/images/smilies/smile.png Too bad I couldn't figure out how to install it at the time though. What about you? (32 Replies)
Discussion started by: billcrosby
32 Replies
IPCS(1) 						     Linux Programmer's Manual							   IPCS(1)

NAME
ipcs - provide information on ipc facilities SYNOPSIS
ipcs [-asmq] [-tclup] ipcs [-smq] -i id ipcs -h DESCRIPTION
ipcs provides information on the ipc facilities for which the calling process has read access. The -i option allows a specific resource id to be specified. Only information on this id will be printed. Resources may be specified as follows: -m shared memory segments -q message queues -s semaphore arrays -a all (this is the default) The output format may be specified as follows: -t time -p pid -c creator -l limits -u summary SEE ALSO
ipcrm(1), ipcmk(1) CONFORMING TO
The Linux ipcs utility is not fully compatible to the POSIX ipcs utility. The Linux version does not support the -b and -o options, but does support the -l and -u options not defined by POSIX. The portable application shall not use the -a, -b, -o, -l, and -u options. AUTHOR
krishna balasubramanian (balasub@cis.ohio-state.edu) AVAILABILITY
The ipcs command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/. Linux 0.99 9 October 1993 IPCS(1)
All times are GMT -4. The time now is 01:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy