| 1 |
Açık kaynak ekosistemi, GPL/LGPL/MIT/Apache/BSD lisanslarının karşılaştırması; lisans seçimi için karar ağacı; Pardus’un (Debian tabanlı) mimarisi. |
Proje deposu başlatma; README iskeleti oluşturma; uygun LICENSE dosyası ekleme. |
Sanal makinede Pardus XFCE kurulumu; yerelleştirme; temel terminal kullanımı; man ve info kılavuzları. |
|
| 2 |
FHS (Filesystem Hierarchy Standard); rwx izinleri, umask kavramı; ACL (Access Control List) mantığı; sudoers dosyasının ilkeleri. |
“Kullanıcı açılış kiti” betiği hazırlanması (dizin/izin/quotas iskeleti). |
Kullanıcı ve grup senaryoları; ACL ile yetki devri; hatalı yetkilerin teşhisi. |
|
| 3 |
grep, sed, awk, cut, sort, uniq, head/tail komutları; find + xargs kullanımı; yönlendirme (redirection) ve borulama (pipelining) mantığı. |
“Log özetleyici” betiği geliştirme (eşik aşımlarında uyarı verecek şekilde). |
Log dosyalarından özet ve istatistik çıkaran tek satırlık komutlar yazma; performans ve doğruluk testleri. |
|
| 4 |
Depolar ve anahtar yönetimi; APT yaşam döngüsü; systemd unit türleri; journalctl ve logrotate ile günlük yönetimi. |
“Servis sağlığı” betiği geliştirme (hata durumunda yeniden başlatma ve olayı loglama). |
Servis kurulum, enable/start işlemleri; özel unit yazarak betiği servisleştirme; günlüklerin doğruluğunu test etme. |
|
| 5 |
IP ve DNS kavramları; yönlendirme; ip, nmcli komutları; anahtarlı SSH oturumu; scp ve rsync ile dosya aktarımı; temel tünelleme yöntemleri. |
“İlk kurulum (ağ + SSH)” betiği geliştirme (bağlantı testleri dâhil). |
Statik ve DHCP yapılandırması; ssh-copy-id ile anahtar tabanlı kimlik doğrulama; çoklu sunuculara komut dağıtımı. |
|
| 6 |
Koşullar, döngüler, fonksiyonlar; parametre/argüman sözleşmesi; set -euo pipefail, trap kullanımı; cron ve systemd timers karşılaştırması; ortam değişkenleri (PATH, export, noclobber, ignoreeof). |
“Bakım otomasyonu” betiği geliştirme (idempotent, loglu çalışacak şekilde). |
Artımlı yedekleme (rsync) ve geri yükleme provası; cron veya systemd timer ile periyodik çalışma senaryoları. |
|
| 7 |
Sistem güncelleme politikası; saldırı yüzeyini azaltma yöntemleri; UFW ve nftables temelleri; Fail2ban çalışma mantığı; AppArmor’un kavramsal yapısı. |
“Sertlestir.sh” betiği geliştirme (dry-run → apply; rollback adımı dâhil). |
Minimal sertleştirme checklist’i hazırlanması; SSH sertleştirme adımları; Fail2ban jail yapılandırması. |
|
| 8 |
VirtualBox/KVM yaşam döngüsü ve imajlar; Docker/Podman temel kavramları; tekrar üretilebilir çevre tasarımı; Git iş akışı ve kod inceleme (peer review) süreçleri. |
“Tek komutta lab” betiği geliştirme (VM/konteyner kur, servis ayağa kaldır, timer ekle) + repo’ya LICENSE/CONTRIBUTING/README dosyalarını ekleme. |
Aynı hizmeti iki farklı şekilde çalıştırma: (A) sanal makine üzerinde, (B) konteyner ile; çıktıları belgeleme. |
|
| 10 |
Proje seçimi; kapsam ve kabul kriterleri; risklerin belirlenmesi; repo yapısı ve iş akışı tasarımı. |
PROJE.md kartı hazırlama: amaç, kabul testleri (Given/When/Then). Repo iskeleti kurma ve görev listesi (WBS/backlog) oluşturma. |
Repo iskeleti oluşturma: README.md, LICENSE, CONTRIBUTING.md, CHANGELOG.md, scripts/, tests/, configs/ klasörleri. Git akışı: branch stratejisi ve kod inceleme (PR) kuralları. |
|
| 11 |
Modüler betik mimarisi; yapılandırma ile iş mantığının ayrımı; log formatı tasarımı; hataya dayanıklılık ilkeleri. |
Akış diyagramı (DESIGN.md) hazırlama; çalışan PoC + örnek log üretme. |
Betik kütüphanesi geliştirme: set -euo pipefail, trap ile temizlik, fonksiyonlar, getopts, .env/configs/.conf.
PoC uygulamaları:
A hattı: “bakım-apt.sh”
B hattı: “sertlestir.sh (dry-run)”
C hattı: “deploy.sh” (yalın servis).
systemd unit şablonu ve ilk timer taslağı. |
|
| 12 |
Çoklu ana bilgisayar/rol senaryoları; idempotent işlemler; ağ yapılandırması ve SSH üzerinden otomasyon. |
Entegrasyon betikleri geliştirme; envanter dosyası ile dağıtım; kısa demo kaydı veya gif hazırlama. |
Envanter dosyası (ör. hosts.txt); anahtar tabanlı SSH erişimi; scp/rsync ile dağıtım.
Senaryo A: “toplu güncelleme + sağlık raporu”
Senaryo B: “sertleştirme + fail2ban jail dağıtımı”
Senaryo C: VM (VBoxManage/virsh) ayağa kaldırma + Docker/Podman ile eşdeğer kurulum. |
|
| 13 |
İzleme ve günlükleme yöntemleri; kök neden analizi (RCA) kavramı; geri alma (rollback) stratejileri ve yapılandırma yönetimi. |
RCA.md raporu hazırlama; otomatik onarım ve rollback betiği geliştirme; log örneklerinin teslim edilmesi. |
journalctl ve /var/log analizleri; eşik ve uyarı mekanizmaları; logrotate kurgusu.
Hata senaryosu üretme: servis veya kuralların bozulması → RCA raporu → düzeltici eylem betiği.
Rollback: yapılandırma snapshot/backup → geri yükleme provası. |
|
| 14 |
Doğruluk, performans ve güvenlik sertleştirmesi doğrulama yöntemleri; negatif testler ve failure injection kavramı; zamanlayıcı doğrulama; statik analiz araçları ve temel güvenlik taramaları. |
TESTS.md belgesi hazırlama; otomatik test betikleri (tests/.sh) geliştirme; metrik özet raporu çıkarma. |
Negatif testler, hatalı argüman/failure injection; zamanlayıcı doğrulama.
İsteğe bağlı: shellcheck, shfmt ile statik analiz; konteyner imajı için temel güvenlik taraması.
Kıyas/ölçüm: iş süresi, log hacmi, başarısızlık oranı. |
|
| 15 |
Yayınlanabilir sürüm hazırlama; sürüm etiketleme ve CHANGELOG oluşturma; devralma dokümanları (RUNBOOK, OPERATIONS) tasarımı; sunum ve canlı demo prensipleri. |
Son sürüm repo’nun hazırlanması; tüm dokümantasyonun tamamlanması; demo kaydı veya slayt sunumunun teslimi. |
Sürüm etiketleme: v1.0.0 + CHANGELOG.
RUNBOOK.md (kurulum/çalıştırma/onarım) ve OPERATIONS.md (günlük iş akışı) belgelerinin hazırlanması.
6–8 dakikalık canlı demo + Q&A oturumu; peer-review tutanaklarının oluşturulması. |
|