version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
JohnMcPherson |
1 |
__How Linux Works__: What Every Superuser Should Know<br> |
|
|
2 |
by Brian Ward<br> |
|
|
3 |
Published by No Starch Press<br> |
|
|
4 |
ISBN:1593270356 <br> |
|
|
5 |
[In the WLUG library|http://library.wlug.org.nz/show.pl?id=6] |
|
|
6 |
|
|
|
7 |
Reviewed by JohnMcPherson |
|
|
8 |
|
|
|
9 |
!!!Summary |
|
|
10 |
|
|
|
11 |
Despite having used Unix and Linux machines for nearly a decade, I |
|
|
12 |
still learnt something new from just about every chapter of this book. |
|
|
13 |
|
|
|
14 |
Most of the concepts covered in this book are both linux-distribution |
|
|
15 |
independent and, more generally, applicable to most unix flavours. |
|
|
16 |
|
|
|
17 |
The early chapters give a quick overview of standard command line tools, |
|
|
18 |
[Process]es/redirection, EnvironmentVariable~s, and so on, moving through to |
|
|
19 |
directory structure, FileSystems, devices, the boot/init process, and |
|
|
20 |
important configuration files. |
|
|
21 |
|
|
|
22 |
The book then moves through more advanced topics (with examples/walkthroughs) |
|
|
23 |
that new administrators are going to want to cover; networking |
|
|
24 |
protocols/devices, with a strong emphasis on how to connect to an [ISP] |
|
|
25 |
using typical consumer access devices; shell scripting; and |
|
|
26 |
compiling applications and kernels from source. |
|
|
27 |
|
|
|
28 |
The later chapters in the book cover the configuration various |
|
|
29 |
hardware (eg CD Writers,[USB],FireWire), [Printer]s, backups, [Samba], |
|
|
30 |
rsync, [Shell] startup/environment, and the book finally finishes with a general |
|
|
31 |
guide to buying hardware (both for your needs, and how to check for |
|
|
32 |
linux compatibility). |
|
|
33 |
|
|
|
34 |
Strengths: |
|
|
35 |
* Despite the book's name, much of the information is applicable to other Unix OSes, not just Linux. Most information was presented in a distro-neutral way. |
|
|
36 |
* Despite covering many topics, I felt that the ground was adequately covered without going into too much detail. |
|
|
37 |
* There were lots of nice little tips and hints sprinkled throughout. |
|
|
38 |
|
|
|
39 |
Weaknesses: |
|
|
40 |
* The chapters on development tools/compiling software/compiling kernel don't seem necessary in such a book. |
|
|
41 |
* Most of the examples only show things going right - not much help for people trouble-shooting with common errors. (I felt the printing and networking sections in particular could have shown the symptoms of some common problems people might encounter). |
|
|
42 |
|
|
|
43 |
I think that most users would get something out of this book, and I would encourage new Linux admins struggling to completely understand how their system works to read this, especially the straight-forward descriptions of setting up printing, and other hardware. |
|
|
44 |
-- JohnMcPherson |
|
|
45 |
|
|
|
46 |
---- |
|
|
47 |
!! Gory Details (chapter by chapter) |
|
|
48 |
|
|
|
49 |
Chapter one gives a brief overview of common options to the most |
|
|
50 |
standard command line tools (ls, cp, mv, grep, head, tar, and the |
|
|
51 |
rest) along with how to use the shell, processes and job control, and |
|
|
52 |
file permissions. |
|
|
53 |
|
|
|
54 |
One small detail that really nagged me was that ctrl-b and ctrl-f are |
|
|
55 |
mentioned for moving the cursor left and right, but no mention of |
|
|
56 |
the letters standing for "back" (b) and "forward" (f), which otherwise |
|
|
57 |
might just seem like mystic obscure keystrokes to a newbie. |
|
|
58 |
|
|
|
59 |
Something I picked up from this chapter: |
|
|
60 |
unexported variables (ie that aren't passed on to new processes) are called |
|
|
61 |
"shell variables" - I'd never really made a distinction in terminology |
|
|
62 |
between exported environment variables and unexported ones. |
|
|
63 |
|
|
|
64 |
Chapter 2 |
|
|
65 |
covers devices, FileSystems, mounting, etc. There's a nice (but brief) |
|
|
66 |
explanation of tty/pts devices, and a good introduction to |
|
|
67 |
partitioning, with examples using fdisk. There are also useful hints and |
|
|
68 |
examples for checking disk space, being aware of [POSIX] block sizes on some |
|
|
69 |
systems, and useful options for fsck. |
|
|
70 |
|
|
|
71 |
Chapter 3 does a good job of demystifying the boot and init process, describing |
|
|
72 |
runlevels and init script ordering, and finishing with a section on boot loaders, |
|
|
73 |
with an emphasis on [GRUB] and how to configure it. |
|
|
74 |
|
|
|
75 |
Chapter 4 covers all the important /etc files, with information that |
|
|
76 |
is more likely to be of use to new users, although the sections on |
|
|
77 |
syslog and inittab might be useful for refreshing the memory of more |
|
|
78 |
advanced users. |
|
|
79 |
|
|
|
80 |
chapter 5 has easy to follow descriptions of PPP and broadband |
|
|
81 |
(cable+dsl), with a nice walkthrough of setting up PPP connections, an |
|
|
82 |
area which isn't always straight-forward for a newbie. Firewalling |
|
|
83 |
(iptables), NAT, and other stuff likely to be of use to someone |
|
|
84 |
setting up a small network is described with sample |
|
|
85 |
walkthroughs. There is also a section on setting up wireless |
|
|
86 |
networking (with command line tools), finishing with a note on |
|
|
87 |
wireless security and the need to use secure protocols. |
|
|
88 |
|
|
|
89 |
The usefulness of this chapter (from my point of view) is limited by |
|
|
90 |
the fact that 1) the [PPP] section doesn't discuss any common errors or error |
|
|
91 |
messages at all, and 2) only [PPPoE] is covered for [DSL] users, while almost |
|
|
92 |
all DSL in NewZealand uses [PPPoA], which isn't even mentioned. |
|
|
93 |
|
|
|
94 |
Chapter 6 covers setting up network services inetd, ssh (mentions putty and |
|
|
95 |
macssh for non-unix users) as well as good strategies for checking network |
|
|
96 |
security (such as using nmap, not using clear text programs like telnet, and |
|
|
97 |
"I would usually not rail against a specific program, but Sendmail has an |
|
|
98 |
exceptionally long history of exploitation"...). |
|
|
99 |
|
|
|
100 |
Choice quote: "RPC is one of those protocols that just doesn't seem to want to |
|
|
101 |
die. ... But whenever you think that you've eliminated all need for portmap, |
|
|
102 |
something else comes up, such as File Access Montor (FAM) support in [GNOME]." In |
|
|
103 |
my opinion, this chapter had just the right level of detail for a new |
|
|
104 |
administrator. |
|
|
105 |
|
|
|
106 |
Chapter 7 briefly covers Bourne-shell scripting syntax and basics such as |
|
|
107 |
quoting, variables, exit status and conditionals, using examples that |
|
|
108 |
will be of assistance to a novice. |
|
|
109 |
|
|
|
110 |
This is followed by a quick overview of essential 'glue' utilities (sed, awk, |
|
|
111 |
xargs) although this is too light to be of any real assistance, and ends with a |
|
|
112 |
wise recommendation to learn perl, python or awk if you need to do anything |
|
|
113 |
other than 'manipulating files and commands'. |
|
|
114 |
|
|
|
115 |
|
|
|
116 |
Chapter 8 introduces users to unix development, starting with a description |
|
|
117 |
of what the C compiler does, include paths, and linking against libraries. |
|
|
118 |
Overview of make, gdb is glossed over, background on different languages |
|
|
119 |
strengths and weaknesses (perl, python and java). |
|
|
120 |
This leads into a chapter on compiling software from source. |
|
|
121 |
(tar, autoconf, configure, compiler environment variables, patch), and |
|
|
122 |
a chapter on how to build the linux kernel (which largely consists |
|
|
123 |
of pointing out useful device drivers you should include support for). |
|
|
124 |
As I said in my summary, I'm not convinced that the typical linux administrator |
|
|
125 |
needs to know all this or know about how the LD_LIBRARY_PATH environment |
|
|
126 |
variable affects dynamic loading of libraries, although admittedly it |
|
|
127 |
might be useful as a quick reference for a more advanced user, and the |
|
|
128 |
lilo and grub setup section has the right level of information compared |
|
|
129 |
to their respective man pages. |
|
|
130 |
|
|
|
131 |
The latter chapters deal with common hardware, with straight-forward |
|
|
132 |
descriptions of configuring cdwriters, usb and firewire devices (with useful |
|
|
133 |
hints for ipod owners) as well as some of the software stuff like [HotPlug] and |
|
|
134 |
[PCMCIA] configuration. My biggest complaint about this (as in earlier sections) |
|
|
135 |
would be that the examples only show things going right -- there isn't much |
|
|
136 |
help for someone getting any common error messages. |
|
|
137 |
|
|
|
138 |
The chapter on printing has a nice introduction, with a brief outline |
|
|
139 |
of the different printing systems and postscript, and why you should just |
|
|
140 |
use [CUPS], followed by a nice description of how the different parts of |
|
|
141 |
CUPS interact (PPD files, postscript and foomatic/filters), and how |
|
|
142 |
to troubleshoot each step. Even though I've set up and used cups several |
|
|
143 |
times in the past, I learned quite a bit from this. |
|
|
144 |
|
|
|
145 |
|
|
|
146 |
Chapter 13 covers the important task of making backups, although |
|
|
147 |
it makes itself somewhat irrelevant to many home and small business |
|
|
148 |
users of linux by focusing on tape drives. |
|
|
149 |
|
|
|
150 |
Chapters 14 and 15 cover networking from a user point of view (as |
|
|
151 |
opposed to the earlier chapters on network setup), going over |
|
|
152 |
samba as a server (to share your files and printers) as well as |
|
|
153 |
as a client (accessing others' files and printers), and a useful |
|
|
154 |
little section on using rsync when communicating with other |
|
|
155 |
unix machines. |
|
|
156 |
|
|
|
157 |
The last chapter feels a little out of place, but seems quite useful --- |
|
|
158 |
a guide on how to choose hardware for your purposes. I can imagine this |
|
|
159 |
being very informative for someone who doesn't already know all the jargon |
|
|
160 |
or options available --- eg [LCD] vs [CRT] display, [IDE] vs [SCSI] drives, |
|
|
161 |
PostScript printers vs others. And perhaps the most sage piece of advice |
|
|
162 |
in the chapter is to not buy hardware based on future upgradeability; |
|
|
163 |
plan on replacing motherboard, [CPU] and [RAM] together at the same time |
|
|
164 |
for price and performance reasons. |
|
|
165 |
|
|
|
166 |
---- |
|
|
167 |
CategoryBookReview |