Linux Server Hacks 146
Linux Server Hacks | |
author | Rob Flickenger |
pages | 221 (including index) |
publisher | O'Reilly |
rating | Very Good |
reviewer | Wee |
ISBN | 0596004613 |
summary | 100 tips and tools useful for those who work with Linux servers (and workstations). |
About the book
LSH is not just about the Linux operating system, per se. Despite the title, it spends more time covering applications which can run on Linux than it does the Linux operating system itself. It is composed of 100 "hacks" all grouped together into like areas, such as "Monitoring" and "Networking". The style sort of reminded me of O'Reilly's Cookbook series, and I find it to be an easy format to read. Indeed, if the book was larger, it could have easily been called "The Linux Server Cookbook."After a somewhat cheesy forward by ESR and a recognizably standard O'Reilly preface, LSH starts out the hacking with a section called "Server Basics," and it's here that most of the Linux-specific tips are. You get to learn how to pass args to LILO, stroll through /proc, tweak the Linux kernel, play with hdparm and so forth. This chapter left me thinking that this was all stuff every admin should know, and not much of it was new to me (if you've used Linux for more than a couple years you probably won't find much here that you haven't at least heard about before). If you are new to Linux however, then this chapter will be valuable even if you stop reading the book right at chapter two.
If the book had to be divided into two parts, the first chapter would be titled "Part 1: Linux the OS." The balance of the book would then be called "Part 2: Linux Applications." Subsequent chapters each tackle one area of services or applications that run on Linux, such as CVS or rsync or ssh, and it's very easy to find something interesting purely by looking through the table of contents. The book's grouping of hacks into like topics helps, I think, because you can easily pick out what you want to see more of without having to wade through that which you don't find terribly interesting. For example, if you only deal with your personal Linux workstation, then you can easily disregard the "Information Servers" chapter without missing other valuable content. I personally found the "Networking" and "Monitoring" chapters to be the most useful. The "Backups" chapter was interesting, the "Scripting" chapter not so much. Each chapter starts with a summary of what's to come, so if the table of contents isn't enough to find the good bits, then just reading those summaries can give you an idea of whether you'll find anything useful to you.
The book includes a fairly complete index, but I didn't use it very much. I found the table of contents, with its list of each hack's title, to be useful enough. I suspect that when I pick the book up a couple months from now looking for something I had read about I'll get more use out of the index.
What's to like
As I mentioned above, the book is very easy to read. Flickenger has a "conversational" writing style I found easy to parse. If you hang out with Linux geeks very much, you'll recognize his way of communicating and easily assimilate what he has to say. His advice is sound, his skill level high (the same can be said for the other contributors as well). The book's layout and organization made it easy to find specifics and will ensure that it gets used as a reference later on.
You might be wondering about the code samples in this book: there are a lot of them. I didn't check, but I think each hack had at least one CLI listing or bit of example code. This made the book much more valuable than if it simply told you want to do; "seeing" the hack in action helped tremendously. In fact, I'd have felt disappointed if Flickenger hadn't included as many examples as he did. Most of the code is Perl, with some shell mixed in. The example code is well written and properly placed, so if you don't know Perl or shell you'll still be able to make use of the hack.
Each hack can stand on its own. This makes the book easy to read, and ensures its place as a reference. I didn't read the book sequentially at first, but I went through the whole thing regardless. Some hacks refer to other hacks, and I found myself reading the book as if it was hypertext, as is mentioned in the preface. Again, this also means less time spent reading that which you already know (or find boring) and more time spent thinking about something more useful.
The book is distribution-agnostic. I couldn't find anything that would upset a Debian user or would flummox a Mandrake fan. While this might have more to do with the bulk of the hacks being on the application level, I found the lack of an axe to grind refreshing nonetheless.
The book doesn't assume l33t-ness nor coddle the reader. It assumes you know your stuff and are a professional, and in doing so finds its voice rather well. This gave me a sense of admiration for the author and allowed me to absorb the knowledge being imparted with ease.
Although not specifically about the book, O'Reilly has set up a website devoted to their "Hacks" series of books. Users can send in their own hacks, which helps flesh out the content in the print edition.
What could be better
ESR's forward, titled "How to Become a Hacker," was just silly. The forward added nothing to the book, and I find the whole "zen of hacking" schtick tiresome after only a short while. Yes, "hack" is a cool word, but one which easily suffers from overuse: it suffers a lot in ESR's forward. The forward also contains a plug for ESR's book, which I thought was somewhat tacky.
LILO is referred to in several places, but there is not a single mention of GRUB. Where the boot loader was being discussed, an "If you use GRUB, you'd want to do it this way..." aside would have been welcome.
The "Information Servers" chapter is very large, but only deals with BIND 9, Apache and MySQL. If you don't work with any of these three, then fully one quarter of the book will be useless to you. I would have really liked to see mail servers (especially Postfix and Qmail) mentioned, and including tweaks for an ftp daemon would have made the book that much more valuable. I would have also liked to see sshd covered; the book contains only ssh client hacks. Finally, a hack or three about PostgreSQL would have been nice.
The "Scripting" chapter could have been replaced with a "Security" chapter. There are only 4 scripting hacks, and they aren't all that useful. Although the book has a security-conscious mindset running throughout it, I felt the lack of a section devoted specifically to security was a glaring omission. In fact, I almost didn't buy the book when I noticed that the table of contents didn't list a security chapter. It was only after reading a hack or two that I could see security was going to be mentioned.
Another area I expected to see was one with hacks involving package management. A whole chapter dealing with this topic would have certainly been welcome to users of Red Hat, SuSE, et al. I suspect that such a chapter might have broken an unwritten editorial rule about remaining distribution neutral, however. And Debian users would have found anything beyond an apt-get one-liner superfluous, so I can forgive the "omission."
Although the title of the book is "Linux Server Hacks," someone using Linux as a workstation would also find the book helpful. For example, Flickenger includes two hacks on burning CDs, a hack on displaying the load average in the title bar of an xterm window, and so on. I got the impression that the server-centric focus wandered into desktop land quite a bit. Because of this, I thought that some hacks involving window managers should have been included. I've tweaked vnc to run blackbox on more than one occasion and expected to see things like that mentioned. This is a niggling complaint, however.
I found myself wishing the book was longer. At US$24.95 the price was right, but I would have rather paid US$34.95 for 150 total hacks.
Finally, the book looked somewhat rushed. There were more than a couple formatting errors (typeset characters visible, etc) sprinkled throughout, and all the code examples were unindented; it was as if all the tabs were stripped out by the printer. While the lack of indenting might confuse those who don't know Perl or shell, the only "real" consequence of this is that the lack of tabs in the makefile examples on pages 27 and 28 prevent them from working.
Summary
Based on this review, it might seem that the bad outweighs the good where Linux Server hacks is concerned. I don't think this is the case, and I would caution anyone against taking that view (rather, I'd have them glance through the book at the bookstore before deciding not to buy it). I think it should be noted that given the usually high quality of O'Reilly titles, it's far easier to spot what could be better than what is likeable. Like the old saying goes, nobody notices a clean kitchen unless it isn't.
None of the "bad" things would keep me from recommending this book, and I found Linux Server Hacks to be a very useful -- both as a future reference and as "thumb through while waiting for the train" sort of read. There's not much in it which is "new", and most of the hacks would border on common sense for the seasoned sysadmin (although I'd be willing to be that even the most grizzled admin would find something new or interesting). Indeed, nearly all the information in the book can probably be found on the web somewhere. It is nice, however, to have everything collected in one place and organized into specific groups. Linux Server Hacks would make a good addition to the bookshelf of anyone, regardless of their skill level, who finds themself administering a Linux machine, be it a server or workstation.
Table of contents
- How to Become a Hacker
- Preface
- Server Basics
- Revision Control
- Backups
- Networking
- Monitoring
- SSH
- Scripting
- Information Servers
You can purchase Linux Server Hacks from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
t is also not a book which will teach you (Score:3, Funny)
Then what good is it!?
Re:t is also not a book which will teach you (Score:2, Insightful)
Then what good is it!?
God I hate seeing Comments like this on here...
But i have noticed a few recent stories that use the term "Hack" correctly... Its the media that a corrupted the meaning of Hack to breaking into systems.
Re:t is also not a book which will teach you (Score:3, Funny)
how many hack books do i need to buy? (Score:4, Insightful)
Re:how many hack books do i need to buy? (Score:5, Informative)
Our company tried the safari thing for a while. It's very sweet, many many books online covering a wide variety of topics.
You pay for the books you use, and you can add / remove books at your leisure. Some books are worth more than others. It really makes a lot of sense.
Not sure what the costs are for individual use. Considering their "group" rates, I'd say their individual rates are probably very fair.
Personally, I don't like online books too much. I'd rather be able to kick back and drink a beer and read. Can't do that with a 19" CRT.
Perhaps when web-pads are more mainstream (and thinner and lighter)...
Re:how many hack books do i need to buy? (Score:2)
What type of nerd are you?!
A weak one!
Re:how many hack books do i need to buy? (Score:1)
Cant.... breath...
Re:how many hack books do i need to buy? (Score:5, Insightful)
But you can't use the code snippets directly from a paper book. And dead trees can't be grepped.
Re:how many hack books do i need to buy? (Score:2)
Uh-huh. You either run them through a meatware interface between the tree and the cpu, or you can try your trusty scanner + ocr...
Not true; two different granular greps are available "Table of Contents" and "Index."
Dead trees can do one thing that digital formats cannot: run on any meatware interface, without power requirements. Also, dead tree formats remain viable long after the compiler is abandoned. Take f
+1 Insightful [no text below] (Score:1)
Re:how many hack books do i need to buy? (Score:3, Funny)
There goes my social life.
Re:how many hack books do i need to buy? (Score:2)
If i just wanted to read WHOLE BOOKS, then it would be a good deal. But if i just want to search some serious hacks, tweaks and howtos, its not the best method or price. I would be paying for stuff I didnt really want to read much on (maybe 1 chapter or less).
Their pricing page:
Starter - 5 slot Bookshelf $9.99 per month
Small - 10 slot Bookshelf $14.99 per month
Re:how many hack books do i need to buy? (Score:1)
Two comments:
1. I believe the 30-days limit is because they don't want uber-scripters to check-out a book for a day, download it, and check-it-back-in, then grab another, one can, should one need to, always subscribe to more books to have access to a bunch of 'em.
2. I also believe they did-away with that limit awhile ago, though I don't know if they did the implementation of that ( they e-mailed us, but I'm not a sufficiently heavy user *cough* maybe I should rephrase that, in our New World Order .. not
Re:how many hack books do i need to buy? (Score:1)
Re:how many hack books do i need to buy? (Score:1)
http://slashdot.org/article.pl?sid=03/03/16/143
Re:how many hack books do i need to buy? (Score:2)
Re:how many hack books do i need to buy? (Score:3, Insightful)
Amen, especially 221 page stuff like this, with half the content redundent for experienced admins. I would rather visit the site, print out 20 to 30 pages of the really good stuff, put that in my magical book of tricks (old 3 ring binders, dozens based on different daemons) and use it that way.
I subscribe to other sites (including pay) and strongly prefer that method to get my info. I will still buy books, but stuff
Re:how many hack books do i need to buy? (Score:3, Informative)
Re:how many hack books do i need to buy? (Score:1)
Actually I can think of at least on other reason to buy a book: inspiration. Sometimes it's take a moment to truly appreciate how a new tool (or an unthought of use for a tool) can be integrated into your p
Perhaps the most important issue... (Score:2, Funny)
Re:Perhaps the most important issue... (Score:1)
Spend a couple of days looking at it, and you'll be able to sort your files into categories based on the receiver's flavour of kink. At one time I could find interracial furry midget porn out of a userbase of 8,000.
And yes, the black dudes were as big as their arm. Pity they were midgets.
Subjective computers... (Score:1)
If you save me time you make me a better admin (Score:2, Insightful)
More time for recreation makes me a better admin. More time for automation and documentation makes me a better admin. And, of course, more time for Slashdot makes me a better admin.
Another book to consider (Score:5, Informative)
UNIX Papers
for UNIX Developers and Power Users
ISBN 0-672-22578-6
Like I said, it is old, but sed, awk and C haven't changed over the years. This has some great information on shell scripting, NFS, and email.
Its available at safari.oreilly.com (Score:5, Interesting)
Good book. (Score:2, Informative)
Using RCS/CVS to track revisions to settings files is just an example. I've seen far too many
esr's foreword (Score:1)
I remember coming across the hacker-howto [catb.org] years ago, when I was a windows-only newbie, and it actually inspired me to
Great Book (Score:1)
Bought it & would recommend it! (Score:5, Interesting)
Hack dedicated to /. (Score:5, Informative)
sounds like... (Score:1)
There is one. (Score:1)
www.tldp.net
Dupe! (Score:2)
du -cks | sort -rn | head -n 10
Pretty simple, yet really effective. This book is
Re:Dupe! (Score:4, Funny)
Re:Dupe! (Score:1)
*ducks*
Re:Dupe! (Score:2)
the correct way to run that would be du -cks
But that isnt verry accurate, smart users will hide files in
A proper admin would check the filesystem quotas, or in a pinch:
for user in `cat
Then again,
Forward? (Score:1, Redundant)
Re:Forward? (Score:5, Funny)
But you see by your own posting how easy it is to mix up the words, even when you know what they mean.
The 'word' which goes before is the Foreword! (Score:5, Informative)
Why the heck would it be called 'forward'? Do people who make this mistake think it is the suggested reading direction?
Re:The 'word' which goes before is the Foreword! (Score:3, Informative)
In addition, a creative person challenged on this issue might notice that "foreword" dates to 1842, whereas "forward" d
Re:The 'word' which goes before is the Foreword! (Score:2)
1) 'Forward' is primarily an adjective or adverb and rarely used as a noun. The definition cited above is for the adverb/adjective whereas here it is clearly used as a noun. 'Foreword' is unambigiously a noun.
2) Forword describes the purpose of the section, not the placement! The same is true of other parts of books: Table of Contents, Chapter, Index etc. There is nothing wrong with consistency!
Re:The 'word' which goes before is the Foreword! (Score:2)
Because the dumbass writer proofreads the review after he's submitted it?
Do people who make this mistake think it is the suggested reading direction?
No?
-B
Re:The 'word' which goes before is the Foreword! (Score:2)
Try not to spontaneously combust while doing so
up front (Score:2)
Who said a person made this mistake? How do you know it was not the auto-correct feature of M$ Word? Be glad the M$ meat heads don't give books foreskins instead.
Foreskin - a protective collection of words at the start of a book. Some people think of them as superflous, others call them Introductions.
How's that for forward of me?
Ever heard of a book so up front?
The direction depends on it's state.
OK, I'm going to stop mow,
Hanging out with geeks (Score:5, Funny)
You know that if you start using words such as 'parse' in every day language, you probably do hangout with geeks very much!
(and they probably find words such as parse easy to communicate with, too)
Re:Hanging out with geeks (Score:3, Funny)
I hate parse errors.
Re:Hanging out with geeks (Score:2, Funny)
Gosh the negativity... (Score:3, Insightful)
Yeah, you might want the book if you had not already thought of some of these tricks. That is the point of reading and learning, duh!
Give me a break. Every admin knows there are little things that can be automated and worked from a base install to help them get through the day and get their stuff done no matter what OS you admin.
I propose this to the community. What is the neatest hack/trick that saves time from your day in terms of programming or system administration?
BTW, any tricks I don't care if they are straight commercial Unix, Linux or Windows.
Re:Gosh the negativity... (Score:1)
I propose this to the community. What is the neatest hack/trick that saves time from your day in terms of programming or system administration?
I've found that much time is saved by combining Perl knowledge and the Vim text editor. Perl one-liners are great, too - esp with the "-i" switch. For example, you wanna replace all instances of "host1" with "host6" in a file named "file.txt" - perl -pi.bak -e's/host1/host6/g' file.txt - you end up with the original file in "file.txt.bak" and an edited "file.t
Re:Gosh the negativity... (Score:1)
Couldn't you do this with normal shell commands, like cat and sed?
Re:Gosh the negativity... (Score:1)
The thing about "there's more than one way to do it" is great - if there's no perl then there's probably at least sed on a system. The file could be piped through ed or any number of text editing programs, too...
Re:Gosh the negativity... (Score:2)
Crontabs do not have the ability to run commands say, every other week, or every other month. A simple way to do this is with the following shell script (I'll call it script.sh):
--- begin script ---
#!/bin/sh -xv
FLAGFILE=/path/to/flag
if [ -f $FLAGFILE ]; then
rm -f $FLAGFILE
exit 0
else
touch $FLAGFILE
fi
call command(s) to run here
--- end script ---
Then, in the crontab, enter something like the following:
0 0 * * 1
Re:Gosh the negativity... (Score:4, Informative)
> or every other month
Sure it does. Atleast the one that comes with linux (GNU?)
The time fields are: min hour day month day-of-week
* means any/all of course.
You can do
* * * 1/2 *
Runs on the ODD months, make it 2/2 to run on the even months.
0/10 * * * *
Runs every 10 mins where the last digit is 0 (00 10 20... 50)
Or in the case of backups or something, run it every two hours between 9pm and 5am (9pm, 11pm, 1am, 3am, 5am - non business hours) and also run it once durring lunch (noon)
0 21-5/2,12 * * *
Ok so thats not how you would want to run backups I'd imagine, but you get the idea of the timing commands atleast
In the last field you can put a day (IE mon) and say
I'm not really sure if mon/2 would do every other monday, or every other day starting the count on monday (which is what i think)
If that is the case, I would hope mon/14 would work (On monday, every 14 days/2 weeks) but I have never tried that.
If your backup script does any logging, perhaps you can create a simple script that logs when it runs to a file, and add it in crontab as
(assuming midnight) 0 0 * * mon/14
no doubt just a #!/bin/sh and date >>
To do every other week using the day of week may not be possible, so your code example is still valid. But that is only because the number of days in a month very and dont fall on any obvious boundrys.
The only two examples ive ever used were twice a month (1st and 15th) [0 0 1/15 * *] and every other day-of-week that depends if the day is even or odd. This is close to what you want, but unfortunatly as each month changes, if there are an odd number of days in the month, the order changes. Only when there are an even number of days in the month does next month continue on the same pattern.
[ 0 0 2/2 * mon] for example.
Hope that helps abit
Re:Gosh the negativity... (Score:2)
Re:Gosh the negativity... (Score:2, Interesting)
Nicodemus
Another Review (Score:4, Informative)
Those who love UNIX (and UNIX-inspired operating systems) will surely adore Linux Server Hacks by Rob Flickenger. For decades, a mysterious sect of bearded wizards has dominated the inner sanctums of our network infrastructures, inspiring the awe of onlookers by crafting clever scripts and piping output in ingenious ways most of us never even thought of. This small but marvelous book attempts to steer apprentice wizards in the noble direction of clever system administration, with examples taken from experience in O'Reilly's own LAMP [onlamp.com] networks.
The book begins with a refreshing introduction (by esr [catb.org]) detailing what it means to be a hacker. No, not the hax0ring w4r3z d00dz [honeynet.org] of frequent media attention, but the aforementioned bearded variety who spend most of their waking effort forging uncommon techniques for solving otherwise dull problems. Kudos to Mr. Flickenger (and O'Reilly) for not only acknowledging the difference, but celebrating it.
As the title would indicate, the audience of this book is the administrator in charge of a server--that is, a Linux box performing only a couple of dedicated tasks, probably of a network-oriented nature. Although Linux enthusiasts from the desktop realm are not part of the intended audience, they will almost certainly pick up a thing or two from the material anyway.
The book is organized into the following sections:
I think the real magic of this chapter isn't necessarily the tips themselves, but the creative process behind them; the author is demonstrating a methodology for dealing with common problems by introducing clever solutions. This will ideally inspire the reader to deal with other problems in the same creative manner.
Re:Another Review (Score:1)
[1] No, I don't work for O'Reilly. I do think their books are excellent, however, and would love to see their Safari [slashdot.org] service thrive!
I believe ... (Score:1)
This provides a segway into using CVS for controlling revision of large software projects.
in nead of a book recomendation! (Score:1)
Re:in nead of a book recomendation! (Score:2)
My recommendation to you is to not just try and learn, but focus on one aspect and figure out how to do it. I'd suggest you first check out Linux from scratch: http://tldp.org/LDP/lfs/html/ [tldp.org]
I mean if you want a web server, download apache and play with it. Find the doc directory for your distribution and read! There is lots of information on web pages, just read a lot. Pick up a book on UNIX and learn about how files are structured, learn about links. Learn how to use ssh and when in doubt
Re:in nead of a book recomendation! (Score:1)
Re:in nead of a book recomendation! (Score:2)
Re:in nead of a book recomendation! (Score:1)
Re:in nead of a book recomendation! (Score:4, Informative)
For learning how to program on Linux there is "Begining Linux Programming" from Wrox. From O'Reilly and from other publishers, get books on scripting languages such as Perl, Python, or Tcl; a scripting language is a very valuable thing in the *nix environment. Don't forget shell scripting for that matter, Kernighan and Pike have the definitive work, "The Unix Programming Environment" on Bourne Shell scripting among other things and you may also want to get a book that covers Bash too. Also if you have deep pockets, anything by W. Richard Stevens is a good reference on Unix and TCP/IP network programming.
huh? (Score:3, Insightful)
That sentance does not make any sense. If it saves you time, then wouldn't you be a better admin?
Re:huh? (Score:3, Funny)
I don't do backups of any of my machines. The time I save makes me a better admin that someone who spends time working up a backup/restore plan.
-B
Re:huh? (Score:1)
However, from reading the article blurb, I (possibly incorrectly) assumed it meant it would save you time in doing the things that you are already doing. I think you already know this, but good point anyways.
Its the little things.. (Score:2)
Rus
Hard to find good books (Score:2)
I hate to sound 'l33t' but I wish there were more books for people who has used linux for a long time. It's hard to aquire any new knowledge when most books are targeted at people with little experience.
Of course there is a lot of good places on internet to get good tips and advice but that defeats the whole point of a book.
Re:Hard to find good books (Score:4, Informative)
Linux in a Nutshell (3rd ed.). Hands down, the best linux reference on the planet.
Unix Power Tools (2nd ed.). The best unix (linux) book ever made. It's a bit heavy on tools that aren't overly popular on linux (csh, etc.) but many of the articles are superb examples of the unix problem solving paradigm. With all the hyperlinks in the margins, it's nearly impossible to read more than a couple of pages in a row.
Speaking of compulsively buying O'Reilly books, I recently picked up Linux Server Hacks and Building Secure Servers with Linux, by Mick Bauer. Can't comment too much on the former, because I'm still reading the latter. Always liked Bauer though. Much common sense.
Re:Hard to find good books (Score:2)
But one good thing about being an advanced/power user is knowing how to get more knowledge. It's a positive feedback loop. Besides, advanced usually means specialized, and making lots of different books with small market for each one is not very good business-wise.
This sort of stuff is better online (Score:2)
Yet another review (Score:1)
On the other hand, I added yesterday "Unix Power Tools", to my safari bookshelf and this one really absolutly rocks ! Not
Re:You'll need a book (Score:2, Insightful)
Yea, everyone knows that Windows users are the KeWl3sT anyway, right?
Idiots like you are just as bad as the Windows bashers. I use both. I like both. Both piss me off in some ways, delight me in others. Anyone who can't see value in both are just blind or stupid. Now go crawl back under your rock and die a miserable death.
Punk.
Re:You'll need a book (Score:1)
Re:You'll need a book (Score:2)
Perhaps you're not getting as much from a Windows OS package as a Linux Boxed set. For a fraction of what Windows costs, you can get RedHat (or any other distro) that comes with the OS, lots of software, and a big manual that explains a lot of things. Windows..all you get is the OS CD(s) and a booklet
Re:You'll need a book (Score:1)
Re:I was too kind (Score:1)
That reply warrants a fan designation!
I stand corrected.
Re:I was too kind (Score:2)
How was the word abused? A pejorative, as you know, is "a disparaging or belittling word or expression". It always seemed to me that "hack" is used to describe criminals and script kiddies, which is exactly the opposite connotation the foreward would have you believe. I've also seen it used to describe "hacks" which were shoddy pieces of work and in no way clever.
However, there is much that is stylis
Re:I was too kind (Score:1)
Re:I was too kind (Score:1)
Or, moreover, that I should probably get my flames peer-reviewed before I spout them out!
Re:Maybe I can save some people some time (Score:2)
You know that one can use a pejorative, right? Something can be called a pejorative? That it can be a noun as well as an adjective? There's more than one definition for the word?
Shit, why am I bothering to respond to thick-headed ACs...
-B