Study guide

4.3a Where Programs and Configuration Live (FHS Basics)

LPI Linux Essentials Certificate 010-160

Track your progress as you read

Finished sections get a check mark.

1 Introduction & Exam Overview

1.1 Current Exam Facts 1.2 Study Strategy & Blueprint Weights

2 Topic 1: The Linux Community and a Career in Open Source

1.1 Linux Evolution and Popular Operating Systems 1.2 Major Open Source Applications 1.3 Open Source Software and Licensing 1.4 ICT Skills and Working in Linux

3 Topic 2 Part A: Command Line Basics & Getting Help

2.1a Bash Shell, Command Syntax & Variables 2.1b Quoting, History & Safe Command Syntax 2.2 Using the Command Line to Get Help

4 Topic 2 Part B: Directories, Listing & File Operations

2.3 Using Directories and Listing Files 2.4 Creating, Moving and Deleting Files

5 Topic 3 Part A: Archiving & Searching Data

3.1 Archiving and Compression on the Command Line 3.2a Pipes, Redirection, and Basic Regular Expressions 3.2b grep and Text Extraction Tools

6 Topic 3 Part B: Turning Commands into Scripts

3.3a Script Basics: Shebang, Variables, and Arguments 3.3b Loops, Exit Status, and Simple Conditionals 3.3c Editors, chmod +x, and Running Scripts

7 Topic 4 Part A: Choosing an OS, Hardware & FHS Basics

4.1 Choosing an Operating System 4.2 Understanding Computer Hardware 4.3a Where Programs and Configuration Live (FHS Basics)

8 Topic 4 Part B: Processes, Logs & Networking

4.3b Processes, Memory & Logs 4.4 Your Computer on the Network

9 Topic 5: Security and File Permissions

5.1 Basic Security and Identifying User Types 5.2 Creating Users and Groups 5.3 Managing File Permissions and Ownership 5.4 Special Directories and Files

4.3a Where Programs and Configuration Live (FHS Basics)

Key Takeaways Explain This Topic AI

The Filesystem Hierarchy Standard (FHS) defines conventional locations so programs, configuration, and user data are predictable across Linux systems

/etc holds system-wide configuration—usually plain text files that control how programs and services behave

/boot stores bootloader files, the kernel image, and related early-boot artifacts needed before the root filesystem is fully in use

Program binaries commonly live under paths such as /bin , /sbin , /usr/bin , and /usr/sbin (with /opt for some add-on packages)—distinct from user documents in /home

For Essentials, remember the mental model: programs (executables) vs configuration ( /etc ) vs user data ( /home ) vs boot artifacts ( /boot )—process and log details continue in 4.3b

Last updated: July 2026

Where Programs and Configuration Live (FHS Basics)

Objective 4.3 Where Data is Stored (weight 3) asks where information lives on a Linux system. This section— 4.3a —focuses on programs , configuration , and the Filesystem Hierarchy Standard (FHS) mental model, especially /etc and /boot , contrasted with user data . Runtime views such as processes, /proc , logs, and memory tools continue in 4.3b .

Why a standard hierarchy matters

Unlike a single “Program Files” and “Users” layout unique to one vendor desktop, Linux distributions follow (with small variations) the FHS : a shared map of top-level directories. When you know that map, you can administer unfamiliar distros faster: configuration is where you expect, binaries are on the PATH , and user documents are not mixed into system directories.

Think in roles , not random folder names:

Role Typical locations What belongs there

Programs (executables) /bin , /sbin , /usr/bin , /usr/sbin , sometimes /opt/... Commands and services the system runs

  • Libraries /lib , /usr/lib (and multiarch variants) Shared code programs link against
  • Configuration /etc System-wide settings (usually text)
  • Boot artifacts /boot Kernel, initramfs, bootloader configs/images
  • User data /home/username , root’s /root Documents, personal configs, downloads
  • Variable data /var (logs, spools, caches—detail in 4.3b) Data that grows and changes while the system runs
  • Temporary files /tmp , /var/tmp Short-lived scratch space

You do not need every FHS footnote for Essentials, but you do need this role-based map.

Programs: binaries and scripts

A program is an executable: either a binary (machine code) or a script (text interpreted by a shell or language runtime). Essential command locations:

  • Path Traditional role
  • /bin Essential user commands needed for basic operation
  • /sbin Essential system administration commands
  • /usr/bin Majority of userland programs
  • /usr/sbin Additional administrative programs
  • /opt Optional or third-party software packages in their own trees

On modern systems, /bin and /usr/bin are often merged (symlinks), but exam items still speak in classic FHS terms. When you type ls or passwd , the shell finds the executable via PATH , which usually includes these directories.

Contrast with user data: your essay draft in /home/alex/Documents/report.txt is not a system program. Deleting user files should not remove /usr/bin/python3 . Conversely, upgrading a package replaces files under /usr , not your documents under /home .

Configuration: the /etc directory

/etc is the home of system-wide configuration . Historically a catch-all, it matured into the standard place for plain-text settings that control programs and services. Typical traits:

  • Usually human-readable text (not opaque binary blobs)
  • Edited by administrators (often as root) to change system behavior
  • Read by programs at start or when reloaded

Examples you will meet across Essentials topics:

  • File (under /etc ) Purpose
  • passwd , group , shadow User and group databases (security topic)
  • hostname System hostname
  • hosts Static name-to-address mappings
  • fstab Filesystems to mount at boot
  • ssh/sshd_config SSH daemon settings (when OpenSSH is installed)
  • Network and resolver files Interface and DNS configuration (Topic 4.4)

Application-specific directories also live here ( /etc/nginx/ , /etc/apt/ , and similar). Personal preferences for a single user more often live in dotfiles inside that user’s home directory (for example ~/.bashrc ), not in /etc . Remember the split:

  • /etc — affects the whole machine (system-wide)
  • /home/... — affects one user (user data and personal config)

If a service ignores your edit, confirm you changed the system file in /etc rather than a copy in your home folder—or vice versa when you only meant to change your own shell.

Boot files: the /boot directory

/boot holds files required in the early boot path: the Linux kernel image (often named like vmlinuz-... ), initramfs/initrd archives, and bootloader related files (for example GRUB configuration or modules, depending on layout). Without a usable kernel and bootloader setup, the system never reaches the point where it can mount the rest of the filesystem tree and run programs from /usr .

Why separate /boot ?

  • Bootloaders may need a simple filesystem layout early on
  • Administrators can keep kernels organized and remove old ones carefully
  • Some setups place /boot on its own partition

Do not casually delete files in /boot to “free space” without knowing which kernel you are booting. That is a classic way to render a system unbootable. Contrast again: clearing old downloads in /home is usually safe; clearing kernels in /boot is not.

  • FHS mental model for Essentials (keep it simple)
  • Use this four-bucket checklist when a question asks “where is X stored?”
  • Is it a setting that changes how a service or the OS behaves system-wide? → start in /etc
  • Is it the kernel or bootloader material needed to start the machine? → look in /boot
  • Is it a command or installed application binary? → /bin , /sbin , /usr/bin , /usr/sbin , or /opt
  • Is it a person’s documents, projects, or personal dotfiles? → /home (or /root for the root account’s home)

Later (4.3b) you will add buckets for processes ( /proc ), device nodes ( /dev ), and logs ( /var/log ). Those are still “where data is stored,” but they are runtime or variable data—not the same as program packages and static configuration.

Programs vs configuration vs user data (worked contrasts)

  • Item Category Likely location
  • /usr/bin/grep Program Binary directories under /usr
  • /etc/ssh/sshd_config Configuration /etc
  • /boot/vmlinuz-... Boot/kernel /boot
  • /home/sam/notes.txt User data /home
  • A custom app under /opt/myapp/bin/tool Optional program /opt

Package managers (APT, DNF, Zypper, and others) install programs into FHS locations and drop default configs into /etc , sometimes as .dpkg-dist / .rpmnew style alternatives when you customized files—details vary by distro, but the directory roles stay consistent.

  • Exam and study tips
  • Fill-in items love exact paths: type /etc , /boot , /home , not vague words like “settings folder.”

If a stem says system-wide configuration, prefer /etc over a path under /home .

If a stem says kernel image or bootloader , prefer /boot .

Keep 4.3a and 4.3b mentally separated so you do not dump every answer into /var/log .

Master the role table, and “where data is stored” stops feeling like trivia and becomes a navigable map of the Linux filesystem.