4 ms·
I think the best of these books (at least of the ones I've read) are in the $15 tier. Several of the books in the lower tiers are ones I'd recommend skipping an
by SwellJoe 10y ago
I think the best of these books (at least of the ones I've read) are in the $15 tier. Several of the books in the lower tiers are ones I'd recommend skipping and go to online resources, instead. It may not still be so, but when I last looked at the O'Reilly bash books, many years ago, the TLDP bash programming HOWTOs were more pragmatic and easy to follow (I think that's here: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html and http://www.tldp.org/LDP/abs/html/ http://www.tldp.org/LDP/abs/html/ ). I guess UNIX in a Nutshell was good in its day, but is quite old now, even in its 4th edition.
DNS & BIND is one I recommend to anyone who ever has to touch anything related to networks, because so many problems I have seen in my 20 years of troubleshooting network problems have come down to someone not understanding DNS. It's well-written, covers the how and why, and covers everything from "I have one website" to "I run a dozen data centers with thousands of zones and thousands of queries per second" (and the authors have significant experience at all of those levels).
And Essential System Administration is a classic, though a bit dated the last time I looked at it (I mean, the core services and concepts it covers are relatively timeless, but it's missing a lot of modern cloud and service-based concepts).
That said, nearly all of these were first written (their first editions) when O'Reilly was publishing incredibly high quality books; well above anyone else in the industry, particularly for OSS and Free Software topics. So, probably a good value, if you haven't already read them and don't have a good foundation of knowledge of these topics.
- simondedalus 10y agoTotally agree, DNS and Bind and Essential System Administration alone are completely worth it if you're at all interested in (using) Unix-like systems. As for being dated, I think simply reading (and understanding) Essential System Administration and then spending an afternoon looking at grub and systemd could get you pretty far in the RHEL certification cycle.
- contras1970 10y agoI have to mention DJB whenever there's a mention of DNS. Thank you PRJ, JdeBP, smarden, skarnet. You have done a shitload for me and my close (and distant) ones. https://cr.yp.to/donations.html https://cr.yp.to/donations.html PS In case you've been wondering, djbdns+curvedns is a very capable implementation of DNS servers and client-side utilities. Both authoritative server and recursive cache; each independent of the other. Plus wonderful commandline utilities for various kinds of DNS queries.
- jldugger 10y agoCapable how? Does it support IPv6 queries? IPv6 records? SRV records? How about a syntax for defining a TXT record that doesn't involve octal?
- contras1970 10y agoCapable more than enough in all the ways that mattered to me, my employers and their customers throughout this millenium. IPv6 records require a patch. Any records defined for IPv4 are supported out-of-the-box (your last question gives away you know this and the encoding used in the tinydns database). What was your point?
- jldugger 10y agoMy point is that it's feature set is not from this millennium.
- JdeBP 10y agoIt was rather spoiled by the fact that your knowledge of djbdns is not from this millennium. Felix von Leitner's work dates from back at the turn of the century, and it went into things like the NetBSD packaged djbdns very quickly.
- JdeBP 10y agoIPv6 records and SRV records were supported from the start, Bernstein himself explaining that the generic binary record format covered that. The syntax wasn't pretty, but the support was there. Extensions to the database source form that are prettier have been around for many years. I have a DNS database with this record in it, for example: +jdebp.info:2001_41d0_2_aa92_0_ff_fe23_8e7a An SRV record would be S_sip._udp.jdebp.info::sip.jdebp.info:5060:10:20 Queries over an IPv6 transport have been supported since at least the year 2000, that work having been done by Felix von Leitner. Peter Conrad built DNSSEC support on top of M. von Leitner's work.
- SwellJoe 10y ago
- groovy2shoes 10y agobash actually has a pretty good man page, too. Not quite OpenBSD quality, but far superior to most GNU man pages ("The actual documentation is maintained as a TeXinfo manual. If the `info` command is properly installed, as it should be on any installation of the GNU operating system (of which Linux is only a very small and insignificant part), then the real documentation is available via the following command: `info`. Otherwise, you're stuck with this sorry excuse of a man page."). I pretty much learned bash from the man page (and OpenBSD's ksh(1), which has enough overlap with bash to be mostly applicable), enough to get by, at first, and getting more and more advanced by checking man recurrently as I encountered problems that demanded solutions beyond my skills.
- SwellJoe 10y agoOh, gods, the smug info message. That, more than anything anyone ever said or did, gave me negative feelings about GNU. I mean, I still love GNU for the good it's done in the world, but that broken-by-design man page for every GNU project is hateful and nearly undoes all of my good feelings about GNU. Thankfully, I don't see that message anymore. I'm not sure if GNU fixed it, or if downstream distros fixed it, but sometime several years ago I stopped experiencing those moments of info rage, and man pages actually started working correctly. And, you're right. The bash docs are really good. bash, in general, is such a well-managed Free software project; I have such warm fuzzy feelings about it. bash just quietly gets better every couple of years without me ever thinking about it or realizing that it's gotten better. bash-completion is lovely, and when it's not present I feel ragey (not info level of rage, but still it sucks not having completion). It's just such a solid workhorse. And, it even works well on Windows (both the WSL version and the standalone git or Cygwin versions). It's one of those projects that I never think about because it always Just Works. I can't remember the last time I ran into a bash bug; it has to have been over a decade ago (and I do quite a bit of shell scripting, though I mostly have to code to POSIX rather than bash, because of Ubuntu).
- groovy2shoes 10y agoI'm willing to bet that Debian fleshes out the man pages. At the very least, they tend to write man pages for software that doesn't have them, so I wouldn't be surprised if they did the same for GNU software.
- blfr 10y agoa bit dated the last time I looked at it I was going to ask about that. A lot of these books are a little old, published a decade ago. How well did they age?
- SwellJoe 10y agoMany of the topics haven't changed much in a decade. BIND is the same as it ever was. Sure, there's relatively new stuff, like DNSSEC, but I suspect it's actually covered in the latest edition of DNS & BIND; for whatever reason, DNSSEC adoption has been very, very slow, so the spec was formalized like a decade ago. BIND is the reference implementation for new DNS features, so it was probably in there and probably in the book ten years ago. But, I dunno. The last edition I had was probably one or two revisions before this one. Essential System Administration is kinda out of date on several fronts. I looked at the most recent edition a year or so ago when I was thinking about writing a book on sysadmin topics, just to see what the current state of the market is. I'd probably toss about half of it, if I were charged with producing a new edition, and add several new chapters about containers (across all of the various unices), systemd, more modern interop topics (LDAP and AD, in particular), and just general updates to standard practices. But, still, it's probably in the top five books about UNIX/Linux system administration, since it is well-written and does cover a lot of ground. You could just skip what you don't need, and double check with the google for whether the material is up to date for the stuff you do. Most of the other stuff will be accurate but missing a few things. bash and vim and emacs have improved a lot in the past decade, but core competency with any of them looks about the same as it did a decade ago. New things will take some additional research, but you won't waste your time learning from an old book, because a bash script written 10 years ago is 95% of the time going to run unmodified today. Likewise, a vim user who time-traveled from ten years ago to today won't, at all, be confused by modern vim. So...they're cheap because they're old. And, you probably don't get tremendously more than you're paying for. But, they were good books ten years ago, and they're still pretty good books today.