Mastering Linux System Administration. Richard Blum
FILESYSTEM | DESCRIPTION |
---|---|
ext | Linux extended filesystem—the original Linux filesystem |
ext2 | Second extended filesystem; provides advanced features over ext |
ext3 | Third extended filesystem; supports journaling |
ext4 | Fourth extended filesystem; supports advanced journaling |
btrfs | A newer, high‐performance filesystem that supports journaling and large files |
exfat | The extended Windows filesystem, used mainly for SD cards and USB sticks |
hpfs | OS/2 high‐performance filesystem |
jfs | IBM's journaling file system |
iso9660 | ISO 9660 filesystem (CD‐ROMs) |
minix | MINIX filesystem |
msdos | Microsoft FAT16 |
ncp | NetWare filesystem |
nfs | Network File System |
ntfs | Support for Microsoft NT filesystem |
proc | Access to system information |
smb | Samba SMB filesystem for network access |
sysv | Older Unix filesystem |
ufs | BSD filesystem |
umsdos | Unix‐like filesystem that resides on top of msdos |
vfat | Windows 95 filesystem (FAT32) |
XFS | High‐performance 64‐bit journaling filesystem |
Any hard drive that a Linux server accesses must be formatted using one of the filesystem types listed in Table 1.2.
The Linux kernel interfaces with each filesystem using the Virtual File System (VFS). This provides a standard interface for the kernel to communicate with any type of filesystem. VFS caches information in memory as each filesystem is mounted and used.
The GNU Utilities
Besides having a kernel to control hardware devices and launch programs, a computer operating system needs utilities to perform standard functions, such as controlling files and programs. While Linus created the Linux system kernel, he had no system utilities to run on it. Fortunately for him, at the same time he was working, a group of people were working together on the Internet trying to develop a standard set of computer system utilities that mimicked the popular Unix operating system.
The GNU organization (GNU stands for GNU's Not Unix) developed a complete set of Unix utilities but had no kernel system to run them on. These utilities were developed under a software philosophy called open source software (OSS).
The concept of OSS allows programmers to develop software and then release it to the world with no licensing fees attached. Anyone can use the software, modify it, or incorporate it into their own system without having to pay a license fee. Uniting Linus's Linux kernel with the GNU operating system utilities created a complete, functional, free operating system.
While the bundling of the Linux kernel and GNU utilities is often just called Linux, you will see some Linux purists on the Internet refer to it as the GNU/Linux system to give credit to the GNU organization for its contributions to the cause.
The GNU project was mainly designed for Unix system administrators to have a Unix‐like environment available. This focus resulted in the project porting many common Unix system command‐line utilities. The core bundle of utilities supplied for Linux systems is called the coreutils package.
The GNU coreutils package consists of these three parts:
Utilities for handling files
Utilities for manipulating text
Utilities for managing processes
Each of these three main groups of utilities contains several utility programs that are invaluable to the Linux system administrator and programmer.
Linux User Interfaces
Having a world‐class operating system that can manage your computer hardware and software is great, but you also need some way to communicate with it. Back in the old days of computers, you communicated with the mainframe computer by punching holes into cards, feeding them into a card reader, and then waiting for the output to appear on a printer. Fortunately, those days are long gone.
Thanks to the Apple macOS and Microsoft Windows operating systems, these days most desktop computer users expect some type of graphical display to interact with their system. Linux doesn't disappoint, offering a plethora of graphical desktops you can choose from. The following sections describe a few of the more popular ones.
THE X WINDOW SOFTWARE
Two basic elements control your video environment—the video card in your PC and your monitor. To display fancy graphics on your computer, the Linux software needs to know how to talk to both of them. The X Window software is the core element in presenting graphics.
The X Window software is a low‐level program that works directly with the video card and monitor in the PC and controls how Linux applications can present fancy windows and graphics on your computer.
Linux isn't the only operating system that uses X Window; there are versions written for many different operating systems. In the Linux world, there are a few different software packages that can implement it. There are two X Window packages that are most commonly used in Linux:
Wayland
The X.org package is the older of the two, based on the original Unix X Window System version 11 (often called X11). More Linux distributions are migrating to the newer Wayland software, which is more secure and easier to maintain.
When you first install a Linux distribution, it attempts to detect your video card and monitor and then creates an X Window configuration file that contains the required information. During installation, you may notice a time when the installation program scans your monitor for supported video modes. Sometimes this causes your monitor to go blank for a few seconds. Because there are lots of different types of video cards and monitors out there, this process can take a little while to complete.
The core X Window software produces a graphical display environment, but nothing else. While this is fine for running individual applications, it is not too useful for