Words to go: Learn basic Linux terminology
What is a distro? What does swappiness mean? How are Xen and KVM different from one another? Familiarize yourself with basic Linux terminology for beginner users.
The Linux operating system is an open source, community developed OS for computers and servers, and is one of the most widely used and supported OSes. It manages hardware resources and applications and provides a user interface for admins and developers to use.
For admins new to using Linux, some of the terminology might seem daunting. However, familiarity with the key Linux terms can help anyone better understand this commonly used OS.
A Linux distribution -- or distro -- represents a specific version of the Linux OS packaged with other components, including installation programs, management tools or other software. Linux distributions are designed for easier deployment than the base, open source version of Linux, as they eliminate additional manual completion of the OS. Each Linux distribution targets specific users or systems, and most come ready to use.
Popular Linux distros include Red Hat Enterprise Linux (RHEL), OpenSUSE, Ubuntu and Oracle Linux. Certain commercial distributions charge users for support, but the open source nature of Linux prevents vendors from charging for Linux itself.
Linux swaps pages based on inactivity rather than waiting until all available memory is used. Linux swappiness describes the rate at which a Linux kernel can move pages into and out of active memory. Users can fine-tune swappiness by adjusting the swappiness parameter, set on a scale from anywhere between 0 and 100. Linux servers default to 60 automatically.
A Linux stream refers to data traveling from one process to another in a Linux shell. Create a Linux stream by entering characters from a keyboard. Edit the stream by editing stream text with Linux commands like sed. Characters in streams are either standard input or standard output from a process or file. From the command-line interface, pipe and redirect commands control input and output streams.
Xen is the open source hypervisor the Linux kernel uses by default. It comes with all Linux distributions, and consists of several different parts. Domain 0 refers to the host OS, which accesses the drivers and handles coordination. Domain U refers to other VMs running on Xen. It offers two varieties of virtualization: paravirtualization and full virtualization. Paravirtualization runs a modified version of the OS with more efficient communication between OS and hardware but requires a modified guest OS that many vendors do not provide. Full virtualization uses unmodified guest OSes and requires the CPU to support virtualization extensions.
KVM is another open source hypervisor for Linux distributions. As opposed to Xen, KVM has the Linux kernel act as the Type 2 hypervisor, which creates VM environments and coordinates processor memory, hard disk and networking resources through the host OS. It works with a variety of guest OSes and can be installed alongside the Linux kernel.
Rsync is a software utility for Linux users that copies files and directories from one host to another. It transfers files incrementally and provides offsite backups by syncing data outside of a firewall. Use it to update directory trees and file systems or to preserve links, file ownership, permissions, devices and times. It's available on most Linux distributions by default.
SUSE Manager is an infrastructure management tool for Linux systems. It performs a variety of tasks, including automating Linux server provisioning; configuration and patching; managing inventory and tracking assets for hardware and software; monitoring and reporting on servers; and monitoring for compliance and security. SUSE Manager can manage workloads both on premises and in the cloud. It can manage Linux distributions across different hardware platforms and virtualization environments, too. A variety of other hardware and software management tools integrate with SUSE Manager to provide even more comprehensive management over an entire Linux environment.
Cygwin is a collection of tools that enables Linux applications to run on a Windows OS and create a Linux-like experience in Windows. This helps migrate applications from Linux-based systems to Windows-based systems without requiring developers to make major changes to those applications' source code. Cygwin is based around the dynamic link library, which acts as an emulation layer, but Cygwin also comes with a collection of free tools. Users can access the Cygwin environment through the Windows command shell or through the Unix shell, and issue Unix commands the same way they would on a Unix or Linux OS.