Visit Our UNIX and Linux User Community

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

 
Test Your Knowledge in Computers #607
Difficulty: Medium
In MySQL 8.0 CREATE TABLE t1 (c1 JSON); is not a valid statement.
True or False?

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
UPDATE-MANAGER(8)                                             System Manager's Manual                                            UPDATE-MANAGER(8)

NAME
update-manager - graphical management of software packages updates SYNOPSIS
update-manager [options] DESCRIPTION
Update-manager is a frontend for the apt package management system. It allows you to perform some actions of the command line tool apt-get in a graphical environment. Update-manager is especially designed for upgrading your system, or migrating your system towards a more recent version. OPTIONS
For a daily use, you may launch update-manager with no options so that your system is just upgraded. For migration purposes, update-manager accepts some options: -h, --help Show a similar help message -c, --check-dist-upgrades Check if a new distribution release is available -d, --devel-release Check if upgrading to the latest devel release is possible -p, --proposed Try to run a dist-upgrade --dist-upgrade Try to run a dist-upgrade ACTIONS PERFORMED DURING AN UPGRADE TO A NEW VERSION
* eventually reinstall the package ubuntu-desktop * switch to an updated sources.list entries * adds the default user to new groups if needed SEE ALSO
Synaptic, sources.list, aptitude AUTHORS
update-manager was developed by Michael Vogt <mvo@ubuntu.com> with various contributors (see AUTHORS file) This manual page was originally written by Bruno Mangin and Michael Vogt <mvo@ubuntu.com>. COPYRIGHT
Copyright (C) 2006-2007 Canonical There is NO warranty. You may redistribute this software under the terms of the GNU General Public License. For more information about these matters, see the files named COPYING. August 2, 2007 UPDATE-MANAGER(8)

Featured Tech Videos

All times are GMT -4. The time now is 11:31 PM.
Unix & Linux Forums Content Copyright 1993-2020. All Rights Reserved.
Privacy Policy