Kurulum ve Genel Kullanım

Bash GNU Make Linux Git

Bu sayfa, depoyu ilk kez kullanacaklar içindir. Her modülün kendi gereksinimleri ilgili kılavuz sayfasında ayrıca listelenir.

Gereksinimler

Araç Neden gerekli Kurulum
bash 4.4+ Scriptler bash dizilerini ve mapfile kullanır Tüm modern dağıtımlarda hazır
make Tüm işlerin giriş noktası sudo apt install make
git Depoyu klonlamak için sudo apt install git
awk, sed, grep Çıktı ayrıştırma Dağıtımla birlikte gelir

Modüle özel araçlar (örneğin Multipass) ilgili modülün make mp-install-deps hedefiyle kurulur.

Depoyu klonlama

git clone https://github.com/cagatayuresin/scripts.git
cd scripts
make help

make help çıktısı, depodaki tüm modülleri ve hedefleri gruplanmış olarak listeler. Her modülün hedefleri kendi önekini taşır (01. modül için mp-), böylece ileride eklenecek modüller aynı adı kullansa bile çakışma olmaz:

cagatayuresin/scripts - kisisel bash script koleksiyonu
Kullanim: make <hedef> [DEGISKEN=deger]

  01-multipass-cluster-maker (Multipass ile Ubuntu VM lab)
    mp-preflight      Sistem gereksinimlerini denetler (kurulumdan once zorunlu calisir)
    mp-install-deps   Eksik bagimliliklari kurar (multipass vb., sudo ister)
    mp-cluster        3 makinelik cluster kurar (master + worker + datanode)
    mp-singlenode     Tek makine kurar (singlenode)
    mp-status         Kurulu makinelerin durumunu ve kaynaklarini gosterir
    mp-ssh-info       Makinelere SSH ile baglanma bilgilerini yazdirir
    mp-clean          Bu modulun olusturdugu tum makineleri kalici olarak siler

  Genel
    help              Bu yardim ekranini gosterir
    modules           Depodaki script modullerini listeler

  Bakim
    lint              shellcheck + shfmt ile scriptleri denetler
    fmt               shfmt ile scriptleri bicimlendirir (dosyalari degistirir)
    fix-perms         Tum .sh dosyalarini calistirilabilir yapar (chmod +x)
    check-perms       Calistirilabilir biti eksik script var mi kontrol eder (CI)

Çalıştırılabilirlik

Scriptler depoda 755 izniyle tutulur, yani klonladıktan sonra doğrudan çalışırlar:

./scripts/01-multipass-cluster-maker/preflight.sh --help

Herhangi bir sebeple izinler bozulursa:

make fix-perms

Değişkenlerle çalışma

Modül hedefleri değişkenlerle özelleştirilebilir; komut satırında verilen değer varsayılanı ezer:

make mp-cluster MP_CPUS=4 MP_MEMORY=8G MP_DISK=20G
make mp-singlenode MP_RELEASE=22.04

Renkli çıktı

Çıktılar terminalde renkli, dosyaya veya boruya (pipe) yönlendirildiğinde düz metindir. Renkleri tamamen kapatmak için standart NO_COLOR değişkeni kullanılabilir:

NO_COLOR=1 make mp-preflight

Scriptler doğrudan çağrıldığında --no-color seçeneğini de kabul eder.

Ortak seçenekler

Tüm modül scriptleri aynı arayüzü paylaşır:

Seçenek Anlamı
-h, --help Scriptin kendi yardımını gösterir
--yes Onay sorularını atlar (otomasyon için)
--no-color Renkli çıktıyı kapatır

Make tarafında ise YES=1 onayları, MP_FORCE=1 preflight engellerini atlar.