freebsd-nq/usr.bin/uname/uname.1
Gordon Bergling 8f98a937ed uname.1: Clarify the -r option
It is some times hard to understand the difference between
kernel version and userland version. So clarify the -r option
of uname(1) in terms of a printed kernel version.

While here, add some cross references:

- cross reference freebsd-version(1) in uname(1)
- cross reference freebsd-version(1) and uname(1) in freebsd-update(8)

PR:		265594
Reported by:	rwatson
Reviewed by:	gbe, imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D36516
2022-09-16 13:27:54 +02:00

174 lines
4.4 KiB
Groff

.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)uname.1 8.3 (Berkeley) 4/8/94
.\" $FreeBSD$
.\"
.Dd September 14, 2022
.Dt UNAME 1
.Os
.Sh NAME
.Nm uname
.Nd display information about the system
.Sh SYNOPSIS
.Nm
.Op Fl abiKmnoprsUv
.Sh DESCRIPTION
The
.Nm
command writes the name of the operating system implementation to
standard output.
When options are specified, strings representing one or more system
characteristics are written to standard output.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl a
Behave as though the options
.Fl m , n , r , s ,
and
.Fl v
were specified.
.It Fl b
Write the kernel's linker-generated build-id to standard output.
.It Fl i
Write the kernel ident to standard output.
.It Fl K
Write the
.Fx
version of the kernel.
.It Fl m
Write the type of the current hardware platform to standard output.
.Po Xr make 1
uses it to set the
.Va MACHINE
variable.
.Pc
.It Fl n
Write the name of the system to standard output.
.It Fl o
This is a synonym for the
.Fl s
option, for compatibility with other systems.
.It Fl p
Write the type of the machine processor architecture to standard output.
.Po Xr make 1
uses it to set the
.Va MACHINE_ARCH
variable.
.Pc
.It Fl r
Write the current release level of the kernel
to standard output.
.Xr freebsd-version 1
can be used to print the release level of the userland.
.It Fl s
Write the name of the operating system implementation to standard output.
.It Fl U
Write the
.Fx
version of the user environment.
.It Fl v
Write the version level of this release of the operating system
to standard output.
.El
.Pp
If the
.Fl a
flag is specified, or multiple flags are specified, all
output is written on a single line, separated by spaces.
.Pp
The
.Fl K
and
.Fl U
flags are intended to be used for fine grain differentiation of incremental
.Fx
development and user visible changes.
Note that when both of these two options are specified, regardless of their
order, the kernel version would be printed first, followed by the user
environment version.
.Sh ENVIRONMENT
An environment variable composed of the string
.Ev UNAME_
followed by any flag to the
.Nm
utility (except for
.Fl a )
will allow the corresponding data to be set to the contents
of the environment variable.
See
.Xr uname 3
for more information.
.Sh EXIT STATUS
.Ex -std
.Sh EXAMPLES
The hardware platform
.Pq Fl m
can be different from the machine's processor architecture
.Pq Fl p ,
e.g., on 64-bit PowerPC,
.Fl m
would return
.Va powerpc
and
.Fl p
would return
.Va powerpc64 .
.Sh SEE ALSO
.Xr freebsd-version 1 ,
.Xr feature_present 3 ,
.Xr getosreldate 3 ,
.Xr sysctl 3 ,
.Xr uname 3 ,
.Xr sysctl 8
.Sh STANDARDS
The
.Nm
command is expected to conform to the
.St -p1003.2
specification.
.Sh HISTORY
The
.Nm
command appeared in PWB UNIX 1.0, however
.Bx 4.4
was the first Berkeley release with the
.Nm
command.
.Pp
The
.Fl K
and
.Fl U
extension flags appeared in
.Fx 10.0 .
The
.Fl b
extension flag appeared in
.Fx 13.0 .