To help you along the path to Linux certification, or just to improve your basic Linux system administration and command line skills for personal pleasure, we've created this series of tutorials. They're closely mapped to the LPI (Linux Professional Institute) 101 exam's requirements, and cover everything from interacting with hardware, package management and process control. By the time you've read all 8 parts, you should know enough to pass the LPI 101 exam, helping you to improve your CV, impress your boss and your family and friends!
PCs are complicated beasts at the best of times, with designs that desperately try to look and feel modern, but remnants from the 1980s still lurking beneath the surface. Fortunately, open systems such as Linux provide all the tools we need to get lots of information about devices and peripherals. The starting points for this are the /proc and /sys directories. These are not real, ‘tangible’ folders in the same sense as your home directory, but rather virtual directories created by the kernel, which contains information about running processes and hardware devices. What are they for? Well, /proc is largely focused on supplying information about processes (read: running programs on the system), whereas /sys primarily covers hardware devices. However, there is a bit of overlap between the two.
You press the power button on your PC. A bunch of messages scroll by, or perhaps a flashy animation if you’re using a desktop-oriented distro, and finally you arrive at a login prompt. What exactly happens in the mean time? That’s what we’ll be explaining in this instalment of our School of Linux series.
Guess how many files you end up with on your hard drive after a single-CD Debian 6 installation. Go on – we’ll wait. Well, the answer is 82,698. That seems almost unbelievable – and impossible to manage – but fortunately the Linux filesystem layout handles this vast number of files well, providing everything with a sensible place to live. You don’t need to know what each individual file does in great detail, but from its location you can determine its overall purpose in the grand scheme of things.
Installing software on Linux – that’s a doddle, right? Just fire up your lovely graphical browser, poke checkboxes next to the apps you fancy and they’ll magically be downloaded from the internet and installed. That’s all well and good for most users, but if you’re looking to be a serious sysadmin some day, you’ll need to know the nitty-gritty of managing packages at the command line, too. (Note: we’ll be covering the command line fully in a later tutorial; we’re just going to focus on a small set of utilities here.)
Some naysayers would have you believe that the command line is a crusty old relic of the 1970s, a pointless propellerhead playground which real human beings don’t touch. But when it comes to the world of a system administrator, nothing could be further from the truth. The command line, aka shell, is more important than ever – and for good reason:
It’s always there. It exists underneath all the layers of GUI goodness that we see on a typical desktop Linux installation, so even if your window manager is playing up, you can hit Ctrl+Alt+F2 to bring up a prompt and fix it.
As we discovered last issue, the command line isn’t a crusty, old-fashioned way to interact with a computer, made obsolete by GUIs, but rather a fantastically flexible and powerful way to perform tasks in seconds that would otherwise take hundreds of mouse clicks. Additionally, you can’t always rely on the X Window System functioning properly – in which case knowledge of the command line is essential – and if you’re running Linux as a server OS, you don’t want a hulking great GUI sitting on the hard drive anyway.
We’re coming towards the end of our LPI series of tutorials, with the final instalment due next month, so it’s time to look at a few advanced topics that you might come across on your system administrator travels. We’re going to kick off with a look at processes, and how you can manipulate them to your liking. There’s nothing worse than an errant process deleting important files and leaving you feeling helpless, so we’re going to look at solutions to this problem. We’ll also look at filesystems, not in terms of the contents as we covered that earlier, but in how to format partitions as new filesystem types and perform checks on them in case anything goes wrong.
We’ve come to the final part of this series, and it has been great to read your feedback. We’re really glad you’ve found it useful! Whether you’re an intermediate Linux user looking to find employment with your newfound skills, or you’re a home desktop dabbler who merely wanted to learn more about your operating system, we wish you good luck.
You should follow us on Identi.ca or Twitter