[BACK]Return to faq1.html CVS log [TXT][DIR] Up to [local] / www / faq

File: [local] / www / faq / faq1.html (download) (as text)

Revision 1.250, Wed Apr 3 19:59:04 2024 UTC (2 months ago) by tj
Branch: MAIN
CVS Tags: HEAD
Changes since 1.249: +1 -1 lines

7.5 updates

<!doctype html>
<html lang=en id=faq>

<!-- If you make edits to any FAQ documents, please start each sentence
     on a new line, and try to keep the general formatting consistent
     with the rest of the pages -->

<title>OpenBSD FAQ: Introduction to OpenBSD</title>
<meta charset=utf-8>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="../openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/faq/faq1.html">

<h2 id=OpenBSD>
<a href="../index.html">
<i>Open</i><b>BSD</b></a>
FAQ - Introduction to OpenBSD
<small>
<a href="index.html">[FAQ Index]</a>
</small>
</h2>
<hr>

<ul>
  <li><a href="#WhatIs"     >About OpenBSD</a>
  <li><a href="#Platforms"  >Hardware Support</a>
  <li><a href="#ManPages"   >Manual Pages</a>
  <li><a href="#MailLists"  >Mailing Lists</a>
  <li><a href="#OtherUnixes">Migrating to OpenBSD</a>
  <li><a href="#Bugs"       >Reporting Bugs</a>
  <li><a href="#Support"    >Supporting the Project</a>
</ul>
<hr>

<h2 id="WhatIs">About OpenBSD</h2>

The <a href="../index.html">OpenBSD</a> project produces a freely available,
multi-platform 4.4BSD-based UNIX-like operating system.
Our <a href="../goals.html">goals</a> place emphasis on correctness, security,
standardization, and portability.

<h3>Why might I want to use it?</h3>

Some reasons why we think OpenBSD is a useful operating system:

<ul>
  <li>OpenBSD runs on many different hardware platforms.
  <li>OpenBSD is thought of as the most <a href="../security.html">secure</a>
      UNIX-like operating system by many security professionals, as a result
      of the never-ending comprehensive source code audit.
  <li>OpenBSD is a full-featured UNIX-like operating system available in source
      and binary form at no charge.
  <li>OpenBSD integrates cutting-edge security technology suitable for
      <a href="pf/example1.html">building firewalls</a> and private network
      services in a distributed environment.
  <li>OpenBSD benefits from strong ongoing development in many areas, offering
      opportunities to work with emerging technologies and an international
      community of developers and end users.
  <li>OpenBSD attempts to minimize the need for customization and tweaking.
      For the vast majority of users, OpenBSD <b>just works</b> on their
      hardware for their application.
</ul>

<h3 id="ReallyFree">Is OpenBSD really free?</h3>

OpenBSD is all free.
The binaries are free.
The source is free.
All parts of OpenBSD have reasonable copyright terms permitting free
redistribution.
More about OpenBSD's copyright policy can be found
<a href="../policy.html">here</a>.

<p>
The maintainers of OpenBSD support the project largely from their own pockets.
This includes the time spent programming for the project, equipment used to
support the many ports, network resources used to distribute OpenBSD to you,
and the time spent answering questions and investigating users' bug reports.
The OpenBSD developers are not independently wealthy, and even small
contributions of time, equipment and resources make a big difference.

<h3>What's included in the base system?</h3>

OpenBSD is distributed with a number of third-party software products,
including:

<ul>
  <li><a href="https://www.x.org/wiki">X.org</a>
  <li><a href="https://clang.llvm.org">LLVM/Clang</a>
  <li><a href="https://gcc.gnu.org">GCC</a>
  <li><a href="https://www.perl.org">Perl</a>
  <li><a href="https://www.nlnetlabs.nl/projects/nsd">NSD</a> and
      <a href="https://www.nlnetlabs.nl/projects/unbound">Unbound</a>
  <li><a href="https://www.gnu.org/software/ncurses">ncurses</a>
  <li><a href="https://www.gnu.org/software/binutils">binutils</a>
  <li><a href="https://www.gnu.org/software/gdb/gdb.html">gdb</a>
  <li><a href="https://github.com/Yubico/libfido2">libfido2</a>
  <li><a href="https://libexpat.github.io/">Expat</a>
  <li><a href="https://www.zlib.net/">zlib</a>
</ul>

The OpenBSD team often patches third party products, typically to improve the
security or quality of the code.
Much <a href="../innovations.html">home-grown software</a> is also included.
Additional applications are available as <a href="faq15.html">packages</a>.

<h3 id="HowAbout">Why is/isn't <i>ProductX</i> included?</h3>

People often ask why a particular product is or isn't included with OpenBSD.
The answer is based on two things: the wishes of the developers and
compatibility with the <a href="../goals.html">goals</a> of the project.
Licensing is often the biggest problem: we want OpenBSD to remain usable
by any person anywhere in the world for any purpose.

<h3 id="Next">When is the next release?</h3>

The OpenBSD team makes a new release approximately every six months, with the
target release dates in May and November.
More information on the development cycle can be found
<a href="faq5.html#Flavors">here</a>.

<h2 id="Platforms">Hardware Support</h2>

OpenBSD runs on the following <a href="../plat.html">platforms</a>:
<!-- XXXrelease - verify platform list is current -->

<ul>
  <li><a href="../alpha.html"     >alpha</a>
  <li><a href="../amd64.html"     >amd64</a>
  <li><a href="../arm64.html"     >arm64</a>
  <li><a href="../armv7.html"     >armv7</a>
  <li><a href="../hppa.html"      >hppa</a>
  <li><a href="../i386.html"      >i386</a>
  <li><a href="../landisk.html"   >landisk</a>
  <li><a href="../loongson.html"  >loongson</a>
  <li><a href="../luna88k.html"   >luna88k</a>
  <li><a href="../macppc.html"    >macppc</a>
  <li><a href="../octeon.html"    >octeon</a>
  <li><a href="../powerpc64.html" >powerpc64</a>
  <li><a href="../riscv64.html"   >riscv64</a>
  <li><a href="../sparc64.html"   >sparc64</a>
</ul>

Specific hardware support details are on the respective platform pages.

<h2 id="ManPages">Manual Pages</h2>

OpenBSD comes with extensive documentation in the form of man pages.
They are the authoritative source of information for OpenBSD, and considerable
effort is made to ensure they're up to date and accurate.
Developers making a change to the system are expected to update the man pages
along with their change to the system code.
It is expected that users will check the man pages before asking for help.

<p>
Here is a list of some useful manual pages for new users:

<ul>
  <li><a href="https://man.openbsd.org/afterboot">afterboot(8)</a>
  - things to check after the first complete boot
  <li><a href="https://man.openbsd.org/help">help(1)</a>
  - help for new users and administrators
  <li><a href="https://man.openbsd.org/hier">hier(7)</a>
  - layout of filesystems
  <li><a href="https://man.openbsd.org/man">man(1)</a>
  - display the manual pages
  <li><a href="https://man.openbsd.org/adduser">adduser(8)</a> and
  <a href="https://man.openbsd.org/rmuser">rmuser(8)</a>
  - add or remove new users
  <li><a href="https://man.openbsd.org/reboot">reboot(8), halt(8)</a> and
  <a href="https://man.openbsd.org/shutdown">shutdown(8)</a>
  - stop and restart the system
  <li><a href="https://man.openbsd.org/syspatch">syspatch(8)</a>
  - apply <a href="faq10.html#Patches">security and reliability updates</a>
  <li><a href="https://man.openbsd.org/sysupgrade">sysupgrade(8)</a>
  - upgrade to the next OpenBSD release or a newer snapshot
  <li><a href="https://man.openbsd.org/dmesg">dmesg(8)</a>
  - redisplay the kernel boot messages
  <li><a href="https://man.openbsd.org/doas">doas(1)</a>
  - run commands as another user
  <li><a href="https://man.openbsd.org/tmux">tmux(1)</a>
  - terminal multiplexer
  <li><a href="https://man.openbsd.org/ifconfig">ifconfig(8)</a>
  - configure network interface parameters
  <li><a href="https://man.openbsd.org/ftp">ftp(1)</a>
  - download files from the internet (supports FTP/HTTP/HTTPS)
  <li><a href="https://man.openbsd.org/login.conf">login.conf(5)</a>
  - format of the login class configuration file
  <li><a href="https://man.openbsd.org/sendbug">sendbug(1)</a>
  - report a bug you've found
</ul>

All of the OpenBSD man pages can be found on the web at
<a href="https://man.openbsd.org">man.openbsd.org</a> as well as in
the <code>man75.tgz</code> file set.

<p>
In general, if you know the name of a command or a manual page, you can
read it by executing <code>man command</code>.
If you don't know the name of the command,
or if <code>man command</code> doesn't find the manual page,
you can search the manual page database by executing
<code>apropos something</code> or <code>man -k something</code>, where
<code>something</code> is a likely word that might appear in the title of the
manual page you're looking for.

<pre class="cmdbox">
$ <b>apropos "time zone"</b>
tzfile(5) - time zone information
zdump(8) - time zone dumper
zic(8) - time zone compiler
</pre>

The parenthetical numbers indicate the section of the manual in which that page
can be found.
In some cases, you may find manual pages with identical names living in
separate sections of the manual.
For example, assume that you want to know the format of the configuration files
for the cron daemon.
Once you know the section of the manual for the page you want, you would
execute <code>man n command</code>, where n is the manual section number.

<pre class="cmdbox">
$ <b>man -k cron</b>
cron(8) - clock daemon
crontab(1) - maintain crontab files for individual users
crontab(5) - tables for driving cron
$ <b>man 5 crontab</b>
</pre>

<h2 id="MailLists">Mailing Lists</h2>

The OpenBSD project maintains several mailing lists that users can subscribe
to and follow.
Some of the more popular lists are:

<ul>
  <li><b>announce</b> - announcements and security advisories
  <li><b>bugs</b> - bugs received via
      <a href="https://man.openbsd.org/sendbug">sendbug(1)</a>
      and discussion about them
  <li><b>misc</b> - general user questions and answers
  <li><b>ports</b> - discussion of the
      <a href="ports/ports.html">ports tree</a>
  <li><b>source-changes</b> - automated mailing of CVS source tree changes
  <li><b>tech</b> - discussion of technical topics for OpenBSD developers and
      advanced users
</ul>

Before posting a question on any mailing list, please check the archives for
most common questions have been asked repeatedly.
While it might be the first time you have encountered the problem or question,
others on the mailing lists may have seen the same question several times in
the last week, and may not appreciate seeing it again.
If asking a question possibly related to hardware, always include a full
<a href="https://man.openbsd.org/dmesg">dmesg(8)</a>.

<p>
You can find several archives, other guidelines and more information on the
<a href="../mail.html">mailing list page</a>.
Subscriptions can be easily managed via the
<a href="https://lists.openbsd.org">web interface</a>.

<h2 id="OtherUnixes">Migrating to OpenBSD</h2>

If you learned Unix from any of the <a href="../books.html">good books</a>
on general Unix, understanding the Unix philosophy and then extending your
knowledge to a particular platform, you will find OpenBSD to be familiar.

<p>
Here are some of the commonly encountered differences between OpenBSD and other
Unix variants.

<ul>
  <li>OpenBSD is a BSD-style Unix, following the 4.4BSD design closely.
      Linux and Solaris are System V style systems.
      Some Unix-like operating systems mix System V and BSD characteristics.
      A common place where this causes confusion is the
      <a href="faq10.html#rc">startup scripts</a>.
      OpenBSD uses the <a href="https://man.openbsd.org/rc">rc(8)</a> system.
  <li>OpenBSD is a complete system, intended to be kept in sync.
      It is not a kernel plus utilities that can be upgraded separately from
      each other.
  <li>OpenBSD maintains a <a href="ports/index.html">ports tree</a> to provide
      third party software.
      Pre-compiled <a href="faq15.html">packages</a> are created and distributed
      by the OpenBSD ports team.
  <li>OpenBSD uses CVS to keep track of source code changes.
      OpenBSD pioneered <a href="../anoncvs.html">anonymous CVS</a>, which
      allows anyone to extract the full source tree for any version of OpenBSD
      at any time.
      There also is a <a href="https://cvsweb.openbsd.org">web interface</a>.
  <li>OpenBSD has gone through heavy and continual security auditing to ensure
      the quality and security of the code.
  <li>OpenBSD does not support journaling filesystems.
  <li>OpenBSD comes with <a href="pf/index.html">Packet Filter (PF)</a>.
      This means that Network Address Translation, queuing, and filtering are
      handled through <a href="https://man.openbsd.org/pfctl">pfctl(8)</a>,
      <a href="https://man.openbsd.org/pf">pf(4)</a> and
      <a href="https://man.openbsd.org/pf.conf">pf.conf(5)</a>.
  <li>OpenBSD's default shell is <a href="https://man.openbsd.org/ksh">ksh</a>,
      which is based on the public domain Korn shell.
      Shells such as bash and many others can be added from
      <a href="faq15.html">packages</a>.
  <li>Devices are named by driver, not by type.
      In other words, there are no <code>eth0</code> and <code>eth1</code>
      devices.
      It would be <code>em0</code> for an Intel PRO/1000 Ethernet card,
      <code>bge0</code> for a Broadcom BCM57xx or BCM590x Ethernet device,
      <code>ral0</code> for a RaLink wireless device, etc.
  <li>OpenBSD/i386, amd64, and several other platforms use a two-layer disk
      partitioning system, where the first layer is the
      <a href="faq14.html#fdisk">fdisk</a> BIOS-visible partition and the
      second is the <a href="faq14.html#disklabel">disklabel</a>.
  <li>Some other operating systems encourage you to customize your kernel for
      your machine.
      OpenBSD users are encouraged to simply use the standard GENERIC kernel
      provided and tested by the developers.
</ul>

<h2 id="Bugs">Reporting Bugs</h2>

Reporting bugs is one of the most important responsibilities of end users.
Very detailed information is required to diagnose most serious issues.
For example, the following would be an appropriate bug report:

<pre class="cmdbox">
From: user@example.com
To: bugs@openbsd.org
Subject: 3.3-beta panics on a SPARCStation2

OpenBSD 3.2 installed from an official CD-ROM installed and ran fine
on this machine.

After doing a clean install of 3.3-beta from a mirror, I find the
system randomly panics after a period of use, and predictably and
quickly when starting X.

This is the dmesg output:

[...]

This is the panic I got when attempting to start X:

panic: pool_get(mclpl): free list modified: magic=78746572; page 0xfaa93000;
 item addr 0xfaa93000
Stopped at      Debugger+0x4:   jmpl            [%o7 + 0x8], %g0
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb> trace
[...]

Thank you!
</pre>

See <a href="../report.html">this page</a> for more information on creating and
submitting bug reports.
Include detailed information about what happened, the exact configuration of
your system, and how to reproduce the problem.
Please use <a href="https://man.openbsd.org/sendbug">sendbug(1)</a> to report
your problems whenever possible.
Otherwise, please include at least the
<a href="https://man.openbsd.org/dmesg">dmesg(8)</a> output of your system.
The <a href="https://man.openbsd.org/sendbug">sendbug(1)</a> command requires
that your system be able to send email.

<p>
The OpenBSD mail server uses
<a href="https://man.openbsd.org/spamd">spamd(8)</a>
for greylisting, so it may take half an hour or so before the mail server
accepts your bug report.
Please be patient.

<p>
After submitting a bug report, you may be contacted by developers for additional
information or with patches that need testing.
You can also monitor the archives of the
<a href="mailto:bugs@openbsd.org">bugs@openbsd.org</a> mailing list - details
on the <a href="../mail.html">mailing list page</a>.

<h2 id="Support">Supporting the Project</h2>

We are greatly indebted to the people and organizations that have
contributed to the OpenBSD project.

<p>
OpenBSD has a constant need for several types of support from the community.
If you find OpenBSD useful, you are strongly encouraged to find a way to
contribute.

<ul>
  <!--
  <li><a href="https://openbsdstore.com">Buy OpenBSD products</a>.
      A number of items are available at the
      OpenBSD store, including <a href="../tshirts.html">shirts</a> for your
      wearing enjoyment.
  -->
  <li><a href="../donations.html">Donate money</a>.
      The project has a constant need for cash to pay for equipment, network
      connectivity, etc.
      Even small donations make a profound difference.
  <li><a href="../want.html">Donate equipment and parts</a>.
      The project has a constant need for general and specific hardware.
  <li><a href="faq5.html#Diff">Donate your time and skills</a>.
      Programmers who enjoy writing operating systems are naturally always
      welcome, but there are many other ways that people can be useful.
  <li>Follow the <a href="../mail.html">mailing lists</a> and help answer
      questions from other users.
  <li>Help maintain documentation by submitting new FAQ material to
      <a href="mailto:misc@openbsd.org">misc@openbsd.org</a>.
  <li>Form a local <a href="../groups.html">user group</a> and get your friends
      hooked on OpenBSD.
  <li>Make a case to your employer for using OpenBSD at work.
      If you're a student, talk to your professors about using OpenBSD as a
      learning tool for Computer Science or Engineering courses.
</ul>