メインコンテンツまでスキップ

Linux Fundamentals - Nền tảng Linux cho DevOps

Linux là hệ điều hành quan trọng nhất trong thế giới DevOps. Hầu hết các server, container, và cloud instance đều chạy Linux. Đây là kiến thức nền tảng bắt buộc với mọi kỹ sư vận hành hệ thống.


Linux là gì?

Linux là một hệ điều hành mã nguồn mở (open-source OS) dựa trên nhân Kernel Linux, được tạo ra bởi Linus Torvalds vào năm 1991. Điểm mấu chốt: Linux không phải một hệ điều hành hoàn chỉnh mà là Kernel. Hệ điều hành hoàn chỉnh mà chúng ta dùng hàng ngày là GNU/Linux — kết hợp Kernel Linux với các công cụ từ dự án GNU.

Tại sao Linux quan trọng với DevOps?

Lý doGiải thích
Miễn phí & Mã nguồn mởKhông chi phí license, có thể tùy biến sâu
Ổn định & Bảo mậtUptime hàng năm, model bảo mật chặt chẽ
Hiệu năng caoOverhead thấp, kiểm soát tài nguyên tốt
Cộng đồng lớnTài liệu phong phú, tooling đa dạng
Cloud-nativeAWS, GCP, Azure đều dùng Linux làm nền
ContainerDocker, Kubernetes hoạt động trên Linux Kernel

Các bản phân phối (Distro) phổ biến

Khuyến nghị cho DevOps
  • Ubuntu 22.04/24.04 LTS → phổ biến nhất trong cloud, tài liệu dồi dào
  • Amazon Linux 2023 → tối ưu cho AWS EC2
  • Rocky Linux / AlmaLinux → thay thế CentOS trong production RHEL-based

Kiến trúc hệ thống Linux

Mô hình phân lớp (Layered Architecture)

Kernel làm gì?

  • Process Management: Tạo, lên lịch (schedule), huỷ tiến trình
  • Memory Management: Cấp phát RAM, quản lý virtual memory, swap
  • Device Drivers: Giao tiếp phần cứng (disk, NIC, GPU)
  • File System: Đọc/ghi file, mount/umount
  • Network Stack: TCP/IP, socket, routing

Filesystem Hierarchy Standard (FHS)

Mọi bản phân phối Linux đều tuân theo chuẩn FHS — một cây thư mục thống nhất bắt đầu từ / (root).

Thư mụcMục đíchVí dụ
/bin, /usr/binLệnh binary cơ bảnls, grep, curl
/sbin, /usr/sbinLệnh admin (root)iptables, fdisk, reboot
/etcFile cấu hình toàn hệ thống/etc/nginx/nginx.conf
/homeThư mục người dùng/home/sontn/
/rootHome của root user/root/.bashrc
/var/logLog hệ thống/var/log/syslog, auth.log
/tmpFile tạm (xoá khi reboot)Temp build files
/procVirtual FS — thông tin kernel real-time/proc/cpuinfo, /proc/meminfo
/devDevice files/dev/sda (disk), /dev/null
/optPhần mềm bên thứ 3/opt/docker/

Lộ trình học Linux

TrangNội dung
Terminal & Quản lý FileĐiều hướng, tìm kiếm, xem và chỉnh sửa file
Quyền truy cập Filechmod, chown, SUID, umask
User & Groupuseradd, sudo, /etc/passwd
Process & systemdps, kill, systemctl, journalctl
Package Managerapt, dnf, rpm
Quản lý Mạngip, ss, curl, firewall
Disk & Storagedf, du, mount, fstab
Log hệ thống/var/log, journalctl, dmesg
SSH & Remote Accessssh-keygen, scp, rsync, config
Shell ScriptingVariables, loops, functions
Điều tra hệ thốngTroubleshoot CPU, memory, disk, network