Linux DevOps Crash Course: Dari Shell ke Deploy

3 min read
515 words

Table of Contents

Reading progress0/12

Kalau DevOps adalah olahraga tim, Linux itu lapangannya. Hampir semua tools DevOps lari di atas Linux. Kursus kilat ini ngerangkum hal-hal penting biar kamu nyaman pegang server: dari shell, proses, jaringan, sampai container dan CI/CD.

Server rack dan infrastruktur Linux
Server rack dan infrastruktur Linux

Apa yang Akan Kamu Pelajari?#

  • Dasar shell dan navigasi file
  • Proses, service, dan systemd
  • Manajemen paket dan logs
  • Networking (port, DNS, firewall)
  • SSH, akses aman, dan kunci
  • Container (Docker) dan gambaran CI/CD

Kenapa Linux Penting di DevOps?#

  • Mayoritas server dan container berbasis Linux.
  • Ekosistem tools yang kaya dan standar industri.
  • Otomasi mudah (bash, systemd, cron, Ansible, dsb.).

Dasar Shell & File System#

  • Navigasi: pwd, ls -la, cd, cat, less, head, tail -f
  • Manipulasi: cp, mv, rm -rf, mkdir -p, touch
  • Hak akses: chmod, chown, umask; setuid/setgid sekilas
  • Pencarian: find /var -name "*.log" -mtime -1, grep -R "ERROR" /var/log
  • Pipa dan redirect: journalctl -u nginx | grep 500 > errors.txt

Tips: simpan alias di ~/.bashrc (atau ~/.zshrc) untuk perintah yang sering.

Proses, Service, dan systemd#

  • Lihat proses: ps aux | grep <app>, top, htop
  • Kelola service (systemd): systemctl status nginx, systemctl restart nginx, systemctl enable nginx
  • Logs service: journalctl -u nginx --since "1 hour ago"
  • Limit resource: ulimit, cgroups sekilas

Analogi: systemd adalah manajer operasional—dia yang start, stop, restart, dan monitor layanan.

Manajemen Paket & Logs#

  • Debian/Ubuntu: apt update && apt upgrade, apt install <pkg>
  • RHEL/CentOS: dnf install <pkg>
  • Logs inti: /var/log/syslog, /var/log/auth.log, /var/log/nginx/error.log
  • Rotasi log: logrotate (cek /etc/logrotate.d)

Networking Dasar#

  • Cek port: ss -tulpen | grep LISTEN
  • Cek DNS: dig example.com +short, nslookup
  • Cek konektivitas: ping, traceroute, curl -v https://example.com
  • Firewall (ufw): ufw status, ufw allow 22/tcp, ufw allow 80,443/tcp

SSH & Akses Aman#

  • Buat kunci: ssh-keygen -t ed25519 → upload ke ~/.ssh/authorized_keys
  • Koneksi: ssh -i ~/.ssh/id_ed25519 user@server
  • Hardening: nonaktifkan password login (PasswordAuthentication no), batasi user via AllowUsers

Cron & Otomasi#

  • Jadwal: crontab -e0 2 * * * /usr/local/bin/backup.sh
  • Cek: systemctl status cron (Debian) atau crond (RHEL)

Container (Docker) Singkat#

  • Jalankan: docker run --rm -p 8080:80 nginx
  • Cek: docker ps, docker logs -f <container>
  • Image: docker pull, docker build -t myapp:latest .
  • Volume & network sekilas; gunakan .dockerignore
Alur container dan image
Alur container dan image

CI/CD Gambaran Cepat#

  • Pipeline dasar: build → test → scan → deploy
  • Branch proteksi + PR mandatory
  • Secrets: simpan di pengelola rahasia (jangan pernah commit .env)
  • Strategi deploy: blue/green, canary, atau rolling update

Troubleshooting Mindset#

  • Reproduksi masalah dulu, catat gejala
  • Cek logs & metrik (CPU, RAM, disk, network)
  • Uji hipotesis satu per satu; revert jika perlu
  • Dokumentasikan fix untuk tim (wiki/README ops)

Penutup#

Linux adalah fondasi DevOps. Kuasai shell, systemd, jaringan, dan container—maka pipeline CI/CD akan jauh lebih mudah dikelola. Mulai dari server kecil (VPS) untuk latihan, otomatisasi hal-hal rutin, dan bangun kebiasaan observasi yang kuat.

Stay Updated

Get notified when I publish new posts about web development, programming tips, and tech insights.

No spam, ever. Unsubscribe at any time.