Concepts
This part describes various aspects of essential theories to unerstand the workings of the Linux operating system.
Work in progress: topics will be written on-demand as it will be references in other entities (guide, posts or resources)
Topic breakdown mighty change over time.
Operating system
- Pre OS era, necessity of operating systems
- Process as virtualisation
- File, VFS (Virtual FileSystem), filesystem abstraction
- OS security functions (ulimit, apparmor, selinux)
- Lightweight OS virtualisation technics (chroot, nsenter)
- Resource management (cgroup, quota)
User interfaces
- Shell/CLI/TUI and ~ environments
- GUI and ~ environments
- Server-Client (RPC/Web) interfaces and ~ environments
Package and software management
- OS package management systems (apt, dnf, packman, zipper, brew, nix-env, opkg)
- Application container systems (snap, flatpak)
- Containarized systems (dockerhub images)
- Programming language oriented package managers (pip, go, cargo)
System and service management
- system and service managers: systemd, init (SysVinit), procd (OpenWRT)
- logging/journal
- coredumpctl
Networking
- Interfaces/bridge, IPv4/IPv6 addressing
- Main protocols: ARP, ICMP, UDP, TCP
- DNS
- Routing
- Firewall, netfilter, conntrack, masquerade
- VPN
- VLAN
- WLAN
- DHCP
- peer to peer
Virtualisation
- 6 types of virtualisation
Crypthography
- Encryption
- Hashing
- Certification
- Blockchain
Operation
- System boundaries
- Lifecycle of Systems
- System monitoring
- Backup, DRP, DRS
Legal and Socioeconomical impacts
- FOSS nad other software licences
- Open vs corporate software development (The Cathedral and the Bazaar)
- Implication of Foundation vs Profit oriented company software development