Thursday, 4 December 2014

How Linux Works

Posted by Gary Newell  |  at  23:45 1 comment

The subjects that I write about on Everyday Linux User really just scrape the surface in terms of what Linux really is.

The point of Everyday Linux User is to help ordinary people decide whether they want to make the transition to Linux and to help them make that transition.

The idea is to let the average person find out about the best Linux distributions and the purpose of those distributions.


Beyond the reviews I also provide how-to guides including tutorials for creating live USB drives, testing virtual machines and installing the Linux distributions that I review.

I also write reviews of applications such as video editors, audio players, video players, graphics programs, office suites and games emulators.

There are areas that I don't touch and that is because I, in Linux terms, am just an end user or at best a power user. I know how to drive the thing and I have a rudimentary understanding of the engine but if you ask me to change a gasket and I am likely to end up with a warped head.

“How Linux Works (2nd Edition)”, authored by Brian Ward, is a book that really shows you the inner workings of Linux. 

For those of you that bought the original version of "How Linux Works" it is worth knowing that the second edition has been completely revised and expanded with new content.
  You won't find instructions for dual booting Ubuntu with Windows 8 in “How Linux Works” and nor will you find out how to install a particular graphical environment. That is not what 
“How Linux Works” is about.

“How Linux Works” looks at the inner workings and details the philosophy of why Linux works the way it does.

The book is over 300 pages and split into 16 chapters. It starts with a chapter called “The Big Picture” which highlights the various levels that encompass a Linux system. At the very lowest level there is the physical hardware such as your hard drive and RAM. In the middle sits the Kernel which manages the memory, process and device drivers and at the top is the user space (which is the area Everyday Linux User focuses on).

The 2nd chapter gives an overview of the basic commands used within Linux such as ls, cat, awk, grep and find. This chapter also covers the Linux folder structure.

The Linux folder structure is actually a very important concept to understand but most consumers of GNU/Linux probably don't venture much further than their own home folder.

For day to day use it isn't really an issue not knowing what all the other folders are for because package managers deal with installing applications and graphical tools handle settings but when it comes to switching from one distribution to another or upgrading a distribution that doesn't provide an upgrade tool it is vital to know the folders you need to back up.

Chapter 3 gives an overview of devices, how the dd command works and provides details of udev.

The book has lots to offer on almost every aspect of the Linux architecture but there is one chapter that should make most Linux newbies add this book to their basket and that is the chapter on disks and file systems.

The disks and file systems chapter gives a really good insight into partitions and file systems. One of the most common questions I am asked is “how do I partition my hard drive?” and that is usually followed by “how big should my swap partition be and do I need it?”.

How Linux Works has a good section detailing what swap space is and the reasons it is used. By understanding how something works and why it exists you can make a better judgement as to whether you need it or not.

Following on from the disks and file systems chapter there is another great chapter detailing the often hazardous and touchy subject of bootloaders. There is a good section showing how to install and configure Grub as well as information about UEFI.

Other chapters in the book deal with networking, resource utilisation, system configuration and shell scripting.

Before the finale, “How Linux Works” briefly encroaches into the world of Everyday Linux User looking at desktop environments, window managers and applications. What sets “How Linux Works” apart in this area though is the way it approaches the subject, giving a great amount of detail about how X works and the tools available. The book also touches upon potential forthcoming technologies such as Wayland and MIR.

My day job is as a software developer, writing Windows and web applications. I am also a qualified SQL Server database administrator. One thing that I have barely touched upon is developing software for Linux, although I have developed websites using PHP and MySQL.

For the uninitiated, working out how to obtain the source, edit the source and compile the packages is a daunting and confusing experience. “How Linux Works” gives a great overview on this very subject and helps to join up some of the dots.

In the past I have found books of a similar ilk as “How Linux Works” to be quite dry and difficult to read. They are usually very good for helping to get to sleep at night. “How Linux Works” is different though. It is very well written and each subject is clear and provides a good level of information without burying you in detail.

I would be lying if I told you that I understood every word that I read from cover to cover but on the whole I gained a lot of knowledge by reading this book and I thoroughly recommend it, especially if you want to get to grips with the inner workings and stray away from the comforts of the desktop.

“How Linux Works” is available from Amazon, and all major booksellers.

About the Author

Gary Newell started the Everyday Linux User blog in 2010 and has written reviews on dozens of different Linux based operating systems. He has also written a number of tutorials.

Get Updates

Subscribe to our e-mail newsletter to receive updates.

Share This Post

Related posts

1 comment:

  1. Thank you very much for the book recommendation. I got a copy next day through Google Play. It was actually cheaper than Amazon.
    I'm looking forward to reading the chapter on partitioning. The information I have found so far online about partitioning a hard drive for Linux often omits important information, skips steps, is incomplete or is contradictory and written for an audience that is familiar with Linux at an intermediate or advanced level.
    Anyone somehat experienced with Windows knows that it's a good idea to keep the user data on a separate partition from the OS itself. In Linux, there are additional options to keep various parts of the OS on separate partitions, although not necessary for a beginner / average user. However, keeping the user data on a separate partition is still a good idea. This would allow users to install and try out different distributions without having to backup / move the user data files to an external drive and then copy / move them back to the new home directory each time. It would obviously also allow users to have several distributions installed at the same time and share the same user data.
    Please note that I'm not saying that backing up data is unnecessary. It should always be done before installing a new OS of any kind, just in case.


Feel free to comment on any of the blog posts. Please try to be constructive.

Offensive messages will be removed as will blatant adverts for misleading products and sites.

Thanks for visiting my blog

    Popular Posts

    Total Pageviews


    Enter your email address:

    Delivered by FeedBurner

    Popular This Month

    What are other people buying?

    Ubuntu Buy
    openSUSE Buy
    Manjaro Buy
    Zorin Buy
    PCLinuxOS Buy
    gNewSense Buy
    Edubuntu Buy
    Fedora Buy
    Uberstudent Buy
    Linux Lite Buy
    Lubuntu Buy
    Xubuntu Buy


    Feedburner Followers

Blogger templates. Proudly Powered by Blogger.

back to top Google