Browse Source

british english

master
Sven Vermeulen 12 years ago
parent
commit
e859ecfffb
  1. 34
      src/linux_sea/01-whatislinux.xml
  2. 16
      src/linux_sea/02-freesoftware.xml
  3. 60
      src/linux_sea/03-community.xml
  4. 41
      src/linux_sea/04-runninglinux.xml
  5. 38
      src/linux_sea/05-linuxfs.xml
  6. 24
      src/linux_sea/06-processes.xml
  7. 50
      src/linux_sea/07-kernelbuilding.xml
  8. 10
      src/linux_sea/08-hardwaremanagement.xml
  9. 30
      src/linux_sea/09-softwaremanagement.xml
  10. 20
      src/linux_sea/10-usermanagement.xml
  11. 32
      src/linux_sea/11-networkmanagement.xml
  12. 18
      src/linux_sea/12-servicemanagement.xml
  13. 18
      src/linux_sea/13-storagemanagement.xml
  14. 18
      src/linux_sea/14-systemmanagement.xml
  15. 26
      src/linux_sea/15-graphicenvironment.xml
  16. 10
      src/linux_sea/16-installgentoo.xml
  17. 30
      src/linux_sea/17-logfilemanagement.xml
  18. 4
      src/linux_sea/18-backup.xml
  19. 6
      src/linux_sea/90-tipsandanswers.xml

34
src/linux_sea/01-whatislinux.xml

@ -274,17 +274,17 @@
and the necessary tools to convert the source code to executable
files.</para>
<para>These tools are called a <emphasis>toolchain</emphasis><indexterm>
<primary>toolchain</primary>
<para>These tools are called a <emphasis>tool chain</emphasis><indexterm>
<primary>tool chain</primary>
</indexterm>: a set of tools that are used as in a chain in order to
produce a working application. A general toolchain consists out of a
produce a working application. A general tool chain consists out of a
text editor (to write the code in), compiler (to convert code to
machine-specific language), linker (to combine machine-code of several
sources - including prebuilt "shared" libraries - into a single,
executable file) and libraries (those I just mentioned as being "shared"
libraries).</para>
<para>A toolchain is of the upmost importance for a developer; it is a
<para>A tool chain is of the utmost importance for a developer; it is a
vital <emphasis>development tool</emphasis><indexterm>
<primary>development tool</primary>
</indexterm>, but not the only development tool. For instance,
@ -334,12 +334,12 @@
<para>The GNU Project is an effort of several programmers and developers
to create a free, Unix-like operating system. GNU<indexterm>
<primary>GNU</primary>
</indexterm> is a recursive acronym that stands for <emphasis>GNU's
</indexterm> is a recursive acronym that stands for <emphasis>GNU is
Not Unix</emphasis>, because it is Unix-like but contains no Unix code
and is (and remains) free. The GNU foundation, the legal entity behind
the GNU project, sees free as more than just the financial meaning of
free: the software should be free to use for any purpose whatsoever,
free to study and modify the source code and behavior, free to copy and
free to study and modify the source code and behaviour, free to copy and
free to distribute the changes you made.</para>
<para>This idea of free software is a noble thought that is active in
@ -363,12 +363,12 @@
</indexterm>.</para>
<para>Now although all Linux Operating Systems use Linux as their kernel,
many of them use a different flavor. This is because the kernel
many of them use a different flavour. This is because the kernel
development has several branches. The most important one I call the
<emphasis>vanilla</emphasis> kernel. This kernel is the main development
kernel where most kernel developers work on; every other kernel is based
on this kernel. Other kernels introduce features that the vanilla kernel
doesn't want yet (or has tossed away in favor of another feature); still,
doesn't want yet (or has tossed away in favour of another feature); still,
these kernels are fully compatible with the vanilla kernel.</para>
<para>The Linux kernel saw its first light in 1991 and is created (and
@ -380,7 +380,7 @@
contributions happen from several hundreds volunteers (kernel 2.6.21 had
contributions from more than 800 individuals).</para>
<para>The latest kernel version at thise time of writing is 2.6.32.1. The
<para>The latest kernel version at the time of writing is 2.6.32.1. The
first two numbers play the role of the major version, the last number
denotes a plain bug fix. The intermediate number is the one that
increments most often: for every increment, users (and developers) know
@ -402,7 +402,7 @@
tools ...) and keep track of changes in the free software world (like new
versions or security fixes). And although all this is perfectly possible
(look for the <emphasis>Linux From Scratch</emphasis> project), most users
would want something that is a bit more... userfriendly.</para>
would want something that is a bit more... user friendly.</para>
<para>Enter distributions<indexterm>
<primary>distribution project</primary>
@ -446,8 +446,8 @@
software to the end users. This allows the distribution to become
widely accepted as it fits the needs of many users. However, more
advanced distributions exist that focus on a particular market (like
settop boxes for multimedia presentations, firewalls and network
management, domotica appliances, ...) and of course, these
set-top boxes for multimedia presentations, firewalls and network
management, home automation appliances, ...) and of course, these
distributions offer different software titles to the users.</para>
</listitem>
@ -456,7 +456,7 @@
...)?</para>
<para>If a distribution wants the software to run on as many processor
types as possible (pentium, i7, athlon, xeon, itanium, ...) it needs
types as possible (Pentium, i7, Athlon, Xeon, Itanium, ...) it needs
to build the software for a generic platform (say i686) rather than
for a specific one (Itanium). Of course, this means that the software
doesn't use all features that new processors provide, but the software
@ -713,7 +713,7 @@
</indexterm> language of that CPU) can only be run on that CPU. That,
and assembly is so low-level that it is far from easy to write a tool
with it. The tools that still use assembly language are compilers (which
translate higher-level programming language to assembly), bootloaders
translate higher-level programming language to assembly), boot loaders
(which load an operating system into memory) and some core components of
operating systems (the Linux kernel has some assembly code).</para>
@ -899,7 +899,7 @@
branches are never lagging behind. The additional trees that exist are
there because of development purposes (additional patches for
unsupported hardware before it is merged with the mainline kernel,
additional patches for specific virtualization solutions that are
additional patches for specific virtualisation solutions that are
otherwise incompatible or cannot be merged due to license issues,
additional patches that are too intrusive and will take a while before
they are stabilized, etc.)</para>
@ -953,7 +953,7 @@
games are developed for Microsoft Windows exclusively, and not all
games can be run using emulators or libraries like WINE within Linux
(luckily, many are). It is hard to ask game developers to develop for
Linux as most developers focus their endeavors on libraries (like
Linux as most developers focus their endeavours on libraries (like
DirectX) that are only available for Microsoft Windows.</para>
<para>However, another trend is also emerging: more and more games are
@ -978,7 +978,7 @@
<para>The same is true for wireless network cards. Whereas this was a
weakness previously, support for wireless network cards is now well
integrated within the community. A major reason here is that most
vendors are now officially supporting their wireless chipset for
vendors are now officially supporting their wireless chip set for
Linux, offering drivers and documentation.</para>
</section>
</section>

16
src/linux_sea/02-freesoftware.xml

@ -366,13 +366,13 @@
<title>Transparent Development</title>
<para>Free software is usually developed transparently: if you are
interested in the development of your favorite software title, you can
interested in the development of your favourite software title, you can
quickly find out how its development works and how to
participate.</para>
<para>Usually, software projects use a <emphasis>concurrent versioning
<para>Usually, software projects use a <emphasis>concurrent versions
system</emphasis><indexterm>
<primary>concurrent versioning system</primary>
<primary>concurrent versions system</primary>
</indexterm> such as CVS<indexterm>
<primary>CVS</primary>
</indexterm> or SVN<indexterm>
@ -468,7 +468,7 @@
</indexterm> are proposals for final releases. They contain the
software such as the developers would like to release it. They now
wait for a certain period so that the testers and general public can
run their tests to ensure no bugs are in it anymore. New features
run their tests to ensure no bugs are in it any more. New features
aren't added to the software now, only bug fixes. When no new (or
major) bugs are found, the release candidate is converted to a new
release</para>
@ -583,7 +583,7 @@
<title>Software Life Cycle</title>
<para>If you buy software of an unknown, smaller company, you have the
chance that after a number of years, the company doesn't exist anymore
chance that after a number of years, the company doesn't exist any more
or is taken over and doesn't support that software since. Something
similar is true with free software: if the project decides that there
aren't enough resources to continue the development of the software
@ -629,12 +629,12 @@
software world.</para>
<section>
<title id="fhs" xreflabel="Filesystem Hierarchy Standard">Filesystem
<title id="fhs" xreflabel="File system Hierarchy Standard">File system
Hierarchy Standard</title>
<para>The first standard I discuss is the <emphasis>Filesystem Hierarchy
<para>The first standard I discuss is the <emphasis>File system Hierarchy
Standard</emphasis><indexterm>
<primary>Filesystem Hierarchy Standard</primary>
<primary>File system Hierarchy Standard</primary>
</indexterm>, abbreviated to FHS<indexterm>
<primary>FHS</primary>
</indexterm>. This standard is used by almost all distributions and

60
src/linux_sea/03-community.xml

@ -22,10 +22,10 @@
aren't clustered in space like real life communities would, but are
scattered throughout the world. Nevertheless, the Internet ensures that
participants of a community, even when they are light years (figure of
speech) apart, talk to each other the same way as neighbors do.</para>
speech) apart, talk to each other the same way as neighbours do.</para>
<para>The Internet is a great asset for these communities: you are not
judged based on the color of your skin, your age or your looks. What
judged based on the colour of your skin, your age or your looks. What
matters is how you communicate with others, how you present yourself and
how you react in discussions. Debates in a community can often become
quite vivid, especially when the subject is one where facts aren't
@ -46,7 +46,7 @@
questions don't have clear answers: the best distribution for one person
might be the worst for another, and there are many text editors around. In
latin one would say ``de gustibus et coloribus non est disputandum'' (one
shouldn't argue about tastes and colors) and this is very true for these
shouldn't argue about tastes and colours) and this is very true for these
kind of questions.</para>
<para>When you don't have a choice, flame wars don't exist: you cannot
@ -69,7 +69,7 @@
quite large. The Gentoo community for instance is known for its
responsiveness: the Gentoo chat channel is always alive (with more than
800 participants at any time) as is its forum (with more than a thousand
posts per day) and mailinglists. Of course, general flame wars on
posts per day) and mailing lists. Of course, general flame wars on
distributions are often on more neutral grounds, but heated discussions on
other topics are a daily routine.</para>
@ -79,7 +79,7 @@
<emphasis>trolls</emphasis><indexterm>
<primary>troll</primary>
</indexterm>) are taken care of by these operators: channel operators
can kick or even ban such people from the chat channel, mailinglist
can kick or even ban such people from the chat channel, mailing list
operators remove these people from the list and forum operators remove the
profiles of these users. You can safely say these people are the police of
the community.</para>
@ -88,7 +88,7 @@
<title>Local Communities</title>
<para>A specific type of community is one which is local in space. Such
communities often organize meetings (conferences, talks, barbequeues,
communities often organize meetings (conferences, talks, barbecues,
...) and offer help to people local to the location where the community
is hosted.</para>
@ -101,7 +101,7 @@
and help others with Linux installations (Linux Install Fests<indexterm>
<primary>Linux Install Fest</primary>
</indexterm> are local meetings that offer help in deploying your
favorite Linux distribution on your system). You might find a LUG very
favourite Linux distribution on your system). You might find a LUG very
close by.</para>
<para>Many LUGs offer various services to their users which is often
@ -194,14 +194,14 @@
<listitem>
<para>Mailinglists, which is similar (function-wise) to web forums,
but then organized through e-mail. People subscribe to a mailinglist
and then receive all mails sent to that mailinglist to their
but then organized through e-mail. People subscribe to a mailing list
and then receive all mails sent to that mailing list to their
personal mailbox. Replies to these mails are sent back to the
mailinglists where they are again distributed to all mailinglist
mailing lists where they are again distributed to all mailing list
participants. Mailinglists are quite popular in free software
communities as they are easily moderated and can be filtered. Also,
mails often reach people faster than messages on a webforum so you
could see a mailinglist as a faster discussion medium.</para>
mails often reach people faster than messages on a web forum so you
could see a mailing list as a faster discussion medium.</para>
</listitem>
<listitem>
@ -210,7 +210,7 @@
</indexterm> (Internet Relay Chat) is a way of communicating with
many people interactively. Most people know Instant Messaging
software such as MSN or Google Talk. Well, IRC is somewhat older but
still very much used as it supports chatrooms where several hundreds
still very much used as it supports chat rooms where several hundreds
of people can participate. IRC is the fastest medium for
participating in discussions and can be seen as a method for
creating "online" meetings.</para>
@ -226,7 +226,7 @@
question about their software project they are eager to answer and help.
If you think the software is insufficient, they will help you expand it or
have it work together with other tools (or even redirect you to other
software projects if they feel you want something out of their favorite
software projects if they feel you want something out of their favourite
tool that the tool isn't made for).</para>
<para>Support can be given on many levels...</para>
@ -235,7 +235,7 @@
<title>Documentation Guides</title>
<para>A documentation guide is often created with one goal: describe how
to do something with the tool. Such guides are therefor often called
to do something with the tool. Such guides are therefore often called
HOWTOs<indexterm>
<primary>HOWTO</primary>
</indexterm>. Much work is put in such HOWTOs because they should be
@ -265,12 +265,12 @@
<section>
<title>Internet and Usenet Forums</title>
<para>Internet forums (webbased) or Usenet forums (newsgroups<indexterm>
<para>Internet forums (web based) or Usenet forums (newsgroups<indexterm>
<primary>newsgroup</primary>
</indexterm>) are a more interactive approach to obtain support.
Internet forums have the additional advantage that you can add specific
formatting in your questions: you can show command code, exceptions or
errors better than in plain text. You can even include screenshots.
errors better than in plain text. You can even include screen shots.
These forums allow for any user to be helped quite fast: forums are read
by many and the interface is simple enough to quickly see the new
topics.</para>
@ -294,19 +294,19 @@
<section>
<title>Mailinglists</title>
<para>A more direct approach are mailinglists<indexterm>
<primary>mailinglist</primary>
<para>A more direct approach are mailing lists<indexterm>
<primary>mailing list</primary>
</indexterm>, e-mail addresses where several dozens (or even hundreds)
individuals listen to. A mailinglist is often perceived to be a bit
faster than forums because many developers frequent mailinglists but not
forums due to the ease of use: mailinglists result in plain e-mails
individuals listen to. A mailing list is often perceived to be a bit
faster than forums because many developers frequent mailing lists but not
forums due to the ease of use: mailing lists result in plain e-mails
which can be easily filtered.</para>
<para>Most mailinglists are archived as well, allowing you to skim
<para>Most mailing lists are archived as well, allowing you to skim
through the older topics in the list. Whereas forums are usually pure
for user experience, mailinglists are used as the primary communication
for user experience, mailing lists are used as the primary communication
channel for development purposes. Some projects also have internal
development mailinglists which aren't readable to the public. This isn't
development mailing lists which aren't readable to the public. This isn't
because they want to hide development stuff from the users: such mailing
lists are used to communicate security issues, personal information
(including account information) but also to talk about topics that are
@ -339,12 +339,12 @@
of these meetings offer a way for developers to meet each other (for the
first time), discuss topics and learn from each other.</para>
<para>In some cases, <emphasis>hackfest</emphasis>s<indexterm>
<primary>hackfest</primary>
<para>In some cases, <emphasis>hack fest</emphasis>s<indexterm>
<primary>hack fest</primary>
</indexterm> are organized. During these meetings, developers
aggregate together with a single goal: to develop new features or remove
bugs from the software. Although this can well be done offline,
hackfests allow developers to communicate freely and help other
hack fests allow developers to communicate freely and help other
developers with their problems. Meeting in real life allows developers
to easily show the problem they have (some problems can be difficult or
too time consuming to write down).</para>
@ -427,8 +427,8 @@
<orderedlist>
<listitem>
<para>Try to find the online discussion methods (webforum,
mailinglists, IRC) offered by the Gentoo Linux distribution.</para>
<para>Try to find the online discussion methods (web forum,
mailing lists, IRC) offered by the Gentoo Linux distribution.</para>
</listitem>
</orderedlist>
</section>

41
src/linux_sea/04-runninglinux.xml

@ -87,7 +87,7 @@
<para>Every task a user starts results in a process on the system. For
instance, a user that fires up a browser results in at least one process
representing the browser program. By default, this process runs with the
privileges of this user and has therefor only access to the files and
privileges of this user and has therefore only access to the files and
resources of this user. Another reason why not to use the root account:
you don't want a malicious script that gets executed in your browser, and
which triggers an exploitable bug (this isn't fantasy, it might happen)
@ -116,7 +116,7 @@
</listitem>
<listitem>
<para>disabling networking or changing network behavior</para>
<para>disabling networking or changing network behaviour</para>
</listitem>
<listitem>
@ -127,7 +127,7 @@
<listitem>
<para>killing or otherwise manipulating the wrong process(es)
(possibly resulting in service malfunction, shutdown or
misbehavior)</para>
misbehaviour)</para>
</listitem>
<listitem>
@ -237,7 +237,7 @@
<filename>/home/swift</filename>, which is the home directory of the
"swift" user account. Another example is
<filename>/usr/share/doc/googleearth-4.2.198.2451/</filename>, the
location where a specific version of the GoogleEarth program stores its
location where a specific version of the Google Earth program stores its
package documentation.</para>
<para>Next to regular files (like text files or program-related files)
@ -360,9 +360,9 @@
</itemizedlist>
<para>The restriction deletion flag needs some explanation. It is used
on world-writable directories (a well-known example is
on world-writeable directories (a well-known example is
<filename>/tmp</filename>, where temporary files can be stored) and used
to prevent users to remove files they didn't create. A world-writable
to prevent users to remove files they didn't create. A world-writeable
directory would otherwise allow other users to remove files from that
directory (as they too have write access to the directory). The
restriction deletion flag is also known as the
@ -384,14 +384,14 @@
seaheaven login: </programlisting>
<para>At this prompt, you are asked to enter your username which you have
<para>At this prompt, you are asked to enter your user name which you have
undoubtedly created during the Linux installation. Next, you are asked for
your account password. If the username exists and the password matches,
your account password. If the user name exists and the password matches,
then you are greeted with a <emphasis>command line
prompt</emphasis><indexterm>
<primary>prompt</primary>
</indexterm>. The next listing shows a typical prompt for the account
with user name "captain" on a system with hostname "seaheaven":</para>
with user name "captain" on a system with host name "seaheaven":</para>
<programlisting>captain@seaheaven ~ $</programlisting>
@ -399,11 +399,11 @@ seaheaven login: </programlisting>
<orderedlist>
<listitem>
<para>the username of the account logged on to the system</para>
<para>the user name of the account logged on to the system</para>
</listitem>
<listitem>
<para>the hostname of the system where the user is logged on to</para>
<para>the host name of the system where the user is logged on to</para>
</listitem>
<listitem>
@ -606,7 +606,7 @@ Documents Movies Music Pictures
<programlisting>$ <command>ls -l 12-servicemanagement.xml</command>
-rw-r--r-- 1 swift users 26976 Apr 22 21:21 12-servicemanagement.xml
|&lt;+&gt;&lt;+&gt;&lt;+&gt; | &lt;-+-&gt; &lt;-+-&gt; &lt;-+-&gt; &lt;-----+----&gt; &lt;---------+-------------&gt;
| | | | | | | | | `- filename or directory name
| | | | | | | | | `- file name or directory name
| | | | | | | | `- last modification time
| | | | | | | `- size (in bytes)
| | | | | | `- group owning the file or directory
@ -655,7 +655,7 @@ $ <command>ls -l inittab</command>
-rw-r--r-- 1 swift users 1890 Apr 22 22:49 inittab</programlisting>
<para>You can ask <command>cp</command> to preserve all information
(like access privileges, ownership and timestamps) although you might
(like access privileges, ownership and time stamps) although you might
need to be root to do so.</para>
<para>To recursively copy an entire directory and its content, use the
@ -725,16 +725,14 @@ rm: cannot remove '/etc/passwd': Permission denied</programlisting>
<para>An important task for any Linux user is knowing how to edit text
files. There are many text editors around, such as the popular vim and
emacs. Gentoo recommends nano as your first editor because it is easy to
work with and understand. My preference is for vim but as the Latin
saying goes: <quote>de gustibus et coloribus non est
disputandum</quote>.</para>
work with and understand. My preference is for vim.</para>
<section>
<title>Using Nano</title>
<para>As such, a quick primer in the use of nano. If you launch nano
it shows you the main editor screen for a new file. If you launch nano
with a filename as its argument, it opens up the text file, ready for
with a file name as its argument, it opens up the text file, ready for
editing. As an example, I open up the
<filename>opentasks.txt</filename> file using nano:</para>
@ -881,10 +879,10 @@ rm: cannot remove '/etc/passwd': Permission denied</programlisting>
</indexterm>, are the easiest to understand. They're not real files,
but rather references to files somewhere on the file system. Their
reference is a location string, which allows the link to be used across
media and even to files that don't exist (anymore). As an example, you
media and even to files that don't exist (any more). As an example, you
could have a symbolic link that points to
<filename>/home/swift/opentasks.txt</filename>, even when this file
doesn't exist (anymore).</para>
doesn't exist (any more).</para>
<para><emphasis>Hard links</emphasis><indexterm>
<primary>link</primary>
@ -997,8 +995,7 @@ seaheaven login: </programlisting>
Password: <emphasis>(Enter root password)</emphasis>
root@seaheaven ~ # </programlisting>
<para>Now, you can issue the shutdown command to shut down (-h) or
reboot<indexterm>
<para>Now, you can issue the shutdown command to shut down (-h) or reboot<indexterm>
<primary>reboot</primary>
</indexterm> (-r) the system immediately:</para>
@ -1049,7 +1046,7 @@ root@seaheaven ~ # </programlisting>
<listitem>
<para>further information on the command, like usage restrictions,
default behavior, ...</para>
default behaviour, ...</para>
</listitem>
<listitem>

38
src/linux_sea/05-linuxfs.xml

@ -42,8 +42,8 @@ etc/ mnt/ sbin/ usr/</programlisting>
instance, it appends a "/" to directories, an "@" to symbolic links and a
"*" to executable files. The advantage is that, for this book, you can
easily see what type of files you have. By default, Gentoo enables
color-mode for the <command>ls</command> command, telling you what kind of
files there are by the color. For books however, using the appended
colour-mode for the <command>ls</command> command, telling you what kind of
files there are by the colour. For books however, using the appended
character is more sane.</para>
<para>A popular way of representing the file system is through a tree. An
@ -262,12 +262,12 @@ usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)<
to share blocks with several files). Although quite popular a few
years back, the file system has been seeing a lack of support
through its popular years (harmful bugs stayed in for quite some
time) and is not frequently advised by distributions anymore. Its
time) and is not frequently advised by distributions any more. Its
successor, <emphasis>reiser4</emphasis><indexterm>
<primary>reiser4</primary>
</indexterm>, is still quite premature and is, due to the
imprisonment of the main developer Hans Reiser, not being
developed that actively anymore.</para>
developed that actively any more.</para>
</listitem>
</itemizedlist>
@ -290,7 +290,7 @@ usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)<
you do not need to panic "to chose the right file system".</para>
<para>Now, if we take a look at our previous mount output again, we
notice that there is a part of the line that sais which "type" a mount
notice that there is a part of the line that says which "type" a mount
has. Well, this type is the file system used for that particular
mount.</para>
@ -358,7 +358,7 @@ usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)<
<primary>tmpfs</primary>
</indexterm> is a temporary file system. Its contents is stored
in memory and not on a persistent disk. As such, its storage is
usually very quick (memory is a lot faster than even the fastests
usually very quick (memory is a lot faster than even the fastest
SSDs and hard disks out there). I do say usually, because tmpfs
can swap out pages of its memory to the swap location, effectively
making those parts of the tmpfs file system slower (as they need
@ -484,7 +484,7 @@ brw-r----- 1 root disk 8, 8 Sep 30 18:11 /dev/sda8</programlisting>
definition file called <filename>/etc/fstab</filename><indexterm>
<primary>fstab</primary>
</indexterm>. The fstab file contains all the information mount
could need in order to succesfully mount a device. An example fstab is
could need in order to successfully mount a device. An example fstab is
shown below:</para>
<programlisting>/dev/sda8 / ext3 defaults,noatime 0 0
@ -506,7 +506,7 @@ brw-r----- 1 root disk 8, 8 Sep 30 18:11 /dev/sda8</programlisting>
<listitem>
<para>The file system type, or auto if you want Linux to
autodetect the file system</para>
automatically detect the file system</para>
</listitem>
<listitem>
@ -526,7 +526,7 @@ brw-r----- 1 root disk 8, 8 Sep 30 18:11 /dev/sda8</programlisting>
</orderedlist>
<para>Thanks to this file, the previous <command>mount</command>
command example is not necessary anymore (as the mount is performed
command example is not necessary any more (as the mount is performed
automatically) but in case the mount has not been done already, the
command is simplified to:</para>
@ -548,7 +548,7 @@ brw-r----- 1 root disk 8, 8 Sep 30 18:11 /dev/sda8</programlisting>
<programlisting># <command>mount /media/dvd</command>
<remark>(The DVD is now mounted and accessible)</remark>
# <command>umount /media/dvd</command>
<remark>(The DVD is now not available on the file system anymore and can be
<remark>(The DVD is now not available on the file system any more and can be
removed from the tray)</remark></programlisting>
<para>Of course, modern Linux operating systems have tools in place
@ -607,7 +607,7 @@ Filename Type Size Used Priority
specific meaning. We've already covered a few of them without explicitly
telling that those are standard locations, such as
<filename>/home</filename> which houses the local users' home
directories. The <link linkend="fhs">Linux Filesystem Standard</link>
directories. The <link linkend="fhs">Linux File system Standard</link>
covers all these standard locations, but this chapter would be very
incomplete if it didn't talk about these as well.</para>
@ -631,7 +631,7 @@ Filename Type Size Used Priority
<listitem>
<para><filename>/lib</filename> contains the system libraries
necessary to succesfully boot the system and run the commands
necessary to successfully boot the system and run the commands
which are located inside <filename>/bin</filename></para>
</listitem>
@ -782,7 +782,7 @@ Filename Type Size Used Priority
file system. It is the first file system that is mounted when the kernel
boots, and your system will not function properly if the kernel detects
corruption on this file system. Also, due to the nature of the boot
process, this file system will eventually become writable (as the boot
process, this file system will eventually become writeable (as the boot
process needs to store its state information, etc.)</para>
<para>Some locations on the root file system need to remain on the root
@ -929,7 +929,7 @@ Filename Type Size Used Priority
<para>However, supporting these flags wouldn't make a system secure: you
want to mix these privileges based on who works with the file. For
instance, the system configuration files should only be writable by the
instance, the system configuration files should only be writeable by the
administrator(s); some might not even be readable by the users (like the
file containing the user passwords).</para>
@ -980,7 +980,7 @@ Filename Type Size Used Priority
<programlisting>$ <command>ls -l /etc/fstab</command>
-rw-r--r-- 1 root root 905 Nov 21 09:10 /etc/fstab</programlisting>
<para>In the above example, the fstab file is writable by the root user
<para>In the above example, the fstab file is writeable by the root user
(rw-) and readable by anyone else (r--).</para>
<para>In case of a directory,</para>
@ -1011,7 +1011,7 @@ Filename Type Size Used Priority
drwxr-x--- 2 root root 4096 Nov 26 18:17 /etc/cron.daily/</programlisting>
<para>In the above example, the cron.daily directory is viewable (r),
writable (w) and "enterable" (x) by the root user. People in the root
writeable (w) and "enterable" (x) by the root user. People in the root
group have view- and enter rights (r-x) whereas all other people have no
rights to view, write or enter the directory (---).</para>
@ -1249,7 +1249,7 @@ Change: 2010-02-06 13:50:43.000000000 +0100</programlisting>
</itemizedlist>
<para>Then you can set (=), add (+) or remove (-) privileges. For
instance, to make <filename>/etc/passwd</filename> writable for the
instance, to make <filename>/etc/passwd</filename> writeable for the
members of the owning group:</para>
<programlisting># <command>chmod g+w /etc/passwd</command></programlisting>
@ -1399,7 +1399,7 @@ s-S--a--------- /tmp/foo</programlisting>
<para>As you can see, the slocate command returns all files it has found
where the string (in this case, "make.conf") is used in the filename,
even when the filename is different.</para>
even when the file name is different.</para>
</section>
<section>
@ -1495,7 +1495,7 @@ s-S--a--------- /tmp/foo</programlisting>
<programlisting>$ <command>find /etc -type f -mtime -7 | xargs ls -l '{}' </command></programlisting>
<para>The result is the same, but its behavior is somewhat
<para>The result is the same, but its behaviour is somewhat
different.</para>
<para>When using -exec, the find command executes the command for

24
src/linux_sea/06-processes.xml

@ -61,8 +61,8 @@ init-+-acpid
<command>init</command><indexterm>
<primary>init</primary>
</indexterm>. The root process is the first process launched by the
kernel when it boots up. It is responsible for running the necessary
startup services and prepare the system for its duties.</para>
kernel when it boots up. It is responsible for starting the necessary
services at boot time and prepare the system for its duties.</para>
<para>Processes that become child of the root process usually do this
because they don't want to be terminated when their parent process exits
@ -110,7 +110,7 @@ init-+-acpid
has root privileges rather than the privileges for the user. For the
<command>passwd</command> command, this is necessary because it needs to
update the password files (<filename>/etc/passwd</filename> and
<filename>/etc/shadow</filename>) which are only writable by the root
<filename>/etc/shadow</filename>) which are only writeable by the root
user (the <filename>/etc/shadow</filename> file is not even readable for
regular users).</para>
</section>
@ -161,13 +161,13 @@ init-+-acpid
</orderedlist>
<para>Of course, several arguments to ps exist which change its
behavior. For instance, with <command>ps -e</command> you see the same
behaviour. For instance, with <command>ps -e</command> you see the same
information, but for all processes runnin on the system. With
<command>ps -f</command> a few more columns are added, including the
parent process id and the time the process started.</para>
<para>You can also limit the processes to see based on the user
(<command>ps -u username</command>), command name (<command>ps -C
(<command>ps -u user name</command>), command name (<command>ps -C
command</command>), really running processes (taking cpu time at the
moment: <command>ps -r</command>) and more. For more information, see
the ps manual page.</para>
@ -377,7 +377,7 @@ apache2 4346 root 3u IPv4 11484 TCP *:https (LISTEN)</programlisti
<para>The same can be accomplished with files. For instance, to see
what processes are using a particular file with fuser, just give the
filename (<command>fuser -v /path/to/file</command>).</para>
file name (<command>fuser -v /path/to/file</command>).</para>
</section>
</section>
@ -394,7 +394,7 @@ apache2 4346 root 3u IPv4 11484 TCP *:https (LISTEN)</programlisti
The moment you launch a daemon process, you immediately get your prompt
back as if the process has finished. However, this isn't true: the
process is still running, but it is running in the background. Most
daemons do not have the possibility to reattach to the session. Wether
daemons do not have the possibility to reattach to the session. Whether
or not a process is a daemon depends on the process itself as this is a
pure programmatic decision.</para>
@ -453,7 +453,7 @@ apache2 4346 root 3u IPv4 11484 TCP *:https (LISTEN)</programlisti
is still forwarded to your terminal. If you do not want this, you
can redirect the output of a command using the &gt; redirect. For
instance, to redirect the standard output (default - 1) of
update-eix to a logfile and do the same for the error output
update-eix to a log file and do the same for the error output
(2):</para>
<programlisting># <command>eix-update &gt; /var/tmp/update-eix.log 2&gt;&amp;1 &amp;</command></programlisting>
@ -468,14 +468,14 @@ apache2 4346 root 3u IPv4 11484 TCP *:https (LISTEN)</programlisti
</section>
<section>
<title>Process Behavior</title>
<title>Process Behaviour</title>
<para>Programs are most often launched when a user selects a tool or
executes a command. They can also be invoked automatically by a running
program or by the Linux kernel (although the init tool is probably the
only one ever invoked by the kernel autonomously).</para>
<para>The next few sections give pointers on process behavior and how you
<para>The next few sections give pointers on process behaviour and how you
can modify it (if appropriate).</para>
<section>
@ -489,10 +489,10 @@ apache2 4346 root 3u IPv4 11484 TCP *:https (LISTEN)</programlisti
<primary>exit code</primary>
</indexterm>) informing you how well it did its job.</para>
<para>A returncode is always an integer in the range of 0 to 255. Some
<para>A return code is always an integer in the range of 0 to 255. Some
programs might attempt to return a code larger than 255 (or even
negative). Although not technically restricted, this is not a good idea
as some applications only expect a returncode between 0 to 255 and might
as some applications only expect a return code between 0 to 255 and might
even "wrap" return codes to this range. If a program would ever have a
return code of 512 for instance, it might be mapped into 0.</para>

50
src/linux_sea/07-kernelbuilding.xml

@ -10,7 +10,7 @@
<para>The Linux kernel is responsible for the majority of the hardware
support. It contains the drivers to access and communicate with hardware.
However, there are also quite some user-space tools required in order to
succesfully work with the hardware. For instance, support for printing
successfully work with the hardware. For instance, support for printing
inside the kernel is limited to support to the LPT printer port or USB,
but the printer drivers themselves are user-space.</para>
@ -52,7 +52,7 @@
very surprised if you know all components, including vendor and type of
your system) you will be glad to know Linux has quite some interesting
tools to tell you what it found. The results of these tools are
regardless of wether or not your kernel has support for these devices
regardless of whether or not your kernel has support for these devices
(although some small support is required, but most, if not all default
kernels have this included).</para>
</section>
@ -270,14 +270,14 @@ usb-storage: device scan complete</programlisting>
<para>Kernel modules are often used for detachable devices (such as USB
devices) but also for distributions who want to provide a kernel to
their users regardless of the hardware these users own: at bootup, the
distribution will load the modules needed to support the hardware found
their users regardless of the hardware these users own: during the boot-up
sequence, the distribution will load the modules needed to support the hardware found
and leave all other modules untouched.</para>
<para>It is important to understand though that these modules are read
from somewhere - you can't put the driver for your disk in a module and
store that module on disk - the Linux kernel doesn't know what a disk is
at that point and can therefor not find the module. Similar, don't put
at that point and can therefore not find the module. Similar, don't put
support for a particular file system (such as ext3) in a module and
store that module on an ext3 file system.</para>
@ -290,7 +290,7 @@ usb-storage: device scan complete</programlisting>
<see>initial root disk</see>
</indexterm>). This contains the modules that might be needed in order
to succesfully boot the system. Support for the initrd format is built
to successfully boot the system. Support for the initrd format is built
in-kernel (in-kernel is the term denoting that support is not built as a
kernel module but immediately made part of the Linux kernel image loaded
by the boot loader).</para>
@ -333,7 +333,7 @@ tifm_core 6420 1 tifm_7xx1</programlisting>
use it.</para>
<para>To remove a loaded module, first ensure that the module is not
used by any other module anymore (i.e. the "Used by" listing should be
used by any other module any more (i.e. the "Used by" listing should be
empty in the <command>lsmod</command> output) and then use
<command>rmmod</command><indexterm>
<primary>rmmod</primary>
@ -345,7 +345,7 @@ tifm_core 6420 1 tifm_7xx1</programlisting>
<command>modprobe</command><footnote>
<para>There is another command called insmod - this tool is less
intelligent than modprobe: it only attempts to load a kernel
module given its filename and it doesn't try to load the
module given its file name and it doesn't try to load the
prerequirement modules (modules can prerequire other
modules).</para>
</footnote><indexterm>
@ -355,7 +355,7 @@ tifm_core 6420 1 tifm_7xx1</programlisting>
<programlisting># <command>modprobe ipw2200</command></programlisting>
<para>One of the advantages of using modules is that you can pass on
additional options to a module, effectively changing its behavior. But
additional options to a module, effectively changing its behaviour. But
first some information on getting more information on modules.</para>
<para>An interesting command is <command>modinfo</command><indexterm>
@ -460,7 +460,7 @@ parm: timeout:Streaming control requests timeout (uint)</programlistin
<programlisting>blacklist uvcvideo</programlisting>
<para>Blacklisting a module doesn't mean that the module cannot be
loaded anymore. It means that the automated load, based on the
loaded any more. It means that the automated load, based on the
hardware information, is disabled. In other words, the link between a
hardware device id and the module is blacklisted. A manual
<command>modprobe</command> will still do the trick, and if the
@ -533,7 +533,7 @@ parm: timeout:Streaming control requests timeout (uint)</programlistin
kernel.</para>
</blockquote>
<para>His idea is really worth persuing, so don't hesitate to take a
<para>His idea is really worth pursuing, so don't hesitate to take a
look at <ulink
url="http://www.kernel-seeds.org/">http://www.kernel-seeds.org/</ulink>.
On the site, you can then navigate to your architecture (currently only
@ -628,7 +628,7 @@ excludes, &lt;M&gt; modularizes features. Press &lt;Esc&gt;&lt;Esc&gt; to exit,
<para>You should understand that your current Linux kernel (the one
you're booted with) is stored elsewhere in the system (probably in
<filename>/boot</filename>) and that this kernel doesn't need to know
its configuration file anymore - it has been built using a particular
its configuration file any more - it has been built using a particular
configuration and will remain as-is.</para>
<para>Configuring your own kernel is most likely a trial-and-error
@ -775,7 +775,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
</indexterm> (Read Copy Update) is a synchronisation primitive
supported by the Linux kernel which offers fast access to shared
resources (programming-terms) in case of a many-read and
infrequent write access behavior. That might sound terribly
infrequent write access behaviour. That might sound terribly
geekish and programmer-specific - and it is - but if you have
multiple cores or processors in your system, it is wise to
enable it. Otherwise, set it to UP-kernel (UniProcessor).</para>
@ -832,7 +832,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>Module unloading</para>
<para>You will probably want to unload kernel modules if you
don't need them anymore.</para>
don't need them any more.</para>
</listitem>
<listitem>
@ -1248,7 +1248,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>The binary format used by Linux is ELF. Very old Linux systems
and a couple of BSD operating systems use a.out binaries but it
isn't necessary to include support for those anymore.</para>
isn't necessary to include support for those any more.</para>
</section>
<section>
@ -1554,15 +1554,15 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support</para>
<para>The only selection made in this configuration is the
support for my SATA chipset of which lspci told me it was an
Intel ICH6 chipset:</para>
support for my SATA chip set of which lspci told me it was an
Intel ICH6 chip set:</para>
<programlisting># <command>lspci | grep SATA</command>
00:1f.2 SATA controller: Intel Corporation 82801FBM (ICH6M)
SATA Controller (rev 04)</programlisting>
<para>All the other options are drivers for other
chipsets.</para>
chip sets.</para>
</listitem>
</itemizedlist>
</section>
@ -1647,7 +1647,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>Intel PRO/Wireless 2200BG and 2915ABG Network
Connection</para>
<para>lspci sais that my wireless card is an Intel
<para>lspci says that my wireless card is an Intel
PRO/Wireless 2200BG one, so I need to enable support for
it:</para>
@ -1699,7 +1699,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>Generic input layer (needed for keyboard, mouse,
...)</para>
<para>As the title sais already, I need this for
<para>As the title says already, I need this for
keyboard/mouse support</para>
</listitem>
@ -1874,7 +1874,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
915GM/GMS/910GML Express Graphics Controller (rev 03)</programlisting>
<para>As such, I also enable 'Intel 440LX/BX/GX, I8xx and
E7x05 chipset support'. You might believe that I am in error
E7x05 chip set support'. You might believe that I am in error
because the title doesn't mention 915GM (as shown in lspci's
output) but if I read the help for the option, I read that
I915 is supported through this driver as well.</para>
@ -2129,13 +2129,13 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>The Linux kernel help system has informed me that this
helps performance on certain controllers. Although I don't
know if I really need this, I've enabled this as I was unsure,
and the help sais I need to say 'Y' if I am unsure.</para>
and the help says I need to say 'Y' if I am unsure.</para>
</listitem>
<listitem>
<para>Secure Digital Host Controller Interface support</para>
<para>Inside the help of this option it sais that this enables
<para>Inside the help of this option it says that this enables
SD controller support for controllers manufactured by Texas
Instruments, Ricoh and Toshiba. lspci informs me that I have a
Texas Instruments device, so I enable this:</para>
@ -2223,7 +2223,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<para>Within this subsection, enable 'ISO 9660 CDROM file system
support' as well as 'Microsoft Joliet CDROM extensions' (to
support the larger filename scheme used by Microsoft).</para>
support the larger file name scheme used by Microsoft).</para>
</listitem>
<listitem>
@ -2410,7 +2410,7 @@ Prompt: Initial RAM filesystem and RAM disk (initramfs/initrd) support
<section>
<title>Rebuilding a Kernel</title>
<para>Suppose that you have succesfully built a kernel and are happily
<para>Suppose that you have successfully built a kernel and are happily
working with it. At some point in time, you'll need to upgrade your
kernel. Luckily, there is no reason to perform the above steps over and
over again.</para>

10
src/linux_sea/08-hardwaremanagement.xml

@ -8,9 +8,9 @@
<title>Introduction</title>
<para>Some hardware is automatically enabled once you have configured it
inside the Linux kernel: access to PCI chipsets, graphical card, disks,
inside the Linux kernel: access to PCI chip sets, graphical card, disks,
USB storage, etc. Yet, most hardware requires additional work. After all,
the Linux kernel provides you with a programmatical interface to access
the Linux kernel provides you with a programmatic interface to access
the devices, but you still need the necessary tooling to get the device to
function properly. Good examples are network cards and printers, but also
sound cards.</para>
@ -79,7 +79,7 @@
<primary>alsaconf</primary>
</indexterm> tool will attempt to detect your sound card(s), load the
necessary modules and configure those with sane settings. It will save
whatever it found to a general file which is read by your favorite
whatever it found to a general file which is read by your favourite
distribution (which is undoubtedly Gentoo ;-) at start up so you don't
have to rerun <command>alsaconf</command> after every boot.</para>
@ -191,7 +191,7 @@
<primary>esd</primary>
</indexterm> (Enlightenment Sound Daemon) is GNOME's sound
management daemon. esd, also known as ESounD, not only supports the
abovementioned mixing, but can also manage network-transparent
previously mentioned mixing, but can also manage network-transparent
audio: audio played on one system can be heard on another. To this
end, any application supporting esd can stream its audio to any
system running esd on the network.</para>
@ -347,7 +347,7 @@
Administration page, enter your root login and password information and
you can get started with the configuration. <ulink
url="http://www.gentoo.org/doc/en/printing-howto.xml">The Gentoo
Printing HOWTO</ulink> offers a great walkthrough of the
Printing HOWTO</ulink> offers a great walk through of the
configuration.</para>
<para>You probably hoped for a more elaborate discussion on printer

30
src/linux_sea/09-softwaremanagement.xml

@ -47,7 +47,7 @@
<para>Prebuilt packages are supported as well: software built on a
different Gentoo system, stored in a binary format file and made
available to other Gentoo systems <emphasis>with</emphasis> the same
settngs (otherwise the binary packages might not be compatible with
settings (otherwise the binary packages might not be compatible with
the system).</para>
</listitem>
</orderedlist>
@ -112,7 +112,7 @@
<para>the <emphasis>dependencies</emphasis><indexterm>
<primary>dependency</primary>
</indexterm> of the package (what other software is needed in
order to succesfully build or run this software)</para>
order to successfully build or run this software)</para>
</listitem>
<listitem>
@ -964,7 +964,7 @@ This system is affected by the following GLSAs:
<para>However, if this software is a dependency of an installed software
title, your next system update will pull the software back in. Even
worse, software that depends on it that is still being used / running
might even stop functioning properly or crash. A safer way of persuing
might even stop functioning properly or crash. A safer way of pursuing
the desinstallation of a package is by asking Portage not to consider
the package as your "main" requirement using the
<command>--deselect</command><indexterm>
@ -981,7 +981,7 @@ This system is affected by the following GLSAs:
<secondary>depclean</secondary>
</indexterm>. The <command>depclean</command> instruction asks Portage
to look for package that are installed but are not required anymore
to look for package that are installed but are not required any more
(meaning: you haven't installed it yourself explicitly or the package is
no dependency of another package):</para>
@ -990,7 +990,7 @@ This system is affected by the following GLSAs:
<para>With this command, Portage will remove packages that are not in
use. In other words, if no other package depends upon acroread, it will
remove acroread as you explicitly told Portage that you don't want to
consider it anymore. However, if some package still depends upon
consider it any more. However, if some package still depends upon
acroread, Portage will let acroread remain on your system (until the
package that depends on acroread is removed or deselected as
well).</para>
@ -1076,7 +1076,7 @@ ACCEPT_KEYWORDS="x86"</programlisting>
- sys-boot/silo-1.4.14 (masked by: missing keyword)</programlisting>
<para>Having an error due to an unsupported architecture, it is not
adviseable to try and work around this (forcing the package to be
advisable to try and work around this (forcing the package to be
installable). It will most likely not work anyhow.</para>
<para>Other related error messages that you might receive are:</para>
@ -1129,7 +1129,7 @@ ACCEPT_KEYWORDS="x86"</programlisting>
possible package definition bugs (like wrong dependencies) and helping
the further development until the package is deemed stable.</para>
<para>There is an unwritten rule that sais that packages should
<para>There is an unwritten rule that says that packages should
"linger" in the staging period for 30 bug-free days (no additional
bugs found by the architecture testers) before it is released to the
general public.</para>
@ -1161,7 +1161,7 @@ ACCEPT_KEYWORDS="x86"</programlisting>
<para>Whenever a package has a critical bug (critical = breaks your
system severely), a security issue (like having an exploitable
vulnerability that might grant malicious users access to your system)
or just isn't maintained anymore, the Gentoo developer might mask the
or just isn't maintained any more, the Gentoo developer might mask the
package explicitly.</para>
<para>Explicit masks do not only disallow the installation of the
@ -1405,7 +1405,7 @@ ACCEPT_LICENSE="-* @FSF-APPROVED"</programlisting>
</step>
<step>
<para>Open <filename>/etc/make.conf</filename> in your favorite
<para>Open <filename>/etc/make.conf</filename> in your favourite
text editor:</para>
<programlisting># <command>nano -w /etc/make.conf</command></programlisting>
@ -1499,7 +1499,7 @@ ACCEPT_KEYWORDS="x86"</programlisting>
</step>
<step>
<para>Open <filename>/etc/make.conf</filename> in your favorite
<para>Open <filename>/etc/make.conf</filename> in your favourite
editor</para>
<programlisting># <command>nano -w /etc/make.conf</command></programlisting>
@ -1551,7 +1551,7 @@ ACCEPT_KEYWORDS="x86"</programlisting>
<programlisting>$ <command>man portage</command>
<emphasis>(...)
(Type in "/" followed by the filename you want to know more about)</emphasis>
(Type in "/" followed by the file name you want to know more about)</emphasis>
<command>/package.mask</command>
<emphasis>(Type "n" (next) until you get the section information)</emphasis>
@ -1961,7 +1961,7 @@ make[4]: ***
Error 2</programlisting>
<para>The important part here is the error statement prefixed by the
filename (usually ending in .c or .cpp) and a number (which is the
file name (usually ending in .c or .cpp) and a number (which is the
line number in the file where the compiler found an error). Whenever
you get such error messages, chances are that the package itself is
broken. You should check <ulink url="https://bugs.gentoo.org">Gentoo's
@ -2004,7 +2004,7 @@ Error 2</programlisting>
<para>Whenever a configuration file update is available, the file itself
is stored on the file system next to the current configuration file.
These files (whose filename starts with <filename>.cfg_</filename>) can
These files (whose file name starts with <filename>.cfg_</filename>) can
then be compared with the current configuration file.</para>
<para>There are no tools available that do this automatically for you.
@ -2134,7 +2134,7 @@ CXXFLAGS="${CFLAGS}"</programlisting>
</section>
<section>
<title>Portage Behavior</title>
<title>Portage Behaviour</title>
<para>Portage itself also has a lot of features it supports. You can set
them through the <parameter>FEATURES</parameter> variable.</para>
@ -2180,7 +2180,7 @@ CXXFLAGS="${CFLAGS}"</programlisting>
<section>
<title>Fixing Postinstall Problems</title>
<para>Even when software installation has finished succesfully, you can
<para>Even when software installation has finished successfully, you can
still get into trouble.</para>
<section>

20
src/linux_sea/10-usermanagement.xml

@ -53,8 +53,8 @@
<title>User Account Information</title>
<para>A user is identified by his user id, which is an ordinary integer
number. However, it is much easier to use a username instead of a
number. For this purpose, a Unix/Linux system maps a username to a user
number. However, it is much easier to use a user name instead of a
number. For this purpose, a Unix/Linux system maps a user name to a user
id. By default, this information is stored within the
<filename>/etc/passwd</filename><indexterm>
<primary>passwd</primary>
@ -111,7 +111,7 @@
is needed to improve the security of the system: the
<filename>passwd</filename> file should be world readable because many
tools rely on it. Storing the password (even when it is encrypted or
hashed) in a publically readable file is asking for troubles - tools
hashed) in a publicly readable file is asking for troubles - tools
exist that attempt to crack user account passwords given the encrypted
/ hashed password values.</para>
@ -147,7 +147,7 @@
<primary>bash</primary>
</indexterm> shell (bourne again shell), a powerfull shell with lots
of additional functions such as command autocompletion, output
coloring and more. Smaller shells also exist, such as csh (c shell) or
colouring and more. Smaller shells also exist, such as csh (c shell) or
ksh (korn shell).</para>
<para>More information about shells is available online.</para>
@ -254,14 +254,14 @@ hosts: files dns</programlisting>
managed by the "compat" implementation. Compat is the default
implementation provided by glibc (GNU C Library) which offers access
to the various <filename>/etc/*</filename> files. The hosts service
(used to resolve hostnames to IP addresses and vice versa) is managed
(used to resolve host names to IP addresses and vice versa) is managed
by two implementations:</para>
<orderedlist>
<listitem>
<para>"files", which is the implementation that offers access to
the /etc/hosts file (a table containing IP address and
hostname(s))</para>
host name(s))</para>
</listitem>
<listitem>
@ -308,7 +308,7 @@ hosts: files dns</programlisting>
</orderedlist>
<para>It might seem strange to have a password on a group. After all,
a user logs on using his username. However, there is a sane reason for
a user logs on using his user name. However, there is a sane reason for
this: you can add users to a different group and password-protect this
group. If a user is logged on to the system (but doesn't use the
particular group as primary group) and leaves his terminal, malicious
@ -530,7 +530,7 @@ Password: <emphasis>(Enter the root password)</emphasis>
"<command>-</command>" option, the regular users' environment would be
used.</para>
<para>This environment defines the shell behavior; its most important
<para>This environment defines the shell behaviour; its most important
setting is the PATH variable which defines where the binaries are
located for the commands that this user might summon.</para>
@ -610,7 +610,7 @@ $ </programlisting>
</listitem>
<listitem>
<para>All users in the operator group are allowed to shutdown the
<para>All users in the operator group are allowed to shut down the
system</para>
</listitem>