Use the new &os;, &os.stable;, and &os.current; entities where
appropriate. This document's spelling of "FreeBSD-STABLE" and the like is now consistent with itself.
This commit is contained in:
parent
786c87df58
commit
a682caddc1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=9574
2 changed files with 156 additions and 158 deletions
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.68 2001/05/12 03:20:47 eric Exp $
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.69 2001/05/24 17:46:52 schweikh Exp $
|
||||
-->
|
||||
|
||||
<chapter id="cutting-edge">
|
||||
|
@ -14,7 +14,7 @@
|
|||
<sect1>
|
||||
<title>Synopsis</title>
|
||||
|
||||
<para>FreeBSD is under constant development between releases. For
|
||||
<para>&os; is under constant development between releases. For
|
||||
people who want to be on the cutting edge, there are several easy
|
||||
mechanisms for keeping your system in sync with the latest
|
||||
developments. Be warned—the cutting edge is not for everyone!
|
||||
|
@ -24,60 +24,60 @@
|
|||
</sect1>
|
||||
|
||||
<sect1 id="current-stable">
|
||||
<title>-CURRENT vs. -STABLE</title>
|
||||
<title>&os.current; vs. &os.stable;</title>
|
||||
|
||||
<para>There are two development branches to FreeBSD; -CURRENT and
|
||||
-STABLE. This section will explain a bit about each and describe
|
||||
<para>There are two development branches to FreeBSD; &os.current; and
|
||||
&os.stable;. This section will explain a bit about each and describe
|
||||
how to keep your system up-to-date with each respective tree.
|
||||
-CURRENT will be discussed first, then -STABLE.</para>
|
||||
&os.current; will be discussed first, then &os.stable;.</para>
|
||||
|
||||
<sect2 id="current">
|
||||
<title>Staying Current with FreeBSD</title>
|
||||
<title>Staying Current with &os;</title>
|
||||
|
||||
<para>As you are reading this, keep in mind that -CURRENT is the
|
||||
<quote>bleeding edge</quote> of FreeBSD development and that if you
|
||||
are new to FreeBSD, you are most likely going to want to think
|
||||
<para>As you are reading this, keep in mind that &os.current; is the
|
||||
<quote>bleeding edge</quote> of &os; development and that if you
|
||||
are new to &os;, you are most likely going to want to think
|
||||
twice about running it.</para>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-CURRENT?</title>
|
||||
<title>What is &os.current;?</title>
|
||||
|
||||
<para>FreeBSD-CURRENT is, quite literally, nothing more than a
|
||||
daily snapshot of the working sources for FreeBSD. These
|
||||
<para>&os.current; is, quite literally, nothing more than a
|
||||
daily snapshot of the working sources for &os;. These
|
||||
include work in progress, experimental changes and transitional
|
||||
mechanisms that may or may not be present in the next official
|
||||
release of the software. While many of us compile almost daily
|
||||
from FreeBSD-CURRENT sources, there are periods of time when the
|
||||
from &os.current; sources, there are periods of time when the
|
||||
sources are literally un-compilable. These problems are
|
||||
generally resolved as expeditiously as possible, but whether or
|
||||
not FreeBSD-CURRENT sources bring disaster or greatly desired
|
||||
not &os.current; sources bring disaster or greatly desired
|
||||
functionality can literally be a matter of which part of any
|
||||
given 24 hour period you grabbed them in!</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who needs FreeBSD-CURRENT?</title>
|
||||
<title>Who needs &os.current;?</title>
|
||||
|
||||
<para>FreeBSD-CURRENT is made generally available for 3 primary
|
||||
<para>&os.current; is made generally available for 3 primary
|
||||
interest groups:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Members of the FreeBSD group who are actively working on
|
||||
<para>Members of the &os; group who are actively working on
|
||||
some part of the source tree and for whom keeping
|
||||
<quote>current</quote> is an absolute requirement.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Members of the FreeBSD group who are active testers,
|
||||
<para>Members of the &os; group who are active testers,
|
||||
willing to spend time working through problems in order to
|
||||
ensure that FreeBSD-CURRENT remains as sane as possible.
|
||||
ensure that &os.current; remains as sane as possible.
|
||||
These are also people who wish to make topical suggestions
|
||||
on changes and the general direction of FreeBSD.</para>
|
||||
on changes and the general direction of &os;.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Peripheral members of the FreeBSD (or some other) group
|
||||
<para>Peripheral members of the &os; (or some other) group
|
||||
who merely wish to keep an eye on things and use the current
|
||||
sources for reference purposes (e.g. for
|
||||
<emphasis>reading</emphasis>, not running). These people
|
||||
|
@ -87,7 +87,7 @@
|
|||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-CURRENT <emphasis>not</emphasis>?</title>
|
||||
<title>What is &os.current; <emphasis>not</emphasis>?</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -103,14 +103,14 @@
|
|||
<listitem>
|
||||
<para>In any way <quote>officially supported</quote> by us.
|
||||
We do our best to help people genuinely in one of the 3
|
||||
<quote>legitimate</quote> FreeBSD-CURRENT categories, but we
|
||||
<quote>legitimate</quote> &os.current; categories, but we
|
||||
simply <emphasis>do not have the time</emphasis> to provide
|
||||
tech support for it. This is not because we are mean and
|
||||
nasty people who do not like helping people out (we would
|
||||
not even be doing FreeBSD if we were), it is literally
|
||||
not even be doing &os; if we were), it is literally
|
||||
because we cannot answer 400 messages a day
|
||||
<emphasis>and</emphasis> actually work on FreeBSD! Given the
|
||||
choice between improving FreeBSD and answering lots of
|
||||
choice between improving &os; and answering lots of
|
||||
questions, most developers, and users, would probably opt for
|
||||
the former.</para>
|
||||
</listitem>
|
||||
|
@ -118,14 +118,14 @@
|
|||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using FreeBSD-CURRENT</title>
|
||||
<title>Using &os.current;</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.current; and the &a.cvsall; . This is not
|
||||
just a good idea, it is <emphasis>essential</emphasis>. If
|
||||
you are not on the <emphasis>FreeBSD-CURRENT</emphasis>
|
||||
mailing list, you will not see the comments that people are
|
||||
you are not on the <emphasis>&a.current;</emphasis>,
|
||||
you will not see the comments that people are
|
||||
making about the current state of the system and thus will
|
||||
probably end up stumbling over a lot of problems that others
|
||||
have already found and solved. Even more importantly, you
|
||||
|
@ -171,7 +171,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>Use <command>ftp</command>. The source tree for
|
||||
FreeBSD-CURRENT is always <quote>exported</quote> on:
|
||||
&os.current; is always <quote>exported</quote> on:
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>.
|
||||
We also use <command>wu-ftpd</command> which allows
|
||||
|
@ -205,13 +205,13 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>If you are grabbing the sources to run, and not just
|
||||
look at, then grab <emphasis>all</emphasis> of current, not
|
||||
look at, then grab <emphasis>all</emphasis> of &os.current;, not
|
||||
just selected portions. The reason for this is that various
|
||||
parts of the source depend on updates elsewhere, and trying
|
||||
to compile just a subset is almost guaranteed to get you
|
||||
into trouble.</para>
|
||||
|
||||
<para>Before compiling current, read the
|
||||
<para>Before compiling &os.current;, read the
|
||||
<filename>Makefile</filename>in <filename>/usr/src</filename>
|
||||
carefully. You should at least run a <link
|
||||
linkend="makeworld">make world</link> the first time through
|
||||
|
@ -222,7 +222,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Be active! If you are running FreeBSD-CURRENT, we want
|
||||
<para>Be active! If you are running &os.current;, we want
|
||||
to know what you have to say about it, especially if you
|
||||
have suggestions for enhancements or bug fixes. Suggestions
|
||||
with accompanying code are received most
|
||||
|
@ -233,63 +233,62 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</sect2>
|
||||
|
||||
<sect2 id="stable">
|
||||
<title>Staying Stable with FreeBSD</title>
|
||||
<title>Staying Stable with &os;</title>
|
||||
|
||||
<para>If you are using FreeBSD in a production environment and want
|
||||
to make sure you have the latest fixes from the -CURRENT branch,
|
||||
you want to be running -STABLE. This is the tree that -RELEASEs
|
||||
<para>If you are using &os; in a production environment and want
|
||||
to make sure you have the latest fixes from the &os.current; branch,
|
||||
you want to be running &os.stable;. This is the tree that -RELEASEs
|
||||
are branched from when we are putting together a new release. For
|
||||
example, if you have a copy of 3.4-RELEASE, that is really just a
|
||||
<quote>snapshot</quote> from the -STABLE branch that we put on
|
||||
CDROM. In order to get any changes merged into -STABLE after the
|
||||
-RELEASE, you need to <quote>track</quote> the -STABLE
|
||||
<quote>snapshot</quote> from the &os.stable; branch that we put on
|
||||
CDROM. In order to get any changes merged into &os.stable; after the
|
||||
-RELEASE, you need to <quote>track</quote> the &os.stable;
|
||||
branch.</para>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-STABLE?</title>
|
||||
<title>What is &os.stable;?</title>
|
||||
|
||||
<para>FreeBSD-STABLE is our development branch for a more low-key
|
||||
<para>&os.stable; is our development branch for a more low-key
|
||||
and conservative set of changes intended for our next mainstream
|
||||
release. Changes of an experimental or untested nature do not
|
||||
go into this branch (see <link
|
||||
linkend="current">FreeBSD-CURRENT</link>).</para>
|
||||
go into this branch.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who needs FreeBSD-STABLE?</title>
|
||||
<title>Who needs &os.stable;?</title>
|
||||
|
||||
<para>If you are a commercial user or someone who puts maximum
|
||||
stability of their FreeBSD system before all other concerns, you
|
||||
should consider tracking <emphasis>stable</emphasis>. This is
|
||||
stability of their &os; system before all other concerns, you
|
||||
should consider tracking &os.stable;. This is
|
||||
especially true if you have installed the most recent release
|
||||
(<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>
|
||||
at the time of this writing) since the
|
||||
<emphasis>stable</emphasis> branch is effectively a bug-fix
|
||||
at the time of this writing) since the &os.stable;
|
||||
branch is effectively a bug-fix
|
||||
stream relative to the previous release.</para>
|
||||
|
||||
<warning>
|
||||
<para>The <emphasis>stable</emphasis> tree endeavors, above all,
|
||||
<para>The &os.stable; tree endeavors, above all,
|
||||
to be fully compilable and stable at all times, but we do
|
||||
occasionally make mistakes (these are still active sources
|
||||
with quickly-transmitted updates, after all). We also do our
|
||||
best to thoroughly test fixes in <emphasis>current</emphasis>
|
||||
before bringing them into <emphasis>stable</emphasis>, but
|
||||
best to thoroughly test fixes in &os.current;
|
||||
before bringing them into &os.stable;, but
|
||||
sometimes our tests fail to catch every case. If something
|
||||
breaks for you in <emphasis>stable</emphasis>, please let us
|
||||
breaks for you in &os.stable;, please let us
|
||||
know <emphasis>immediately!</emphasis> (see next
|
||||
section).</para>
|
||||
</warning>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using FreeBSD-STABLE</title>
|
||||
<title>Using &os.stable;</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.stable;. This will keep you informed of
|
||||
build-dependencies that may appear in
|
||||
<emphasis>stable</emphasis> or any other issues requiring
|
||||
build-dependencies that may appear in &os.stable;
|
||||
or any other issues requiring
|
||||
special attention. Developers will also make announcements
|
||||
in this mailing list when they are contemplating some
|
||||
controversial fix or update, giving the users a chance to
|
||||
|
@ -319,7 +318,7 @@ subscribe cvs-all</programlisting>
|
|||
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink>
|
||||
and install it like any other release.</para>
|
||||
|
||||
<para>If you are already running a previous release of FreeBSD
|
||||
<para>If you are already running a previous release of &os;
|
||||
and wish to upgrade via sources then you can easily do so
|
||||
from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can
|
||||
be done in one of three ways:</para>
|
||||
|
@ -349,7 +348,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>Use <command>ftp</command>. The source tree for
|
||||
FreeBSD-STABLE is always <quote>exported</quote> on:
|
||||
&os.stable; is always <quote>exported</quote> on:
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para>
|
||||
|
||||
|
@ -376,7 +375,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Before compiling stable, read the
|
||||
<para>Before compiling sta, read the
|
||||
<filename>Makefile</filename> in <filename>/usr/src</filename>
|
||||
carefully. You should at least run a <link
|
||||
linkend="makeworld">make world</link> the first time through
|
||||
|
@ -394,7 +393,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<title>Synchronizing Your Source</title>
|
||||
|
||||
<para>There are various ways of using an Internet (or email)
|
||||
connection to stay up-to-date with any given area of the FreeBSD
|
||||
connection to stay up-to-date with any given area of the &os;
|
||||
project sources, or all areas, depending on what interests you. The
|
||||
primary services we offer are <link linkend="anoncvs">Anonymous
|
||||
CVS</link>, <link linkend="cvsup">CVSup</link>, and <link
|
||||
|
@ -464,8 +463,8 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<title>Using <command>make world</command></title>
|
||||
|
||||
<para>Once you have synchronized your local source tree against a
|
||||
particular version of FreeBSD (<literal>stable</literal>,
|
||||
<literal>current</literal> and so on) you can then use the source
|
||||
particular version of &os; (&os.stable;, &os.current;, and so on)
|
||||
you can then use the source
|
||||
tree to rebuild the system.</para>
|
||||
|
||||
<warning>
|
||||
|
@ -486,9 +485,9 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<warning>
|
||||
<title>Subscribe to the right mailing list</title>
|
||||
|
||||
<para>The -STABLE and -CURRENT FreeBSD code branches are, by their
|
||||
<para>The &os.stable; and &os.current; branches are, by their
|
||||
nature, <emphasis>in development</emphasis>. People that
|
||||
contribute to FreeBSD are human, and mistakes occasionally
|
||||
contribute to &os; are human, and mistakes occasionally
|
||||
happen.</para>
|
||||
|
||||
<para>Sometimes these mistakes can be quite harmless, just causing
|
||||
|
@ -502,7 +501,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
clear</quote> announcement is posted when the problem has been
|
||||
solved.</para>
|
||||
|
||||
<para>If you try and track -STABLE or -CURRENT and do not read the
|
||||
<para>If you try and track &os.stable; or &os.current; and do not read the
|
||||
<email>stable@FreeBSD.org</email> or
|
||||
<email>current@FreeBSD.org</email> mailing lists then you are
|
||||
asking for trouble.</para>
|
||||
|
@ -662,7 +661,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
&man.make.1; to another file. If something goes wrong you will
|
||||
have a copy of the error message. While this might not help you
|
||||
in diagnosing what has gone wrong, it can help others if you post
|
||||
your problem to one of the FreeBSD mailing lists.</para>
|
||||
your problem to one of the &os; mailing lists.</para>
|
||||
|
||||
<para>The easiest way to do this is to use the &man.script.1;
|
||||
command, with a parameter that specifies the name of the file to
|
||||
|
@ -697,7 +696,7 @@ Script done, …</screen>
|
|||
|
||||
<para>To rebuild the world you use the &man.make.1; command. This
|
||||
command reads instructions from the <filename>Makefile</filename>,
|
||||
which describes how the programs that comprise FreeBSD should be
|
||||
which describes how the programs that comprise &os; should be
|
||||
rebuilt, the order in which they should be built, and so on.</para>
|
||||
|
||||
<para>The general format of the command line you will type is as
|
||||
|
@ -744,9 +743,9 @@ Script done, …</screen>
|
|||
|
||||
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
|
||||
|
||||
<para>Beginning with version 2.2.5 of FreeBSD (actually, it was
|
||||
first created on the -CURRENT branch, and then retrofitted to
|
||||
-STABLE midway between 2.2.2 and 2.2.5) the
|
||||
<para>Beginning with version 2.2.5 of &os; (actually, it was
|
||||
first created on the &os.current; branch, and then retrofitted to
|
||||
&os.stable; midway between 2.2.2 and 2.2.5) the
|
||||
<maketarget>world</maketarget> target has been split in
|
||||
two. <maketarget>buildworld</maketarget> and
|
||||
<maketarget>installworld</maketarget>.</para>
|
||||
|
@ -811,8 +810,8 @@ Script done, …</screen>
|
|||
|
||||
<para>Many factors influence the build time, but currently a 500MHz
|
||||
Pentium 3 with 128MB of RAM takes about 3 and a half hours to build
|
||||
the -CURRENT tree, with no tricks or shortcuts used during the
|
||||
process. A -STABLE tree will build somewhat faster.</para>
|
||||
the &os.current; tree, with no tricks or shortcuts used during the
|
||||
process. A &os.stable; tree will build somewhat faster.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
|
@ -835,7 +834,7 @@ Script done, …</screen>
|
|||
can then build a new kernel based on your normal kernel config
|
||||
file.</para>
|
||||
|
||||
<para>If you are upgrading to FreeBSD 4.0 or above then the standard
|
||||
<para>If you are upgrading to &os; 4.0 or above then the standard
|
||||
kernel build procedure (as described in <xref linkend="kernelconfig">)
|
||||
is deprecated. Instead, you should run these commands.</para>
|
||||
|
||||
|
@ -843,7 +842,7 @@ Script done, …</screen>
|
|||
&prompt.root; <userinput>make buildkernel</userinput>
|
||||
&prompt.root; <userinput>make installkernel</userinput></screen>
|
||||
|
||||
<para>If you are upgrading to a version of FreeBSD below 4.0 you should
|
||||
<para>If you are upgrading to a version of &os; below 4.0 you should
|
||||
use the standard kernel build procedure. However, it is recommended
|
||||
that you use the new version of &man.config.8;, using a command line
|
||||
like this.</para>
|
||||
|
@ -862,7 +861,7 @@ Script done, …</screen>
|
|||
<sect2>
|
||||
<title>Install the new system binaries</title>
|
||||
|
||||
<para>If you were building a version of FreeBSD recent enough to have
|
||||
<para>If you were building a version of &os; recent enough to have
|
||||
used <command>make buildworld</command> then you should now use the
|
||||
<maketarget>installworld</maketarget> to install the new system
|
||||
binaries.</para>
|
||||
|
@ -1161,7 +1160,7 @@ Script done, …</screen>
|
|||
<sect2>
|
||||
<title>Finished</title>
|
||||
|
||||
<para>You should now have successfully upgraded your FreeBSD system.
|
||||
<para>You should now have successfully upgraded your &os; system.
|
||||
Congratulations.</para>
|
||||
|
||||
<para>If things went slightly wrong, it is easy to rebuild a particular
|
||||
|
@ -1210,8 +1209,8 @@ Script done, …</screen>
|
|||
spot all the dependencies.</para>
|
||||
|
||||
<para>And, of course, this all depends on how often you want to
|
||||
upgrade, and whether you are tracking -STABLE or
|
||||
-CURRENT.</para>
|
||||
upgrade, and whether you are tracking &os.stable; or
|
||||
&os.current;.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1259,7 +1258,7 @@ Script done, …</screen>
|
|||
builds run much faster, since most of sources will not need to
|
||||
be recompiled. The flip side of this is that subtle dependency
|
||||
problems can creep in, causing your build to fail in odd ways.
|
||||
This frequently generates noise on the FreeBSD mailing lists,
|
||||
This frequently generates noise on the &os; mailing lists,
|
||||
when one person complains that their build has failed, not
|
||||
realising that it is because they have tried to cut
|
||||
corners.</para>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.68 2001/05/12 03:20:47 eric Exp $
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.69 2001/05/24 17:46:52 schweikh Exp $
|
||||
-->
|
||||
|
||||
<chapter id="cutting-edge">
|
||||
|
@ -14,7 +14,7 @@
|
|||
<sect1>
|
||||
<title>Synopsis</title>
|
||||
|
||||
<para>FreeBSD is under constant development between releases. For
|
||||
<para>&os; is under constant development between releases. For
|
||||
people who want to be on the cutting edge, there are several easy
|
||||
mechanisms for keeping your system in sync with the latest
|
||||
developments. Be warned—the cutting edge is not for everyone!
|
||||
|
@ -24,60 +24,60 @@
|
|||
</sect1>
|
||||
|
||||
<sect1 id="current-stable">
|
||||
<title>-CURRENT vs. -STABLE</title>
|
||||
<title>&os.current; vs. &os.stable;</title>
|
||||
|
||||
<para>There are two development branches to FreeBSD; -CURRENT and
|
||||
-STABLE. This section will explain a bit about each and describe
|
||||
<para>There are two development branches to FreeBSD; &os.current; and
|
||||
&os.stable;. This section will explain a bit about each and describe
|
||||
how to keep your system up-to-date with each respective tree.
|
||||
-CURRENT will be discussed first, then -STABLE.</para>
|
||||
&os.current; will be discussed first, then &os.stable;.</para>
|
||||
|
||||
<sect2 id="current">
|
||||
<title>Staying Current with FreeBSD</title>
|
||||
<title>Staying Current with &os;</title>
|
||||
|
||||
<para>As you are reading this, keep in mind that -CURRENT is the
|
||||
<quote>bleeding edge</quote> of FreeBSD development and that if you
|
||||
are new to FreeBSD, you are most likely going to want to think
|
||||
<para>As you are reading this, keep in mind that &os.current; is the
|
||||
<quote>bleeding edge</quote> of &os; development and that if you
|
||||
are new to &os;, you are most likely going to want to think
|
||||
twice about running it.</para>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-CURRENT?</title>
|
||||
<title>What is &os.current;?</title>
|
||||
|
||||
<para>FreeBSD-CURRENT is, quite literally, nothing more than a
|
||||
daily snapshot of the working sources for FreeBSD. These
|
||||
<para>&os.current; is, quite literally, nothing more than a
|
||||
daily snapshot of the working sources for &os;. These
|
||||
include work in progress, experimental changes and transitional
|
||||
mechanisms that may or may not be present in the next official
|
||||
release of the software. While many of us compile almost daily
|
||||
from FreeBSD-CURRENT sources, there are periods of time when the
|
||||
from &os.current; sources, there are periods of time when the
|
||||
sources are literally un-compilable. These problems are
|
||||
generally resolved as expeditiously as possible, but whether or
|
||||
not FreeBSD-CURRENT sources bring disaster or greatly desired
|
||||
not &os.current; sources bring disaster or greatly desired
|
||||
functionality can literally be a matter of which part of any
|
||||
given 24 hour period you grabbed them in!</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who needs FreeBSD-CURRENT?</title>
|
||||
<title>Who needs &os.current;?</title>
|
||||
|
||||
<para>FreeBSD-CURRENT is made generally available for 3 primary
|
||||
<para>&os.current; is made generally available for 3 primary
|
||||
interest groups:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Members of the FreeBSD group who are actively working on
|
||||
<para>Members of the &os; group who are actively working on
|
||||
some part of the source tree and for whom keeping
|
||||
<quote>current</quote> is an absolute requirement.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Members of the FreeBSD group who are active testers,
|
||||
<para>Members of the &os; group who are active testers,
|
||||
willing to spend time working through problems in order to
|
||||
ensure that FreeBSD-CURRENT remains as sane as possible.
|
||||
ensure that &os.current; remains as sane as possible.
|
||||
These are also people who wish to make topical suggestions
|
||||
on changes and the general direction of FreeBSD.</para>
|
||||
on changes and the general direction of &os;.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Peripheral members of the FreeBSD (or some other) group
|
||||
<para>Peripheral members of the &os; (or some other) group
|
||||
who merely wish to keep an eye on things and use the current
|
||||
sources for reference purposes (e.g. for
|
||||
<emphasis>reading</emphasis>, not running). These people
|
||||
|
@ -87,7 +87,7 @@
|
|||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-CURRENT <emphasis>not</emphasis>?</title>
|
||||
<title>What is &os.current; <emphasis>not</emphasis>?</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -103,14 +103,14 @@
|
|||
<listitem>
|
||||
<para>In any way <quote>officially supported</quote> by us.
|
||||
We do our best to help people genuinely in one of the 3
|
||||
<quote>legitimate</quote> FreeBSD-CURRENT categories, but we
|
||||
<quote>legitimate</quote> &os.current; categories, but we
|
||||
simply <emphasis>do not have the time</emphasis> to provide
|
||||
tech support for it. This is not because we are mean and
|
||||
nasty people who do not like helping people out (we would
|
||||
not even be doing FreeBSD if we were), it is literally
|
||||
not even be doing &os; if we were), it is literally
|
||||
because we cannot answer 400 messages a day
|
||||
<emphasis>and</emphasis> actually work on FreeBSD! Given the
|
||||
choice between improving FreeBSD and answering lots of
|
||||
choice between improving &os; and answering lots of
|
||||
questions, most developers, and users, would probably opt for
|
||||
the former.</para>
|
||||
</listitem>
|
||||
|
@ -118,14 +118,14 @@
|
|||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using FreeBSD-CURRENT</title>
|
||||
<title>Using &os.current;</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.current; and the &a.cvsall; . This is not
|
||||
just a good idea, it is <emphasis>essential</emphasis>. If
|
||||
you are not on the <emphasis>FreeBSD-CURRENT</emphasis>
|
||||
mailing list, you will not see the comments that people are
|
||||
you are not on the <emphasis>&a.current;</emphasis>,
|
||||
you will not see the comments that people are
|
||||
making about the current state of the system and thus will
|
||||
probably end up stumbling over a lot of problems that others
|
||||
have already found and solved. Even more importantly, you
|
||||
|
@ -171,7 +171,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>Use <command>ftp</command>. The source tree for
|
||||
FreeBSD-CURRENT is always <quote>exported</quote> on:
|
||||
&os.current; is always <quote>exported</quote> on:
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/</ulink>.
|
||||
We also use <command>wu-ftpd</command> which allows
|
||||
|
@ -205,13 +205,13 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>If you are grabbing the sources to run, and not just
|
||||
look at, then grab <emphasis>all</emphasis> of current, not
|
||||
look at, then grab <emphasis>all</emphasis> of &os.current;, not
|
||||
just selected portions. The reason for this is that various
|
||||
parts of the source depend on updates elsewhere, and trying
|
||||
to compile just a subset is almost guaranteed to get you
|
||||
into trouble.</para>
|
||||
|
||||
<para>Before compiling current, read the
|
||||
<para>Before compiling &os.current;, read the
|
||||
<filename>Makefile</filename>in <filename>/usr/src</filename>
|
||||
carefully. You should at least run a <link
|
||||
linkend="makeworld">make world</link> the first time through
|
||||
|
@ -222,7 +222,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Be active! If you are running FreeBSD-CURRENT, we want
|
||||
<para>Be active! If you are running &os.current;, we want
|
||||
to know what you have to say about it, especially if you
|
||||
have suggestions for enhancements or bug fixes. Suggestions
|
||||
with accompanying code are received most
|
||||
|
@ -233,63 +233,62 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</sect2>
|
||||
|
||||
<sect2 id="stable">
|
||||
<title>Staying Stable with FreeBSD</title>
|
||||
<title>Staying Stable with &os;</title>
|
||||
|
||||
<para>If you are using FreeBSD in a production environment and want
|
||||
to make sure you have the latest fixes from the -CURRENT branch,
|
||||
you want to be running -STABLE. This is the tree that -RELEASEs
|
||||
<para>If you are using &os; in a production environment and want
|
||||
to make sure you have the latest fixes from the &os.current; branch,
|
||||
you want to be running &os.stable;. This is the tree that -RELEASEs
|
||||
are branched from when we are putting together a new release. For
|
||||
example, if you have a copy of 3.4-RELEASE, that is really just a
|
||||
<quote>snapshot</quote> from the -STABLE branch that we put on
|
||||
CDROM. In order to get any changes merged into -STABLE after the
|
||||
-RELEASE, you need to <quote>track</quote> the -STABLE
|
||||
<quote>snapshot</quote> from the &os.stable; branch that we put on
|
||||
CDROM. In order to get any changes merged into &os.stable; after the
|
||||
-RELEASE, you need to <quote>track</quote> the &os.stable;
|
||||
branch.</para>
|
||||
|
||||
<sect3>
|
||||
<title>What is FreeBSD-STABLE?</title>
|
||||
<title>What is &os.stable;?</title>
|
||||
|
||||
<para>FreeBSD-STABLE is our development branch for a more low-key
|
||||
<para>&os.stable; is our development branch for a more low-key
|
||||
and conservative set of changes intended for our next mainstream
|
||||
release. Changes of an experimental or untested nature do not
|
||||
go into this branch (see <link
|
||||
linkend="current">FreeBSD-CURRENT</link>).</para>
|
||||
go into this branch.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Who needs FreeBSD-STABLE?</title>
|
||||
<title>Who needs &os.stable;?</title>
|
||||
|
||||
<para>If you are a commercial user or someone who puts maximum
|
||||
stability of their FreeBSD system before all other concerns, you
|
||||
should consider tracking <emphasis>stable</emphasis>. This is
|
||||
stability of their &os; system before all other concerns, you
|
||||
should consider tracking &os.stable;. This is
|
||||
especially true if you have installed the most recent release
|
||||
(<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;-RELEASE</ulink>
|
||||
at the time of this writing) since the
|
||||
<emphasis>stable</emphasis> branch is effectively a bug-fix
|
||||
at the time of this writing) since the &os.stable;
|
||||
branch is effectively a bug-fix
|
||||
stream relative to the previous release.</para>
|
||||
|
||||
<warning>
|
||||
<para>The <emphasis>stable</emphasis> tree endeavors, above all,
|
||||
<para>The &os.stable; tree endeavors, above all,
|
||||
to be fully compilable and stable at all times, but we do
|
||||
occasionally make mistakes (these are still active sources
|
||||
with quickly-transmitted updates, after all). We also do our
|
||||
best to thoroughly test fixes in <emphasis>current</emphasis>
|
||||
before bringing them into <emphasis>stable</emphasis>, but
|
||||
best to thoroughly test fixes in &os.current;
|
||||
before bringing them into &os.stable;, but
|
||||
sometimes our tests fail to catch every case. If something
|
||||
breaks for you in <emphasis>stable</emphasis>, please let us
|
||||
breaks for you in &os.stable;, please let us
|
||||
know <emphasis>immediately!</emphasis> (see next
|
||||
section).</para>
|
||||
</warning>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Using FreeBSD-STABLE</title>
|
||||
<title>Using &os.stable;</title>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Join the &a.stable;. This will keep you informed of
|
||||
build-dependencies that may appear in
|
||||
<emphasis>stable</emphasis> or any other issues requiring
|
||||
build-dependencies that may appear in &os.stable;
|
||||
or any other issues requiring
|
||||
special attention. Developers will also make announcements
|
||||
in this mailing list when they are contemplating some
|
||||
controversial fix or update, giving the users a chance to
|
||||
|
@ -319,7 +318,7 @@ subscribe cvs-all</programlisting>
|
|||
url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">ftp://releng4.FreeBSD.org/pub/FreeBSD/</ulink>
|
||||
and install it like any other release.</para>
|
||||
|
||||
<para>If you are already running a previous release of FreeBSD
|
||||
<para>If you are already running a previous release of &os;
|
||||
and wish to upgrade via sources then you can easily do so
|
||||
from <hostid role="fqdn">ftp.FreeBSD.org</hostid>. This can
|
||||
be done in one of three ways:</para>
|
||||
|
@ -349,7 +348,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
|
||||
<listitem>
|
||||
<para>Use <command>ftp</command>. The source tree for
|
||||
FreeBSD-STABLE is always <quote>exported</quote> on:
|
||||
&os.stable; is always <quote>exported</quote> on:
|
||||
<ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-stable/</ulink></para>
|
||||
|
||||
|
@ -376,7 +375,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Before compiling stable, read the
|
||||
<para>Before compiling sta, read the
|
||||
<filename>Makefile</filename> in <filename>/usr/src</filename>
|
||||
carefully. You should at least run a <link
|
||||
linkend="makeworld">make world</link> the first time through
|
||||
|
@ -394,7 +393,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<title>Synchronizing Your Source</title>
|
||||
|
||||
<para>There are various ways of using an Internet (or email)
|
||||
connection to stay up-to-date with any given area of the FreeBSD
|
||||
connection to stay up-to-date with any given area of the &os;
|
||||
project sources, or all areas, depending on what interests you. The
|
||||
primary services we offer are <link linkend="anoncvs">Anonymous
|
||||
CVS</link>, <link linkend="cvsup">CVSup</link>, and <link
|
||||
|
@ -464,8 +463,8 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<title>Using <command>make world</command></title>
|
||||
|
||||
<para>Once you have synchronized your local source tree against a
|
||||
particular version of FreeBSD (<literal>stable</literal>,
|
||||
<literal>current</literal> and so on) you can then use the source
|
||||
particular version of &os; (&os.stable;, &os.current;, and so on)
|
||||
you can then use the source
|
||||
tree to rebuild the system.</para>
|
||||
|
||||
<warning>
|
||||
|
@ -486,9 +485,9 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
<warning>
|
||||
<title>Subscribe to the right mailing list</title>
|
||||
|
||||
<para>The -STABLE and -CURRENT FreeBSD code branches are, by their
|
||||
<para>The &os.stable; and &os.current; branches are, by their
|
||||
nature, <emphasis>in development</emphasis>. People that
|
||||
contribute to FreeBSD are human, and mistakes occasionally
|
||||
contribute to &os; are human, and mistakes occasionally
|
||||
happen.</para>
|
||||
|
||||
<para>Sometimes these mistakes can be quite harmless, just causing
|
||||
|
@ -502,7 +501,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
clear</quote> announcement is posted when the problem has been
|
||||
solved.</para>
|
||||
|
||||
<para>If you try and track -STABLE or -CURRENT and do not read the
|
||||
<para>If you try and track &os.stable; or &os.current; and do not read the
|
||||
<email>stable@FreeBSD.org</email> or
|
||||
<email>current@FreeBSD.org</email> mailing lists then you are
|
||||
asking for trouble.</para>
|
||||
|
@ -662,7 +661,7 @@ ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CVSup/cvsupit.tgz</userinput></scr
|
|||
&man.make.1; to another file. If something goes wrong you will
|
||||
have a copy of the error message. While this might not help you
|
||||
in diagnosing what has gone wrong, it can help others if you post
|
||||
your problem to one of the FreeBSD mailing lists.</para>
|
||||
your problem to one of the &os; mailing lists.</para>
|
||||
|
||||
<para>The easiest way to do this is to use the &man.script.1;
|
||||
command, with a parameter that specifies the name of the file to
|
||||
|
@ -697,7 +696,7 @@ Script done, …</screen>
|
|||
|
||||
<para>To rebuild the world you use the &man.make.1; command. This
|
||||
command reads instructions from the <filename>Makefile</filename>,
|
||||
which describes how the programs that comprise FreeBSD should be
|
||||
which describes how the programs that comprise &os; should be
|
||||
rebuilt, the order in which they should be built, and so on.</para>
|
||||
|
||||
<para>The general format of the command line you will type is as
|
||||
|
@ -744,9 +743,9 @@ Script done, …</screen>
|
|||
|
||||
<screen>&prompt.root; <userinput>make <replaceable>target</replaceable></userinput></screen>
|
||||
|
||||
<para>Beginning with version 2.2.5 of FreeBSD (actually, it was
|
||||
first created on the -CURRENT branch, and then retrofitted to
|
||||
-STABLE midway between 2.2.2 and 2.2.5) the
|
||||
<para>Beginning with version 2.2.5 of &os; (actually, it was
|
||||
first created on the &os.current; branch, and then retrofitted to
|
||||
&os.stable; midway between 2.2.2 and 2.2.5) the
|
||||
<maketarget>world</maketarget> target has been split in
|
||||
two. <maketarget>buildworld</maketarget> and
|
||||
<maketarget>installworld</maketarget>.</para>
|
||||
|
@ -811,8 +810,8 @@ Script done, …</screen>
|
|||
|
||||
<para>Many factors influence the build time, but currently a 500MHz
|
||||
Pentium 3 with 128MB of RAM takes about 3 and a half hours to build
|
||||
the -CURRENT tree, with no tricks or shortcuts used during the
|
||||
process. A -STABLE tree will build somewhat faster.</para>
|
||||
the &os.current; tree, with no tricks or shortcuts used during the
|
||||
process. A &os.stable; tree will build somewhat faster.</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
|
@ -835,7 +834,7 @@ Script done, …</screen>
|
|||
can then build a new kernel based on your normal kernel config
|
||||
file.</para>
|
||||
|
||||
<para>If you are upgrading to FreeBSD 4.0 or above then the standard
|
||||
<para>If you are upgrading to &os; 4.0 or above then the standard
|
||||
kernel build procedure (as described in <xref linkend="kernelconfig">)
|
||||
is deprecated. Instead, you should run these commands.</para>
|
||||
|
||||
|
@ -843,7 +842,7 @@ Script done, …</screen>
|
|||
&prompt.root; <userinput>make buildkernel</userinput>
|
||||
&prompt.root; <userinput>make installkernel</userinput></screen>
|
||||
|
||||
<para>If you are upgrading to a version of FreeBSD below 4.0 you should
|
||||
<para>If you are upgrading to a version of &os; below 4.0 you should
|
||||
use the standard kernel build procedure. However, it is recommended
|
||||
that you use the new version of &man.config.8;, using a command line
|
||||
like this.</para>
|
||||
|
@ -862,7 +861,7 @@ Script done, …</screen>
|
|||
<sect2>
|
||||
<title>Install the new system binaries</title>
|
||||
|
||||
<para>If you were building a version of FreeBSD recent enough to have
|
||||
<para>If you were building a version of &os; recent enough to have
|
||||
used <command>make buildworld</command> then you should now use the
|
||||
<maketarget>installworld</maketarget> to install the new system
|
||||
binaries.</para>
|
||||
|
@ -1161,7 +1160,7 @@ Script done, …</screen>
|
|||
<sect2>
|
||||
<title>Finished</title>
|
||||
|
||||
<para>You should now have successfully upgraded your FreeBSD system.
|
||||
<para>You should now have successfully upgraded your &os; system.
|
||||
Congratulations.</para>
|
||||
|
||||
<para>If things went slightly wrong, it is easy to rebuild a particular
|
||||
|
@ -1210,8 +1209,8 @@ Script done, …</screen>
|
|||
spot all the dependencies.</para>
|
||||
|
||||
<para>And, of course, this all depends on how often you want to
|
||||
upgrade, and whether you are tracking -STABLE or
|
||||
-CURRENT.</para>
|
||||
upgrade, and whether you are tracking &os.stable; or
|
||||
&os.current;.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1259,7 +1258,7 @@ Script done, …</screen>
|
|||
builds run much faster, since most of sources will not need to
|
||||
be recompiled. The flip side of this is that subtle dependency
|
||||
problems can creep in, causing your build to fail in odd ways.
|
||||
This frequently generates noise on the FreeBSD mailing lists,
|
||||
This frequently generates noise on the &os; mailing lists,
|
||||
when one person complains that their build has failed, not
|
||||
realising that it is because they have tried to cut
|
||||
corners.</para>
|
||||
|
|
Loading…
Reference in a new issue