Review of Ubuntu Hacks
How I met Jonathon Oxer
I first met the main author Jonathon Oxer at a pub after the dinner after a SLUG meeting. The conversation was dominated by one excessively chatty person (who shall remain nameless!). Also present was a an interesting fellow who worked on the clustering code for MySQL.
Jonathon was sitting there very quietly, wearing his www.ivt.com.au tee shirt. After a long time, I asked him what he was doing with Linux. He explained that he was writing a book called Ubuntu Hacks. With more coaxing, I gradually discovered that Jonathon is responsible for a string of other remarkable accomplishments, including the Debian Universe, which led to him being an author of this book, with Kyle Rankin the lead author. Well, the book in my hand has Jonathon as the lead author, and here I am writing about this excellent effort. Jonathon does not bignote himself: his work does that for him.
The Review
As a long time Red Hat/Fedora user, I have plenty to learn about Ubuntu, and this book is the right place for me to start.
It's nice that the book is based on Dapper, and has full marks for examining the newer features of Ubuntu, including things such as using Beagle.
Good Things
I was interested to learn about the Tor Project to allow people to access web sites anonymously (hack #72). I learned about the handy SwitchProxy Firefox extension here too.
On page 333 I was introduced to the useful two-way file synchronisation tool Unison by one of the US authors. How do I know it wasn't written by Jonathon? Because, as anyone who has been to California knows, everything there is "awesome" (pronounced so it rhymes with "possum", with a grunting emphasis on the first syllable).
All the good things you might expect are here:
- using the device-mapper to create an encrypted filesystem (hack #70).
- There's a whole chapter on virtualisation, including Xen and Wine. Thankfully, we don't need to install Google Earth under Wine anymore now that it is available for Linux.
- On page 349, the book also explains how to run IE 5.0, 5.5 and 6.0, essential for all web developers who want to earn money.
- Hack #46 provides a good reference for setting xorg.confup a mouse with many extra buttons.
- There is good discussion of importing and setting up fonts (hack 53#)
- Hacks #62 and #63 talk briefly about creating and building source .deb packages.
- There is quite a nice description of using Firewall Builder (hack #69).
Some things I learned from this book
You may wonder at my ignorance, but I found many things from this book that I did not know before.
- You can hide or show Nautilus desktop icons by editing using the configuration editor nautilus->desktop and then choosing which icons you want visible (hack #21).
- Customise your right-click menu with templates in ~/Templates, and you can execute scripts from that menu if you put them in ~/.gnome2/nautilus/scripts/ (hack #24).
- Cups has a PDF printer (hack #26).
- The Drivel application helps you do offline blogging (hack #27), explained here.
- acidrip, a Gtk2::Perl wrapper around MEncoder, is a good alternative to dvdrip (hack #35).
- tovid is a useful set of tools for authoring DVDs (hack #36).
- Some digital cameras store camera orientation in the exif data, and gThumb can use this to rotate all photos automatically (hack #37).
- You can activate those extra, non-standard keys on your keyboard using the hotkeys package, with help from the xev (X events) utility (hack #48).
- The QSynaptics program can enable exquisite control of many things through the mouse touchpad on a laptop (hack #49).
- Apt-cacher is a useful CGI script that caches package updates for the other machines in your network (see hack #61)--it is a simpler alternative to using squid. However, the sources.list files on the other clients need to be changed, whereas they don't if you use squid (see hack #98) as a transparent proxy.
- I was very happy to learn many important things about udev (hack #83), such as how to get removable devices always labelled the same way so they are always mounted in the same place.
- The hitherto unheard of sshfs package allows mounting remote directories via ssh (hack #84).
Some Criticisms
The hacks are a bit uneven in their depth: "hack #14" summarises applications (Firefox, Open Office, ...) seems to me a bit of fluff, while hack #4 goes into details of creating a customised Live CD. That's probably okay; there's enough substantial information here to keep me interested.
I was disappointed by the chapter on security, and found fewer things there that are new to me. Perhaps I was spoiled by other parts of the book.
Stupid Nit-Picking Section
No review is complete without arguing with some minor nit-pick,
so, to bolster my flagging ego, I point out that the statement on
page 14 that "You can't perform this step using sudo"
is wrong; you can redirect with sudo sh -c 'command >
file'
.
It is remiss to mention using tail -f logfile
on
page 320 but not tail -F logfile1 logfile2 ...
I was disappointed to learn that compiling a kernel "The Ubuntu Way" (p. 302) requires you to do so as root.
Mounting an SMB file system (p. 294) assumes there is no username/password involved.
The discussion of using GPG in hack #71 skirts around actually integrating its use with email.
Hack #52 seems to indicate that using the proprietary ATI fglrx driver is better than the free radeon driver (the free driver now has better performance for the 9250 and earlier cards according to June's SLUG talk), and also suggests downloading the driver from ATI, rather than installing a packaged driver with apt-get. I would be surprised if no one has packaged the proprietary fglrx driver.
I still haven't really worked out how you sign and verify .deb
packages, and the little bit on page 247 tantalises me rather
than letting me understand the Ubuntu/Debian equivalents
to rpm -K rpm-package-files
and rpm --addsign
rpm-package-files
. Well, there is a brief discussion
of apt-keys and /etc/apt/trusted.gpg
on
page 254.
The strange example on page 251 has poor old jorge deleting all files in his own home directory except mp3 files: jorge@ubuntu:~$ sudo find . ! -name '*.mp3' -exec rm -f \{\} \;
I was hoping that there would be some really simple way to do an network install of Ubuntu without a CD, like I can with Fedora. Well, I am sure you can, but the method explained in hack #11 using netboot and PXE is much more work.
The Hearty Recommendation
I recommend this book to people who want to learn more about Ubuntu, but I learned many things that are useful with other distributions as well. And for all you Californians, it's, well, Ossum.