Kurulum ve Genel Kullanım
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.