BSD Newsletter.com
   Front | Info | Lists | Newsfeeds | Study Guide | What is BSD?
Advertisement: The OpenBSD PF Packet Filter Book: PF for NetBSD, FreeBSD, DragonFly and OpenBSD

BSD Links
·New Links
·Advocacy
·Drivers
·Events
·Flavours
·FAQs
·Guides
·Programming
·Security
·Software
·User Groups

This is the BSDA Study Guide Book written via a wiki collaboration. This is a work in progress. You may contribute to or discuss this specific page at http://bsdwiki.reedmedia.net/wiki/Determine_information_regarding_the_operating_system.html.

Determine information regarding the operating system

Concept

Be able to determine the type and version of the operating system installed.

Introduction

The uname command can display the type and version of the operating system installed, including the system's hostname, the release level, and the hardware platform name and the processor architecture name. The -a option will show many details, and is similar to calling uname with the "-m -n -r -s -v" options.

Note that usually the kernel and userland (like libc, BSD tools and network daemons, et cetera) are kept in sync so the same version would apply for the operating system as a whole.

TODO: is "sync" term okay here? Maybe improve sentence. And should this mention that uname is for kernel only?

By default, it shows the name of the operating system:

$ uname
DragonFly
$ uname -s
DragonFly

The machine's hardware name and processor architecture name can be displayed, respectively:

$ uname -m
i386
$ uname -p
i386

TODO: add note and example about when -m and -p are different

It can also provide the time and date of the built kernel, the host it was built on, and the path to the kernel configuration used, for example:

$ uname -v
DragonFly 1.7.0-DEVELOPMENT #0: Fri Oct 27 12:10:01 PDT 2006
    jdoe@server5.example.org:/build/usr.obj/usr/src/sys/SERVER

The sysctl tool (introduced in section Modify a kernel parameter on the fly) can also show some of this same information, for example:

$ sysctl kern.ostype
kern.ostype = NetBSD
$ sysctl kern.hostname
kern.hostname = glacier.reedmedia.net
$ sysctl kern.osrelease
kern.osrelease = 3.99.24
$ sysctl kern.version
kern.version = NetBSD 3.99.24 (JCR20060802) #0: Mon Sep 25 12:22:43 CDT 2006
        reed@new-host-8:/usr/src/sys/arch/i386/compile/JCR20060802

$ sysctl hw.machine
hw.machine = i386
$ sysctl hw.machine_arch
hw.machine_arch = i386

On NetBSD, an /etc/release file also gives further details to identify the source code used to build the system.

Practice Exercises

TODO

More information

uname(1), sysctl(8); /etc/release on NetBSD



Front | Information | Lists | Newsfeeds