Skip to content

Linux Concepts

Linux Core Concepts

Introduction to the Linux Operating System

Linux is a powerful, open-source, Unix-like operating system based on the Linux Kernel. Its architecture is modular, following the Unix philosophy of using small, interoperable tools. This design allows for unparalleled flexibility, making it the dominant choice for servers, embedded systems, and supercomputers globally.

Filesystem Hierarchy Standard (FHS)

The FHS dictates a standardized directory structure across most Linux distributions, ensuring consistency for developers and administrators:

  • / (Root): The highest directory, where the entire filesystem tree originates.
  • /etc: Stores all system-wide configuration files (e.g., network, boot, user settings).
  • /home: Contains personal directories and data for non-root users.
  • /usr: Holds shareable, read-only data, including most applications and libraries.
  • /var: Contains variable data that changes during system operation (logs, mail, print queues).
  • /dev: Contains device files that represent hardware components.
  • /proc and /sys: Virtual filesystems offering interfaces to kernel state and device configuration.

LVM is the standard storage management system in Linux, providing dynamic and flexible control over disk space.

  1. Physical Volumes (PVs): Physical hard disks or disk partitions.
  2. Volume Groups (VGs): A pool of space aggregated from one or more PVs.
  3. Logical Volumes (LVs): The actual partitions created from the VG's pool, which are mounted as filesystems.

For enterprise environments, an effective LVM setup ensures resilience, flexibility, and performance:

Logical Volume (LV) Size (Example) Recommendation Rationale
/ (Root FS) 50 GB Should be a minimal size, reserved for the base OS and configuration.
/var 50 GB+ Must be separate from the root filesystem to prevent logging or temporary file growth from filling the OS, which would halt the system.
/home Variable (Separate VG if possible) Recommended to be separate, or even on a different VG/PV, to isolate user data from OS recovery procedures.
Swap Based on RAM (e.g., 4 GB - 8 GB) Separate LV for efficient virtual memory handling.
Application Data All remaining space (or dedicated VGs) Use thin-provisioning LVs for application data (like databases) to efficiently allocate storage on demand and leverage LVM snapshots.

Package Management

Linux distributions are categorized primarily by their package management system, which handles installation, configuration, updates, and dependency resolution.

Family Distributions Package Format Primary Tool(s) Notes
Red Hat Family Red Hat Enterprise Linux (RHEL), Fedora, CentOS .rpm dnf (modern), yum (legacy) Focus on enterprise stability, long-term support, and commercial backing.
Debian Family Ubuntu, Debian, Linux Mint .deb apt (modern), apt-get, dpkg Focus on stability and community development. Known for ease of use.

Distribution Spotlight (that I love)

  • Red Hat Enterprise Linux (RHEL): The leading enterprise distribution, known for its rigorous testing, long-term support cycles (LTS), and professional certification. It forms the backbone of many corporate and cloud infrastructures.
  • Ubuntu: Highly popular for both servers and desktops. It focuses on user-friendliness and includes modern software. Ubuntu LTS (Long-Term Support) releases are commonly used in server environments for their predictable release cycle and five years of maintenance.
  • Linux Mint: Based on Ubuntu (and Debian), Mint is primarily targeted at desktop users who seek a traditional, comfortable, and intuitive interface experience. It often prioritizes ease of use and multimedia support over bleeding-edge server features.

System and Service Management

Modern Linux relies on systemd as the standard init system, responsible for starting the OS, managing system services (daemons), and handling logging.

  • systemctl: The core utility for controlling systemd "units" (services, timers, mount points). Administrators use it to start, stop, restart, or enable services across reboots.
  • Runlevels (Targets): systemd replaces traditional runlevels with "targets" (e.g., multi-user.target for command-line mode, graphical.target for desktop mode).

The Linux roadmap is collectively driven by major kernel developers, corporate contributors, and the open-source community, focusing on three major areas:

  1. Cloud-Native and Performance: Continuous kernel optimization for hyper-scalability and containerization (Docker, Kubernetes). This includes advanced I/O management via io_uring and deep integration of technologies like eBPF (Extended Berkeley Packet Filter) for powerful, safe in-kernel networking, security, and observability.
  2. Security and Integrity: Enhancing security frameworks like SELinux and AppArmor. Focus on achieving immutable infrastructure by using minimal system images to reduce the attack surface.
  3. Hardware Evolution: Rapid adaptation to new CPU architectures (e.g., RISC-V) and maximizing performance from modern GPUs and accelerators in HPC and AI workloads.