White space fix only. Translators can ignore.
Sponsored by: iXsystems
This commit is contained in:
parent
ab95585247
commit
40f0ae893e
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44777
1 changed files with 243 additions and 256 deletions
|
@ -293,10 +293,10 @@ MergeChanges /etc/ /var/named/etc/ /boot/device.hints</programlisting>
|
||||||
&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
<para>If the update applies any kernel patches, the system will
|
<para>If the update applies any kernel patches, the system will
|
||||||
need a reboot in order to boot into the patched kernel.
|
need a reboot in order to boot into the patched kernel. If
|
||||||
If the patch was applied to any running binaries, the affected
|
the patch was applied to any running binaries, the affected
|
||||||
applications should be restarted so that the patched version
|
applications should be restarted so that the patched version
|
||||||
of the binary is used.</para>
|
of the binary is used.</para>
|
||||||
|
|
||||||
<para>The system can be configured to automatically check for
|
<para>The system can be configured to automatically check for
|
||||||
updates once every day by adding this entry to
|
updates once every day by adding this entry to
|
||||||
|
@ -304,23 +304,23 @@ MergeChanges /etc/ /var/named/etc/ /boot/device.hints</programlisting>
|
||||||
|
|
||||||
<programlisting>@daily root freebsd-update cron</programlisting>
|
<programlisting>@daily root freebsd-update cron</programlisting>
|
||||||
|
|
||||||
<para>If patches exist, they will automatically be
|
<para>If patches exist, they will automatically be downloaded
|
||||||
downloaded but will not be applied. The
|
but will not be applied. The <systemitem
|
||||||
<systemitem class="username">root</systemitem> user will be
|
class="username">root</systemitem> user will be sent an
|
||||||
sent an email so that the patches may be reviewed and manually
|
email so that the patches may be reviewed and manually
|
||||||
installed with
|
installed with
|
||||||
<command>freebsd-update install</command>.</para>
|
<command>freebsd-update install</command>.</para>
|
||||||
|
|
||||||
<para>If anything goes wrong, <command>freebsd-update</command>
|
<para>If anything goes wrong, <command>freebsd-update</command>
|
||||||
has the ability to roll back the last set of changes with
|
has the ability to roll back the last set of changes with the
|
||||||
the following command:</para>
|
following command:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput>
|
<screen>&prompt.root; <userinput>freebsd-update rollback</userinput>
|
||||||
Uninstalling updates... done.</screen>
|
Uninstalling updates... done.</screen>
|
||||||
|
|
||||||
<para>Again, the system should be restarted if the
|
<para>Again, the system should be restarted if the kernel or any
|
||||||
kernel or any kernel modules were modified and any affected
|
kernel modules were modified and any affected binaries should
|
||||||
binaries should be restarted.</para>
|
be restarted.</para>
|
||||||
|
|
||||||
<para>Only the <filename>GENERIC</filename> kernel can be
|
<para>Only the <filename>GENERIC</filename> kernel can be
|
||||||
automatically updated by <command>freebsd-update</command>.
|
automatically updated by <command>freebsd-update</command>.
|
||||||
|
@ -329,15 +329,13 @@ Uninstalling updates... done.</screen>
|
||||||
finishes installing the updates. However,
|
finishes installing the updates. However,
|
||||||
<command>freebsd-update</command> will detect and update the
|
<command>freebsd-update</command> will detect and update the
|
||||||
<filename>GENERIC</filename> kernel if
|
<filename>GENERIC</filename> kernel if
|
||||||
<filename>/boot/GENERIC</filename> exists,
|
<filename>/boot/GENERIC</filename> exists, even if it is not
|
||||||
even if it is not the current running kernel of the
|
the current running kernel of the system.</para>
|
||||||
system.</para>
|
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>Always keep a copy of the
|
<para>Always keep a copy of the <filename>GENERIC</filename>
|
||||||
<filename>GENERIC</filename> kernel in
|
kernel in <filename>/boot/GENERIC</filename>. It will be
|
||||||
<filename>/boot/GENERIC</filename>. It
|
helpful in diagnosing a variety of problems and in
|
||||||
will be helpful in diagnosing a variety of problems and in
|
|
||||||
performing version upgrades. Refer to either <xref
|
performing version upgrades. Refer to either <xref
|
||||||
linkend="freebsd-update-custom-kernel-9x"/> or <xref
|
linkend="freebsd-update-custom-kernel-9x"/> or <xref
|
||||||
linkend="freebsd-update-custom-kernel-8x"/> for
|
linkend="freebsd-update-custom-kernel-8x"/> for
|
||||||
|
@ -352,21 +350,21 @@ Uninstalling updates... done.</screen>
|
||||||
Rebuilding and reinstalling a new custom kernel can then be
|
Rebuilding and reinstalling a new custom kernel can then be
|
||||||
performed in the usual way.</para>
|
performed in the usual way.</para>
|
||||||
|
|
||||||
<para>The updates distributed by
|
<para>The updates distributed by
|
||||||
<command>freebsd-update</command> do not always involve the
|
<command>freebsd-update</command> do not always involve the
|
||||||
kernel. It is not necessary to rebuild a custom kernel if
|
kernel. It is not necessary to rebuild a custom kernel if the
|
||||||
the kernel sources have not been modified by
|
kernel sources have not been modified by
|
||||||
<command>freebsd-update install</command>.
|
<command>freebsd-update install</command>. However,
|
||||||
However, <command>freebsd-update</command> will always
|
<command>freebsd-update</command> will always update
|
||||||
update <filename>/usr/src/sys/conf/newvers.sh</filename>.
|
<filename>/usr/src/sys/conf/newvers.sh</filename>. The
|
||||||
The current patch level, as indicated by the
|
current patch level, as indicated by the <literal>-p</literal>
|
||||||
<literal>-p</literal> number reported by
|
number reported by <command>uname -r</command>, is obtained
|
||||||
<command>uname -r</command>, is obtained from this file.
|
from this file. Rebuilding a custom kernel, even if nothing
|
||||||
Rebuilding a custom kernel, even if nothing else changed,
|
else changed, allows <command>uname</command> to accurately
|
||||||
allows <command>uname</command> to accurately report the current
|
report the current patch level of the system. This is
|
||||||
patch level of the system. This is particularly helpful
|
particularly helpful when maintaining multiple systems, as it
|
||||||
when maintaining multiple systems, as it allows for a quick
|
allows for a quick assessment of the updates installed in each
|
||||||
assessment of the updates installed in each one.</para>
|
one.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 xml:id="freebsdupdate-upgrade">
|
<sect2 xml:id="freebsdupdate-upgrade">
|
||||||
|
@ -375,8 +373,8 @@ Uninstalling updates... done.</screen>
|
||||||
<para>Upgrades from one minor version of &os; to another, like
|
<para>Upgrades from one minor version of &os; to another, like
|
||||||
from &os; 9.0 to &os; 9.1, are called
|
from &os; 9.0 to &os; 9.1, are called
|
||||||
<firstterm>minor version</firstterm> upgrades.
|
<firstterm>minor version</firstterm> upgrades.
|
||||||
<firstterm>Major version</firstterm> upgrades occur when
|
<firstterm>Major version</firstterm> upgrades occur when &os;
|
||||||
&os; is upgraded from one major version to another, like from
|
is upgraded from one major version to another, like from
|
||||||
&os; 9.X to &os; 10.X. Both types of upgrades can
|
&os; 9.X to &os; 10.X. Both types of upgrades can
|
||||||
be performed by providing <command>freebsd-update</command>
|
be performed by providing <command>freebsd-update</command>
|
||||||
with a release version target.</para>
|
with a release version target.</para>
|
||||||
|
@ -392,20 +390,19 @@ Uninstalling updates... done.</screen>
|
||||||
<filename>GENERIC</filename> kernel.</para>
|
<filename>GENERIC</filename> kernel.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>The following command, when
|
<para>The following command, when run on a &os; 9.0 system,
|
||||||
run on a &os; 9.0 system, will upgrade it to
|
will upgrade it to &os; 9.1:</para>
|
||||||
&os; 9.1:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput></screen>
|
<screen>&prompt.root; <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput></screen>
|
||||||
|
|
||||||
<para>After the command has been received,
|
<para>After the command has been received,
|
||||||
<command>freebsd-update</command> will evaluate the
|
<command>freebsd-update</command> will evaluate the
|
||||||
configuration file and current system in an attempt to
|
configuration file and current system in an attempt to gather
|
||||||
gather the information necessary to perform the upgrade. A
|
the information necessary to perform the upgrade. A screen
|
||||||
screen listing will display which components have and have
|
listing will display which components have and have not been
|
||||||
not been detected. For example:</para>
|
detected. For example:</para>
|
||||||
|
|
||||||
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
|
<screen>Looking up update.FreeBSD.org mirrors... 1 mirrors found.
|
||||||
Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done.
|
Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done.
|
||||||
Fetching metadata index... done.
|
Fetching metadata index... done.
|
||||||
Inspecting system... done.
|
Inspecting system... done.
|
||||||
|
@ -422,210 +419,201 @@ world/proflibs
|
||||||
|
|
||||||
Does this look reasonable (y/n)? <userinput>y</userinput></screen>
|
Does this look reasonable (y/n)? <userinput>y</userinput></screen>
|
||||||
|
|
||||||
<para>At this point, <command>freebsd-update</command> will
|
<para>At this point, <command>freebsd-update</command> will
|
||||||
attempt to download all files required for the upgrade. In
|
attempt to download all files required for the upgrade. In
|
||||||
some cases, the user may be prompted with questions
|
some cases, the user may be prompted with questions regarding
|
||||||
regarding what to install or how to proceed.</para>
|
what to install or how to proceed.</para>
|
||||||
|
|
||||||
<para>When using a custom kernel, the above step will produce
|
<para>When using a custom kernel, the above step will produce a
|
||||||
a warning similar to the following:</para>
|
warning similar to the following:</para>
|
||||||
|
|
||||||
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
|
<screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" kernel, which is not a
|
||||||
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
|
kernel configuration distributed as part of FreeBSD 9.0-RELEASE.
|
||||||
This kernel will not be updated: you MUST update the kernel manually
|
This kernel will not be updated: you MUST update the kernel manually
|
||||||
before running "/usr/sbin/freebsd-update install"</screen>
|
before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
|
|
||||||
<para>This warning may be safely ignored at this point. The
|
<para>This warning may be safely ignored at this point. The
|
||||||
updated <filename>GENERIC</filename> kernel will be used as
|
updated <filename>GENERIC</filename> kernel will be used as an
|
||||||
an intermediate step in the upgrade process.</para>
|
intermediate step in the upgrade process.</para>
|
||||||
|
|
||||||
<para>Once all the patches have been downloaded to the local
|
<para>Once all the patches have been downloaded to the local
|
||||||
system, they will be applied. This process may take a
|
system, they will be applied. This process may take a while,
|
||||||
while, depending on the speed and workload of the machine.
|
depending on the speed and workload of the machine.
|
||||||
Configuration files will then be merged. The merging
|
Configuration files will then be merged. The merging process
|
||||||
process requires some user intervention as a file may be
|
requires some user intervention as a file may be merged or an
|
||||||
merged or an editor may appear on screen for a manual merge.
|
editor may appear on screen for a manual merge. The results
|
||||||
The results of every successful merge will be shown to the
|
of every successful merge will be shown to the user as the
|
||||||
user as the process continues. A failed or ignored merge
|
process continues. A failed or ignored merge will cause the
|
||||||
will cause the process to abort. Users may wish to make a
|
process to abort. Users may wish to make a backup of
|
||||||
backup of <filename>/etc</filename> and
|
<filename>/etc</filename> and manually merge important files,
|
||||||
manually merge important files, such as
|
such as <filename>master.passwd</filename> or
|
||||||
<filename>master.passwd</filename> or
|
<filename>group</filename> at a later time.</para>
|
||||||
<filename>group</filename> at a later time.</para>
|
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>The system is not being altered yet as all patching
|
<para>The system is not being altered yet as all patching and
|
||||||
and merging is happening in another directory. Once all
|
merging is happening in another directory. Once all patches
|
||||||
patches have been applied successfully, all configuration
|
have been applied successfully, all configuration files have
|
||||||
files have been merged and it seems the process will go
|
been merged and it seems the process will go smoothly, the
|
||||||
smoothly, the changes can be committed to disk by the
|
changes can be committed to disk by the user using the
|
||||||
user using the following command:</para>
|
following command:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
</note>
|
||||||
|
|
||||||
</note>
|
<para>The kernel and kernel modules will be patched first. If
|
||||||
|
the system is running with a custom kernel, use
|
||||||
|
&man.nextboot.8; to set the kernel for the next boot to the
|
||||||
|
updated <filename>/boot/GENERIC</filename>:</para>
|
||||||
|
|
||||||
<para>The kernel and kernel modules will be patched first. If
|
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
|
||||||
the system is
|
|
||||||
running with a custom kernel, use &man.nextboot.8; to set
|
|
||||||
the kernel for the next boot to the updated
|
|
||||||
<filename>/boot/GENERIC</filename>:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen>
|
<warning>
|
||||||
|
<para>Before rebooting with the <filename>GENERIC</filename>
|
||||||
|
kernel, make sure it contains all the drivers required for
|
||||||
|
the system to boot properly and connect to the network, if
|
||||||
|
the machine being updated is accessed remotely. In
|
||||||
|
particular, if the running custom kernel contains built-in
|
||||||
|
functionality usually provided by kernel modules, make sure
|
||||||
|
to temporarily load these modules into the
|
||||||
|
<filename>GENERIC</filename> kernel using the
|
||||||
|
<filename>/boot/loader.conf</filename> facility. It is
|
||||||
|
recommended to disable non-essential services as well as any
|
||||||
|
disk and network mounts until the upgrade process is
|
||||||
|
complete.</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
<warning>
|
<para>The machine should now be restarted with the updated
|
||||||
<para>Before rebooting with the <filename>GENERIC</filename>
|
kernel:</para>
|
||||||
kernel, make sure it contains all the drivers required for
|
|
||||||
the system to boot properly and connect to the network,
|
|
||||||
if the machine being updated is accessed remotely. In
|
|
||||||
particular, if the running custom kernel contains built-in
|
|
||||||
functionality usually provided by kernel modules, make
|
|
||||||
sure to temporarily load these modules into the
|
|
||||||
<filename>GENERIC</filename> kernel using the
|
|
||||||
<filename>/boot/loader.conf</filename> facility.
|
|
||||||
It is recommended to disable non-essential services as
|
|
||||||
well as any disk and network mounts until the upgrade
|
|
||||||
process is complete.</para>
|
|
||||||
</warning>
|
|
||||||
|
|
||||||
<para>The machine should now be restarted with the updated
|
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
|
||||||
kernel:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
|
<para>Once the system has come back online, restart
|
||||||
|
<command>freebsd-update</command> using the following command.
|
||||||
|
Since the state of the process has been saved,
|
||||||
|
<command>freebsd-update</command> will not start from the
|
||||||
|
beginning, but will instead move on to the next phase and
|
||||||
|
remove all old shared libraries and object files.</para>
|
||||||
|
|
||||||
<para>Once the system has come back online, restart
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
<command>freebsd-update</command> using the following
|
|
||||||
command. Since the state of the process has been saved,
|
|
||||||
<command>freebsd-update</command> will not start from the
|
|
||||||
beginning, but will instead move on to the next phase and
|
|
||||||
remove all old shared libraries and
|
|
||||||
object files.</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
<note>
|
||||||
|
<para>Depending upon whether any library version numbers were
|
||||||
|
bumped, there may only be two install phases instead of
|
||||||
|
three.</para>
|
||||||
|
</note>
|
||||||
|
|
||||||
<note>
|
<para>The upgrade is now complete. If this was a major version
|
||||||
<para>Depending upon whether any library version numbers
|
upgrade, reinstall all ports and packages as described in
|
||||||
were bumped, there may only be two install phases instead
|
<xref linkend="freebsdupdate-portsrebuild"/>.</para>
|
||||||
of three.</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>The upgrade is now complete. If this was a major
|
<sect3 xml:id="freebsd-update-custom-kernel-9x">
|
||||||
version upgrade, reinstall all ports and packages as
|
<title>Custom Kernels with &os; 9.X and Later</title>
|
||||||
described in <xref linkend="freebsdupdate-portsrebuild"/>.</para>
|
|
||||||
|
|
||||||
<sect3 xml:id="freebsd-update-custom-kernel-9x">
|
<para>Before using <command>freebsd-update</command>, ensure
|
||||||
<title>Custom Kernels with &os; 9.X and Later</title>
|
that a copy of the <filename>GENERIC</filename> kernel
|
||||||
|
exists in <filename>/boot/GENERIC</filename>. If a custom
|
||||||
|
kernel has only been built once, the kernel in
|
||||||
|
<filename>/boot/kernel.old</filename> is the
|
||||||
|
<literal>GENERIC</literal> kernel. Simply rename this
|
||||||
|
directory to <filename>/boot/kernel</filename>.</para>
|
||||||
|
|
||||||
<para>Before using <command>freebsd-update</command>, ensure
|
<para>If a custom kernel has been built more than once or if
|
||||||
that a copy of the <filename>GENERIC</filename> kernel
|
it is unknown how many times the custom kernel has been
|
||||||
exists in <filename>/boot/GENERIC</filename>. If a custom
|
built, obtain a copy of the <literal>GENERIC</literal>
|
||||||
kernel has only been built once, the
|
kernel that matches the current version of the operating
|
||||||
kernel in <filename>/boot/kernel.old</filename> is
|
system. If physical access to the system is available, a
|
||||||
the <literal>GENERIC</literal> kernel.
|
copy of the <literal>GENERIC</literal> kernel can be
|
||||||
Simply rename this directory to
|
installed from the installation media:</para>
|
||||||
<filename>/boot/kernel</filename>.</para>
|
|
||||||
|
|
||||||
<para>If a custom kernel has been built more than once
|
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
|
||||||
or if it is unknown how many times the custom kernel
|
|
||||||
has been built, obtain a copy of the
|
|
||||||
<literal>GENERIC</literal> kernel that matches the
|
|
||||||
current version of the operating system. If physical
|
|
||||||
access to the system is available, a
|
|
||||||
copy of the <literal>GENERIC</literal> kernel can be
|
|
||||||
installed from the installation media:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
|
|
||||||
&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput>
|
&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput>
|
||||||
&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen>
|
&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen>
|
||||||
|
|
||||||
<para>Alternately, the
|
<para>Alternately, the <literal>GENERIC</literal> kernel may
|
||||||
<literal>GENERIC</literal> kernel may be rebuilt and
|
be rebuilt and installed from source:</para>
|
||||||
installed from source:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||||
&prompt.root; <userinput>make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput></screen>
|
&prompt.root; <userinput>make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput></screen>
|
||||||
|
|
||||||
<para>For this kernel to be identified as the
|
<para>For this kernel to be identified as the
|
||||||
<literal>GENERIC</literal> kernel by
|
<literal>GENERIC</literal> kernel by
|
||||||
<command>freebsd-update</command>, the
|
<command>freebsd-update</command>, the
|
||||||
<filename>GENERIC</filename> configuration file must
|
<filename>GENERIC</filename> configuration file must not
|
||||||
not have been modified in any way. It is also
|
have been modified in any way. It is also suggested that
|
||||||
suggested that the kernel is built without any other
|
the kernel is built without any other special
|
||||||
special options.</para>
|
options.</para>
|
||||||
|
|
||||||
<para>Rebooting into the <filename>GENERIC</filename> kernel
|
<para>Rebooting into the <filename>GENERIC</filename> kernel
|
||||||
is not required as <command>freebsd-update</command> only
|
is not required as <command>freebsd-update</command> only
|
||||||
needs <filename>/boot/GENERIC</filename> to exist.</para>
|
needs <filename>/boot/GENERIC</filename> to exist.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 xml:id="freebsd-update-custom-kernel-8x">
|
<sect3 xml:id="freebsd-update-custom-kernel-8x">
|
||||||
<title>Custom Kernels with &os; 8.X</title>
|
<title>Custom Kernels with &os; 8.X</title>
|
||||||
|
|
||||||
<para>On an &os; 8.X system, the instructions for
|
<para>On an &os; 8.X system, the instructions for
|
||||||
obtaining or building a
|
obtaining or building a <filename>GENERIC</filename> kernel
|
||||||
<filename>GENERIC</filename> kernel differ slightly.</para>
|
differ slightly.</para>
|
||||||
|
|
||||||
<para>Assuming physical access to the machine is
|
<para>Assuming physical access to the machine is possible, a
|
||||||
possible, a copy of the <filename>GENERIC</filename>
|
copy of the <filename>GENERIC</filename> kernel can be
|
||||||
kernel can be installed from the installation media
|
installed from the installation media using the following
|
||||||
using the following commands:</para>
|
commands:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
|
<screen>&prompt.root; <userinput>mount /cdrom</userinput>
|
||||||
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
|
&prompt.root; <userinput>cd /cdrom/<replaceable>X.Y-RELEASE</replaceable>/kernels</userinput>
|
||||||
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
|
&prompt.root; <userinput>./install.sh GENERIC</userinput></screen>
|
||||||
|
|
||||||
<para>Replace <filename
|
<para>Replace <filename
|
||||||
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
|
class="directory"><replaceable>X.Y-RELEASE</replaceable></filename>
|
||||||
with the version of the release being used.
|
with the version of the release being used. The
|
||||||
The <filename>GENERIC</filename> kernel will be
|
<filename>GENERIC</filename> kernel will be installed in
|
||||||
installed in <filename>/boot/GENERIC</filename> by
|
<filename>/boot/GENERIC</filename> by default.</para>
|
||||||
default.</para>
|
|
||||||
|
|
||||||
<para>To instead build the
|
<para>To instead build the <filename>GENERIC</filename> kernel
|
||||||
<filename>GENERIC</filename> kernel from source:</para>
|
from source:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||||
&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput>
|
&prompt.root; <userinput>env DESTDIR=/boot/GENERIC make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput>
|
||||||
&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
|
&prompt.root; <userinput>mv /boot/GENERIC/boot/kernel/* /boot/GENERIC</userinput>
|
||||||
&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
|
&prompt.root; <userinput>rm -rf /boot/GENERIC/boot</userinput></screen>
|
||||||
|
|
||||||
<para>For this kernel to be picked up as
|
<para>For this kernel to be picked up as
|
||||||
<filename>GENERIC</filename> by
|
<filename>GENERIC</filename> by
|
||||||
<command>freebsd-update</command>, the
|
<command>freebsd-update</command>, the
|
||||||
<filename>GENERIC</filename> configuration file must
|
<filename>GENERIC</filename> configuration file must not
|
||||||
not have been modified in any way. It is also
|
have been modified in any way. It is also suggested that it
|
||||||
suggested that it is built without any other special
|
is built without any other special options.</para>
|
||||||
options.</para>
|
|
||||||
|
|
||||||
<para>Rebooting into the <filename>GENERIC</filename> kernel
|
<para>Rebooting into the <filename>GENERIC</filename> kernel
|
||||||
is not required.</para>
|
is not required.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
|
|
||||||
<sect3 xml:id="freebsdupdate-portsrebuild">
|
<sect3 xml:id="freebsdupdate-portsrebuild">
|
||||||
<title>Rebuilding Ports After a Major Version Upgrade</title>
|
<title>Rebuilding Ports After a Major Version Upgrade</title>
|
||||||
|
|
||||||
<para>Generally,
|
<para>Generally, installed applications will continue to work
|
||||||
installed applications will continue to work without problems
|
without problems after minor version upgrades. Major
|
||||||
after minor version upgrades. Major versions use different
|
versions use different Application Binary Interfaces
|
||||||
Application Binary Interfaces (<acronym>ABI</acronym>s), which
|
(<acronym>ABI</acronym>s), which which will break most
|
||||||
which will break most third-party
|
third-party applications. After a major version upgrade,
|
||||||
applications. After a
|
all installed packages and ports need to be upgraded using a
|
||||||
major version upgrade, all installed packages and
|
utility such as <package>ports-mgmt/portmaster</package>. A
|
||||||
ports need to be upgraded using a utility such as
|
rebuild of all installed applications can be accomplished
|
||||||
<package>ports-mgmt/portmaster</package>. A
|
with this command:</para>
|
||||||
rebuild of all installed applications can be
|
|
||||||
accomplished with this command:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
|
<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>
|
||||||
|
|
||||||
<para>This command will display the configuration screens for
|
<para>This command will display the configuration screens for
|
||||||
each application that has configurable options and wait for the user to interact with those
|
each application that has configurable options and wait for
|
||||||
screens. To prevent this behavior, and use only the default
|
the user to interact with those screens. To prevent this
|
||||||
options, include <option>-G</option> in the above command.</para>
|
behavior, and use only the default options, include
|
||||||
|
<option>-G</option> in the above command.</para>
|
||||||
|
|
||||||
<para>Once the software upgrades are complete, finish the upgrade process with
|
<para>Once the software upgrades are complete, finish the
|
||||||
a final call to <command>freebsd-update</command> in order
|
upgrade process with a final call to
|
||||||
to tie up all the loose ends in the upgrade process:</para>
|
<command>freebsd-update</command> in order to tie up all the
|
||||||
|
loose ends in the upgrade process:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
<screen>&prompt.root; <userinput>freebsd-update install</userinput></screen>
|
||||||
|
|
||||||
|
@ -634,8 +622,8 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
new custom kernel using the instructions in <xref
|
new custom kernel using the instructions in <xref
|
||||||
linkend="kernelconfig"/>.</para>
|
linkend="kernelconfig"/>.</para>
|
||||||
|
|
||||||
<para>Reboot the machine into the new &os; version. The upgrade
|
<para>Reboot the machine into the new &os; version. The
|
||||||
process is now complete.</para>
|
upgrade process is now complete.</para>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -643,15 +631,16 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<title>System State Comparison</title>
|
<title>System State Comparison</title>
|
||||||
|
|
||||||
<para>The state of the installed &os; version against a known
|
<para>The state of the installed &os; version against a known
|
||||||
good copy can be tested using <command>freebsd-update IDS</command>.
|
good copy can be tested using
|
||||||
This command evaluates the current version of system utilities,
|
<command>freebsd-update IDS</command>. This command evaluates
|
||||||
libraries, and configuration files and can be used as a
|
the current version of system utilities, libraries, and
|
||||||
built-in Intrusion Detection System (<acronym>IDS</acronym>).</para>
|
configuration files and can be used as a built-in Intrusion
|
||||||
|
Detection System (<acronym>IDS</acronym>).</para>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
<para>This command is
|
<para>This command is not a replacement for a real
|
||||||
not a replacement for a real <acronym>IDS</acronym> such
|
<acronym>IDS</acronym> such as
|
||||||
as <package>security/snort</package>. As
|
<package>security/snort</package>. As
|
||||||
<command>freebsd-update</command> stores data on disk, the
|
<command>freebsd-update</command> stores data on disk, the
|
||||||
possibility of tampering is evident. While this possibility
|
possibility of tampering is evident. While this possibility
|
||||||
may be reduced using <varname>kern.securelevel</varname> and
|
may be reduced using <varname>kern.securelevel</varname> and
|
||||||
|
@ -665,15 +654,16 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
linkend="security-ids"/></para>
|
linkend="security-ids"/></para>
|
||||||
</warning>
|
</warning>
|
||||||
|
|
||||||
<para>To begin the comparison,
|
<para>To begin the comparison, specify the output file to save
|
||||||
specify the output file to save the results to:</para>
|
the results to:</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen>
|
<screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen>
|
||||||
|
|
||||||
<para>The system will now be inspected and a lengthy listing of
|
<para>The system will now be inspected and a lengthy listing of
|
||||||
files, along with the <acronym>SHA256</acronym> hash values for both the
|
files, along with the <acronym>SHA256</acronym> hash values
|
||||||
known value in the release and the current installation, will
|
for both the known value in the release and the current
|
||||||
be sent to the specified output file.</para>
|
installation, will be sent to the specified output
|
||||||
|
file.</para>
|
||||||
|
|
||||||
<para>The entries in the listing are extremely long, but the
|
<para>The entries in the listing are extremely long, but the
|
||||||
output format may be easily parsed. For instance, to obtain a
|
output format may be easily parsed. For instance, to obtain a
|
||||||
|
@ -688,11 +678,10 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
|
|
||||||
<para>This sample output has been truncated as many more files
|
<para>This sample output has been truncated as many more files
|
||||||
exist. Some files have natural modifications. For example,
|
exist. Some files have natural modifications. For example,
|
||||||
<filename>/etc/passwd</filename> will be modified if
|
<filename>/etc/passwd</filename> will be modified if users
|
||||||
users have been added to the system.
|
have been added to the system. Kernel modules may differ as
|
||||||
Kernel modules may differ as
|
<command>freebsd-update</command> may have updated them. To
|
||||||
<command>freebsd-update</command> may have updated them.
|
exclude specific files or directories, add them to the
|
||||||
To exclude specific files or directories, add them to the
|
|
||||||
<literal>IDSIgnorePaths</literal> option in
|
<literal>IDSIgnorePaths</literal> option in
|
||||||
<filename>/etc/freebsd-update.conf</filename>.</para>
|
<filename>/etc/freebsd-update.conf</filename>.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -1081,8 +1070,9 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
sites listed in <xref linkend="svn-mirrors"/>.</para>
|
sites listed in <xref linkend="svn-mirrors"/>.</para>
|
||||||
|
|
||||||
<para>Users with very slow or limited Internet connectivity
|
<para>Users with very slow or limited Internet connectivity
|
||||||
can instead use CTM as described in <xref linkend="ctm"/>, but it is
|
can instead use CTM as described in <xref linkend="ctm"/>,
|
||||||
not as reliable as <application>svn</application> and
|
but it is not as reliable as
|
||||||
|
<application>svn</application> and
|
||||||
<application>svn</application> is the recommended method
|
<application>svn</application> is the recommended method
|
||||||
for synchronizing source.</para>
|
for synchronizing source.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -1182,8 +1172,8 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
recent &os.stable; release from the <link
|
recent &os.stable; release from the <link
|
||||||
linkend="mirrors">&os; mirror sites</link> or use a
|
linkend="mirrors">&os; mirror sites</link> or use a
|
||||||
monthly snapshot built from &os.stable;. Refer to <link
|
monthly snapshot built from &os.stable;. Refer to <link
|
||||||
xlink:href="&url.base;/snapshots/">www.freebsd.org/snapshots</link> for
|
xlink:href="&url.base;/snapshots/">www.freebsd.org/snapshots</link>
|
||||||
more information about snapshots.</para>
|
for more information about snapshots.</para>
|
||||||
|
|
||||||
<para>To compile or upgrade to an existing &os; system to
|
<para>To compile or upgrade to an existing &os; system to
|
||||||
&os.stable;, use <link linkend="svn">svn</link>
|
&os.stable;, use <link linkend="svn">svn</link>
|
||||||
|
@ -1194,8 +1184,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<literal>stable/9</literal>, are listed at <link
|
<literal>stable/9</literal>, are listed at <link
|
||||||
xlink:href="&url.base;/releng/">www.freebsd.org/releng</link>.
|
xlink:href="&url.base;/releng/">www.freebsd.org/releng</link>.
|
||||||
CTM (<xref linkend="ctm"/>) can be used if a reliable
|
CTM (<xref linkend="ctm"/>) can be used if a reliable
|
||||||
Internet connection is not
|
Internet connection is not available.</para>
|
||||||
available.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -1205,11 +1194,10 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<secondary>compiling</secondary>
|
<secondary>compiling</secondary>
|
||||||
</indexterm>, read <filename>/usr/src/Makefile</filename>
|
</indexterm>, read <filename>/usr/src/Makefile</filename>
|
||||||
carefully and follow the instructions in <xref
|
carefully and follow the instructions in <xref
|
||||||
linkend="makeworld"/>. Read
|
linkend="makeworld"/>. Read &a.stable; and
|
||||||
&a.stable; and <filename>/usr/src/UPDATING</filename> to
|
<filename>/usr/src/UPDATING</filename> to keep up-to-date
|
||||||
keep up-to-date on other bootstrapping procedures that
|
on other bootstrapping procedures that sometimes become
|
||||||
sometimes become necessary on the road to the next
|
necessary on the road to the next release.</para>
|
||||||
release.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -1218,8 +1206,7 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<sect1 xml:id="synching">
|
<sect1 xml:id="synching">
|
||||||
<title>Synchronizing Source</title>
|
<title>Synchronizing Source</title>
|
||||||
|
|
||||||
<para>There are various methods for
|
<para>There are various methods for staying up-to-date with the
|
||||||
staying up-to-date with the
|
|
||||||
&os; sources. This section compares the primary services,
|
&os; sources. This section compares the primary services,
|
||||||
<application>Subversion</application> and
|
<application>Subversion</application> and
|
||||||
<application>CTM</application>.</para>
|
<application>CTM</application>.</para>
|
||||||
|
@ -1242,13 +1229,13 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
<para><application>Subversion</application> uses the
|
<para><application>Subversion</application> uses the
|
||||||
<emphasis>pull</emphasis> model of updating sources. The user,
|
<emphasis>pull</emphasis> model of updating sources. The user,
|
||||||
or a <command>cron</command> script, invokes the
|
or a <command>cron</command> script, invokes the
|
||||||
<command>svn</command> program which updates the local version of the source.
|
<command>svn</command> program which updates the local version
|
||||||
<application>Subversion</application> is the preferred method for
|
of the source. <application>Subversion</application> is the
|
||||||
updating local source trees as updates are up-to-the-minute
|
preferred method for updating local source trees as updates are
|
||||||
and the user controls when updates are downloaded. It is easy to
|
up-to-the-minute and the user controls when updates are
|
||||||
restrict updates to specific files or directories and the
|
downloaded. It is easy to restrict updates to specific files or
|
||||||
requested updates are generated on the fly by the server. How
|
directories and the requested updates are generated on the fly
|
||||||
to synchronize source using
|
by the server. How to synchronize source using
|
||||||
<application>Subversion</application> is described in <xref
|
<application>Subversion</application> is described in <xref
|
||||||
linkend="svn"/>.</para>
|
linkend="svn"/>.</para>
|
||||||
|
|
||||||
|
@ -1261,25 +1248,24 @@ before running "/usr/sbin/freebsd-update install"</screen>
|
||||||
changes in files since its previous run is executed several
|
changes in files since its previous run is executed several
|
||||||
times a day on the master CTM machine. Any detected changes are
|
times a day on the master CTM machine. Any detected changes are
|
||||||
compressed, stamped with a sequence-number, and encoded for
|
compressed, stamped with a sequence-number, and encoded for
|
||||||
transmission over email in printable <acronym>ASCII</acronym> only. Once downloaded,
|
transmission over email in printable <acronym>ASCII</acronym>
|
||||||
these <firstterm>deltas</firstterm> can be run through
|
only. Once downloaded, these <firstterm>deltas</firstterm> can
|
||||||
<command>ctm.rmail</command> which will automatically decode,
|
be run through <command>ctm.rmail</command> which will
|
||||||
verify, and apply the changes to the user's copy of the sources.
|
automatically decode, verify, and apply the changes to the
|
||||||
This process is more efficient than
|
user's copy of the sources. This process is more efficient than
|
||||||
<application>Subversion</application> and places less strain on
|
<application>Subversion</application> and places less strain on
|
||||||
server resources since it is a <emphasis>push</emphasis>, rather
|
server resources since it is a <emphasis>push</emphasis>, rather
|
||||||
than a <emphasis>pull</emphasis>, model. Instructions for using
|
than a <emphasis>pull</emphasis>, model. Instructions for using
|
||||||
<application>CTM</application> to synchronize source can be
|
<application>CTM</application> to synchronize source can be
|
||||||
found at <xref linkend="ctm"/>.</para>
|
found at <xref linkend="ctm"/>.</para>
|
||||||
|
|
||||||
<para>If a user inadvertently wipes
|
<para>If a user inadvertently wipes out portions of the local
|
||||||
out portions of the local archive,
|
archive, <application>Subversion</application> will detect and
|
||||||
<application>Subversion</application> will detect and rebuild
|
rebuild the damaged portions. <application>CTM</application>
|
||||||
the damaged portions. <application>CTM</application> will not,
|
will not, and if a user deletes some portion of the source tree
|
||||||
and if a user deletes some portion of the source tree
|
|
||||||
and does not have a backup, they will have to start from scratch
|
and does not have a backup, they will have to start from scratch
|
||||||
from the most recent <firstterm>base delta</firstterm> and rebuild
|
from the most recent <firstterm>base delta</firstterm> and
|
||||||
it all with <application>CTM</application>.</para>
|
rebuild it all with <application>CTM</application>.</para>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
<sect1 xml:id="makeworld">
|
<sect1 xml:id="makeworld">
|
||||||
|
@ -1456,12 +1442,13 @@ Script started, output file is /var/tmp/mw.out</screen>
|
||||||
possible to boot with the newly updated kernel. If
|
possible to boot with the newly updated kernel. If
|
||||||
<varname>kern.securelevel</varname> has been raised above
|
<varname>kern.securelevel</varname> has been raised above
|
||||||
<literal>1</literal> <emphasis>and</emphasis>
|
<literal>1</literal> <emphasis>and</emphasis>
|
||||||
<literal>noschg</literal> or similar flags have been set on the kernel
|
<literal>noschg</literal> or similar flags have been set
|
||||||
binary, drop the system into single-user mode first.
|
on the kernel binary, drop the system into single-user
|
||||||
Otherwise, this command can be run from multi-user mode
|
mode first. Otherwise, this command can be run from
|
||||||
without problems. See &man.init.8; for details about
|
multi-user mode without problems. See &man.init.8; for
|
||||||
<varname>kern.securelevel</varname> and &man.chflags.1;
|
details about <varname>kern.securelevel</varname> and
|
||||||
for details about the various file flags.</para>
|
&man.chflags.1; for details about the various file
|
||||||
|
flags.</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>make installkernel</userinput></screen>
|
<screen>&prompt.root; <userinput>make installkernel</userinput></screen>
|
||||||
</step>
|
</step>
|
||||||
|
|
Loading…
Reference in a new issue