Bir Linux Mühendisi Olmak İçin Temel Alanlar
Bir Linux mühendisi olarak, sistem başlatma süreçleri, performans izleme, güvenlik önlemleri ve disk yönetiminde yetkinlik kazanmak kritik öneme sahiptir. İşte bu rolde başarılı olmanızı sağlayacak temel konuların kısa bir özeti:
🔹 Linux Başlangıç (Boot) Süreci
Adımlar:
BIOS/UEFI → Bootloader (GRUB gibi) → Çekirdek (Kernel) → Init/Systemd → Servisler/Çalışma Seviyesi (Runlevel)
Amaç:
- Donanımı başlatır.
- Kök dosya sistemini (root filesystem) bağlar.
- Kullanıcı alanı (user-space) işlemlerini başlatır.
Ekstra:
- GRUB menüsünde sorun gidermek için başlatma sırasında
e
tuşuna basarak ayarları düzenleyebilirsiniz. - Acil durumda
rescue
veyasingle-user mode
modları başlatılarak sistem kurtarılabilir.
🔹 Yavaş Bir Sunucuyu Sorun Giderme
Araçlar:
- CPU ve bellek:
top
,vmstat
,free
- Disk kullanımı:
df
,du
- Ağ bağlantıları:
ss
,netstat
Eylemler:
- Kaynak tüketen süreçleri optimize edin veya sonlandırın.
- Donanım yükseltmelerini değerlendirin.
- Disk IO darboğazlarını kontrol edin (
iotop
).
Ekstra:
- Otomasyon: Sürekli yavaşlık problemleri için cron job’lar veya bash script kullanarak otomasyon yapabilirsiniz.
🔹 Linux Dosya İzinleri
İzin Türleri:
- Okuma (read), Yazma (write), Çalıştırma (execute).
- Kullanıcı, grup ve diğerleri için ayrı ayrı tanımlanır.
Komutlar:
- İzin değiştir:
chmod
- Sahip değiştir:
chown
- Grup değiştir:
chgrp
Ekstra:
chmod 750 dosya.txt
→ Sadece dosya sahibi okur, yazar ve çalıştırır. Grup okur ve çalıştırır, diğerleri erişemez.
🔹 LVM (Mantıksal Birim Yöneticisi) Nedir?
Tanım:
LVM, esnek ve dinamik disk yönetimi sağlar. Diskleri fiziksel olarak birleştirerek veya bölerek kullanılmasına olanak tanır.
Temel Komutlar:
- Fiziksel birim oluştur:
pvcreate
- Hacim grubu oluştur:
vgcreate
- Mantıksal birim oluştur:
lvcreate
Disk Boyutunu Değiştirme:
- Büyütme:
lvextend
- Küçültme:
lvreduce
- Dosya sistemi genişletme:
resize2fs /x/y/z
Ekstra:
- LVM snapshot’ları kullanarak sistemde veri kaybı olmadan anlık görüntüler alabilirsiniz.
🔹 Bir Linux Sunucusunu Güvenceye Alma
Adımlar:
- Kullanılmayan servisleri devre dışı bırakın.
- iptables/firewalld yapılandırın.
- SSH güvenliği:
- Root girişini devre dışı bırakın.
- SSH anahtarları kullanın.
- SELinux/AppArmor etkinleştirin.
- Düzenli olarak yama (patch) yapın.
- Brute-force saldırılarına karşı Fail2ban kullanın.
Ekstra:
- TCP Wrapper kullanarak belirli IP’lerin erişimini sınırlayın.
- Sistem günlüğü analizi için auditd kullanabilirsiniz.
🔹 Servisleri Yönetme
Komutlar:
- Servis başlat/durdur/yönet:
systemctl start/stop/status servis_adı
- Servisi otomatik başlatma:
systemctl enable servis_adı
Eski Yöntemler:
service
veya/etc/init.d/
Ekstra:
- Restart döngülerini önlemek için
restart
yerinereload
kullanın (systemctl reload nginx
).
🔹 Kullanıcı Ekleme ve İzinleri Yönetme
Komutlar:
- Kullanıcı ekle:
useradd kullanıcı_adı
- Şifre ayarla:
passwd kullanıcı_adı
- Gruba ekle:
usermod -aG grup_adı kullanıcı_adı
- Dosya izinlerini ayarla:
chmod
,chown
Ekstra:
- Sudo yetkisi vermek:
usermod -aG sudo kullanıcı_adı
🔹 Sunucu Performansını İzleme
Araçlar:
- Gerçek zamanlı:
top
,htop
- Tarihsel veriler:
sar
- Disk IO:
iostat
,iotop
- Ağ:
ss
,netstat
Ekstra:
- Grafiksel İzleme: Prometheus + Grafana entegrasyonu ile performans izleme yapabilirsiniz.
Bu araç ve komutlar, bir Linux sistemini yönetmek ve optimize etmek için kritik öneme sahiptir. Her bir alanı derinlemesine öğrenmek, sistem yönetimi becerilerinizi geliştirir ve olası sorunlarda hızlı çözüm sunmanızı sağlar.