CfR: config chapter changes
Benjamin Kaduk
kaduk at MIT.EDU
Mon Feb 13 05:39:13 UTC 2012
On Fri, 10 Feb 2012, Eitan Adler wrote:
> I started working on editing the config chapter. The following is the work of
> Niclas Zeising, wblock, myself, and others in the #bsddocs channel.
>
> I'm looking for additional review of the following patch:
> http://people.freebsd.org/~eadler/files/yoda-can-has-a-donught.diff
Inline patches are easier to review.
% Index: chapter.sgml
% ===================================================================
% RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/handbook/config/chapter.sgml,v
% retrieving revision 1.250
% diff -u -r1.250 chapter.sgml
% --- chapter.sgml 31 Jan 2012 14:14:59 -0000 1.250
% +++ chapter.sgml 10 Feb 2012 01:15:29 -0000
% @@ -475,22 +475,21 @@
% <para>The <command>cron</command> utility uses two different
% types of configuration files, the system crontab and user crontabs. The
% only difference between these two formats is the sixth field. In the
% - system crontab, the sixth field is the name of a user for the command
% - to run as. This gives the system crontab the ability to run commands
% - as any user. In a user crontab, the sixth field is the command to run,
% + system crontab, <command>cron</command> will run the command as this user.
% + In a user crontab, the sixth field is the command to run,
I can't see how this could possibly be correct. A command line in a
crontab requires a command to run, which would be a seventh field in the
system crontab. But this is not mentioned at all, here!
% and all commands run as the user who created the crontab; this is an
% important security feature.</para>
%
% <note>
% <para>User crontabs allow individual users to schedule tasks without the
% - need for <username>root</username> privileges. Commands in a user's crontab run with the
% - permissions of the user who owns the crontab.</para>
% + need for <username>root</username> privileges. Commands in a user's crontab run with the
% + permissions of the user who owns the crontab.</para>
Are these just whitespace changes?
%
% <para>The <username>root</username> user can have a user crontab just like
% - any other user. This one is different from
% - <filename>/etc/crontab</filename> (the system crontab). Because of the
% - system crontab, there is usually no need to create a user crontab
% - for <username>root</username>.</para>
% + any other user. <username>root</username>'s crontab is
% + distinct from <filename>/etc/crontab</filename> (the system crontab).
% + Because of the system crontab, there is usually no need to
% + create a user crontab for <username>root</username>.</para>
% </note>
Fine.
%
% <para>Let us take a look at the <filename>/etc/crontab</filename> file
% @@ -547,11 +546,9 @@
% day of the week. All these fields must be numeric values, and follow
% the twenty-four hour clock. The <literal>who</literal> field is special,
% and only exists in the <filename>/etc/crontab</filename> file.
% - This field specifies which user the command should be run as.
% - When a user installs his or her <filename>crontab</filename> file, they
% - will not have this option. Finally, the <literal>command</literal> option is listed.
% - This is the last field, so naturally it should designate the command
% - to be executed.</para>
% + The command will be run as the user named in this
% + field. Finally, the last field is the command to be
% + executed.</para>
This feels a bit odd; most of the sentences here have "the [nth] field" as
the subject of the sentence, so switching to having the command be the
subject seems out-of-place.
I think I would keep the first sentence as-is, but dropping the "When a
user..." sentence is probably okay.
"Finally, the last field" feels a bit redundant.
% </callout>
%
% <callout arearefs="co-main">
% @@ -584,13 +581,13 @@
% <title>Installing a Crontab</title>
%
% <important>
% - <para>You must not use the procedure described here to
% - edit/install the system crontab. Simply use your favorite
% - editor: the <command>cron</command> utility will notice that the file
% - has changed and immediately begin using the updated version.
% - See
% - <ulink url="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">
% - this FAQ entry </ulink> for more information.</para>
% + <para>Do not use the procedure described here to
% + edit and install the system crontab. Simply use your favorite
% + editor: the <command>cron</command> utility will notice that the file
% + has changed and immediately begin using the updated version.
% + See
% + <ulink url="&url.books.faq;/admin.html#ROOT-NOT-FOUND-CRON-ERRORS">this FAQ entry</ulink>
We should be able to make this line shorter, right?
% + for more information.</para>
% </important>
%
% <para>To install a freshly written user
[snip some minor/formatting changes]
% @@ -2390,15 +2386,35 @@
% <xref linkend="swap-encrypting"> of the Handbook.</para>
%
% <sect2 id="new-drive-swap">
% - <title>Swap on a New Hard Drive</title>
% + <title>Swap on a New or Existing Hard Drive</title>
% +
% + <para>The best way to add swap space, and the way that gives the best
% + performance, is to add a new swap partition on an existing or new hard
% + drive. Setting up partitions and hard drives is explained in
% + <xref linkend="disks-adding">. <xref linkend="configtuning-initial">
% + discusses partition layouts and swap partition size considerations.</para>
The old text was sort of advocating for using a new drive for swap, but
it seems to have not actually mentioned (at least in the context that is
quoted) perhaps the best reason for doing so: having a dedicated spindle
for swap avoids extra seeks from competition with normal i/o.
It would seem that if we are going to claim there is a "best" way, it
should involve a dedicated drive.
% +
% + <para>Use &man.swapon.8; to add a swap partition to the system. For example:</para>
% +
% + <screen>&prompt.root; <userinput>swapon<replaceable>/dev/ada1s1p2</replaceable></userinput></screen>
% +
% + <warning>
% + <para>It is possible to use any partition not currently mounted, even
% + if it already contains data. Using &man.swapon.8; on a partition that
% + contains data will overwrite and destroy that data.
% + Make sure that the partition to be added as swap
% + is really the intended partition before running
% + <command>swapon</command>.</para>
% + </warning>
% +
Hmm, I thought that that there would be a check for the swap partition
type, but glancing through the kernel code (vm/swap_pager.c) makes it seem
like swap can be enabled in a great many places...
% + <para>To automatically add this swap partition on boot,
% + add an entry to <filename>/etc/fstab</filename> for the
% + partition:</para>
% +
% + <programlisting><replaceable>/dev/ada1s1p1</replaceable> none swap sw 0 0</programlisting>
%
% - <para>The best way to add swap, of course, is to use this as an
% - excuse to add another hard drive. You can always use another
% - hard drive, after all. If you can do this, go reread the
% - discussion of swap space
% - in <xref linkend="configtuning-initial">
% - of the Handbook for some suggestions on how to best
% - arrange your swap.</para>
% + <para>&man.fstab.5; explains the entries in
% + <filename>/etc/fstab</filename>.</para>
I kind of feel like "explains the entries" is too concise. Are we looking
for the meaning of the entries, or their format, or something else?
% </sect2>
%
% <sect2 id="nfs-swap">
[snip more minor stuff]
-Ben Kaduk
More information about the freebsd-doc
mailing list