Book Review: Tuning and Customizing a Linux System
Even though its title gives the impression, the goal of this four-hundred-page book is not to explain how to build a GNU/Linux distribution from scratch. For example, there are no step-by-step explanations of how to tune a kernel or the X Window system, nor is any instruction given for how to build from scratch a customized KDE or GNOME desktop. The issues discussed at length, however, are clearly stated on the cover: "give insight into what happens behind GNU/Linux scenes", "explain the architecture of Red Hat, Slackware and Debian", "give guidelines and best practices for installing several types of packages".
All the source code written for the book is available on-line, in the Downloads section of the Apress Web site. The book says that "You will need to answer questions pertaining to this book in order to successfully download the code", but that was not the case for me.
The material is divided in four sections, and the first one simply provides a short presentation of the GNU/Linux movement, free software and open-source concepts. The second section illustrates how a GNU/Linux distribution is created and thoroughly analyzes the three distributions mentioned above.
The first chapter of the second section, which can be read on-line on the Apress site, introduces the necessary concepts and definitions. Following this, and for each chosen distribution, the author presents the differences between its kernel and the official one and discusses the package management system used. The latter element, being one of the things that make the real difference between two distribution, is covered much more exhaustively than the former.
The programs available for installing and upgrading packages are introduced through examples, together with their main command-line options and the related front ends, where available. A nice table is included that lists side by side, for each package management operation, the complete rpm (Red Hat) or dpkg (Debian) syntax.
The filesystem layout is explained directory by directory, making clear what is the content and purpose of each. All deviations from the Filesystem Hierarchy standard are presented.
The startup scripts also receive extended coverage, and summaries are given of the differences between the SYSV and BSD startup systems. The reader learns how they interact with each other and how they must be written and installed to be integrated with the rest of the system, depending on the distribution.
The other cornerstones of all GNU/Linux system are presented as well: system libraries (and the importance of their versions), the role of X and, very briefly, the Linux Standard Base. The chapters dedicated to each distribution also lists their most popular derivatives.
This second section ends with a useful check list titled "Learning a New Linux Distribution in Ten Easy Steps", and it sums up in one page everything a person should look at when switching from one distribution to another. The only tip missing is how easy are they to upgrade.
The third section of the book is titled "Installing Software", and it begins with an introductory chapter that lists the necessary steps, from choosing between source or binary installs to configuring the user environment. The author then chooses six packages, and for each one devotes am entire chapter to explaining how to install and configure it. This section is really interesting because each tool belongs to a different category, as far as building and installation are concerned. The author makes clear which actions are necessary only for the chosen application and which ones are best practices for all packages of the same kind.
The fourth and final section of the book explains how to build three real world systems: a multimedia capable desktop, a corporate software development workstation and a network firewall. The case studies choices are good here, because together they cover almost every possible kind of problem. The multimedia desktop chapter is probably the least satisfying: it does list all the components and issues that the reader would encounter in building such a system, but it gives little more information than that.
The hardware support part of this chapter, however, stands independent and is worth reading. It synthesizes clearly, without going in technical detail, the Linux way to support ZIP drives, USB devices and, through SCSI emulation, IDE CD-ROM burners.
The corporate workstation case is more useful, as it covers criteria for local versus network software installation, (again, briefly) VMware and what needs to be done in order to develop J2EE applications.
The network firewall chapter is the best of this section: it includes several diagrams and listings, all carefully explained, and discusses all the steps and alternatives to run a Linux-based firewall on general purpose hardware. Intrusion detection systems, booting from read-only media and peculiarities of dial-up firewalls are covered, as are tips on firewalling wireless LANs and building VPNs.
Articles about Digital Rights and more at http://stop.zona-m.net CV, talks and bio at http://mfioretti.com
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Nice article, thanks for the
1 hour 37 min ago
- I once had a better way I
7 hours 23 min ago
- Not only you I too assumed
7 hours 41 min ago
- another very interesting
9 hours 34 min ago
- Reply to comment | Linux Journal
11 hours 27 min ago
- Reply to comment | Linux Journal
18 hours 21 min ago
- Reply to comment | Linux Journal
18 hours 37 min ago
- Favorite (and easily brute-forced) pw's
20 hours 28 min ago
- Have you tried Boxen? It's a
1 day 2 hours ago
- seo services in india
1 day 6 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?