Linux — Operačný systém pre DevOps
Linux je open-source operačný systém, ktorý poháňa väčšinu serverov na svete. Pre DevOps inžinierov je znalosť Linuxu absolútnou nevyhnutnosťou.
Prečo Linux pre DevOps?
- 96 %+ serverov beží na Linuxe
- Kontajnery (Docker, K8s) sú postavené na Linux kerneli
- Cloud — AWS, GCP, Azure primárne ponúkajú Linux inštancie
- Automatizácia — shell scripting je mocný nástroj
- Bezplatný a open-source
Distribúcie
| Distribúcia | Použitie |
|---|---|
| Ubuntu/Debian | Servery, development |
| RHEL/CentOS/AlmaLinux | Enterprise produkcia |
| Alpine | Docker images (minimálna veľkosť) |
| Amazon Linux | AWS optimalizované |
Základné príkazy
# Navigácia a súbory
ls -la # výpis súborov
cd /var/log # zmena adresára
cat, less, tail -f # zobrazenie súborov
find / -name "*.log" # hľadanie
grep -r "error" /var/log # vyhľadávanie v obsahu
# Správa procesov
ps aux # zoznam procesov
top / htop # monitorovanie systému
kill -9 <PID> # ukončenie procesu
systemctl status nginx # stav služby
# Sieť
ss -tlnp # otvorené porty
curl -I https://example.com # HTTP hlavičky
dig example.com # DNS lookup
ip addr # sieťové rozhrania
# Používatelia a oprávnenia
chmod 755 script.sh # nastavenie práv
chown user:group file # zmena vlastníka
sudo command # spustenie s root právami
Súborový systém
/etc/— konfiguračné súbory/var/log/— logy/home/— domovské priečinky/tmp/— dočasné súbory/opt/— voliteľný softvér
Shell Scripting
#!/bin/bash
LOG_DIR="/var/log/myapp"
MAX_AGE=30
find "$LOG_DIR" -name "*.log" -mtime +$MAX_AGE -delete
echo "Vyčistené logy staršie ako $MAX_AGE dní"
Systemd
Moderný init systém pre správu služieb:
systemctl start nginx # spustenie
systemctl enable nginx # automatický štart
systemctl restart nginx # reštart
journalctl -u nginx -f # logy služby
Dôležité pre DevOps
- SSH konfigurácia a key-based autentifikácia
- Cron jobs pre plánované úlohy
- Firewall (iptables, ufw, firewalld)
- Disk management (LVM, df, du)
- Package management (apt, yum, apk)
Linux je fundament, na ktorom stojí celý DevOps ekosystém.