Query what Linux/Unix distribution you're using (from the command-line) [duplicate]
When using an unfamiliar Linux/BSD/Unix computer (e.g. by SSH) from the command line, how can you tell what distribution (and what version of that distribution) you're using?
Some options I've tried:
-
lsb_release --all
: doesn't exist on OpenSuSE 11.3; works on Debian squeeze and Ubuntu 10.10. -
uname --all
: doesn't give distro information on SuSE and Debian; works in Ubuntu. -
cat /etc/apt/sources.list
in you can see which distribution's servers the machine connects to for updates. Obviously, only works for Debian-based distributions. Won't work if the computer has been configured to use a custom repository server.
Unfortunately none of these seem to work across many distributions. Is there a simple command to check?
Solution 1:
If Python 2.3 or later is installed, this will work with many distributions:
python -c "import platform; print platform.dist()"
Solution 2:
cat /proc/version
might do the trick.
Solution 3:
There is no one magic command that works across all distributions - you will need to try a series of things to work out an answer.
Things to try include some you have done, like lsb_release
, and others that you haven't like looking at /etc/redhat-release
, /etc/fedora-release
, etc.