This chapter aims to help readers become familiar with the basics of Linux, an operating system that is becoming increasingly common in networking circles. You might wonder why we’ve included a chapter about Linux in this book. After all, what in the world does Linux, a UNIX-like operating system, have to do with network automation and programmability?
In looking at Linux from a network automation perspective, there are several reasons why we felt this content was important.
First, several modern network operating systems (NOSes) are based on Linux, although some use a custom command-line interface (CLI) that means they don’t look or act like Linux. Others, however, do expose the Linux internals and/or use a Linux shell such as bash.
Second, some new companies and organizations are bringing to market full Linux distributions that are targeted at network equipment. For example, the OpenCompute Project (OCP) recently selected Open Network Linux (ONL) as a base upon which to build Linux-powered NOSes (Big Switch’s Switch Light is an example Linux-based NOS built on ONL). Cumulus Networks is another example, offering their Debian-based Cumulus Linux as a NOS for supported hardware platforms. As a network engineer, you’re increasingly likely to need to know Linux in order to configure your network.
Third, and finally, many of the tools that we discuss in this book have their origins in Linux, or require that you run ...