9.2 KiB
03 — Ubuntu Baseline
Kısa özet: Saha PC'lerinin standart zemini: Ubuntu Server 26.04.1+ LTS minimal kurulum, GNOME sonradan eklenir, terminale boot edilir,
unattended-upgradeskapalıdır. BIOS güç-kurtarma ayarı ve GUI aç/kapa anahtarları bu dosyadadır.
- Dosya:
docs/03-UBUNTU-BASELINE.md - İlgili kararlar:
24-DECISION-LOG.md#K-01(OS/sürüm),K-02(GNOME),K-03(boot + bf-gui),K-11(otomatik update kapalı) - Durum: [ ] Taslak
1. Amaç
Her saha PC'sinin aynı minimal zeminden başlamasını garanti etmek: hangi ISO, hangi masaüstü, hangi boot hedefi, hangi servisler açık/kapalı. Bu zemin 04'teki imajın ve 05'teki kurucunun varsayımıdır.
2. Kapsam
- Kapsam içi: ISO seçimi, BIOS güç-kurtarma ayarı, boot hedefi (multi-user), GUI katmanı (GNOME + xRDP +
bf-gui-*),unattended-upgradeskapatma, açılışta koşan servis listesi. - Kapsam dışı: imaj üretim yöntemi (04), kurucu modül detayları (05), WireGuard/SSH sertleştirme (06/08/11).
3. Kararlar
KARAR: Saha standardı Ubuntu Server 26.04.1+ LTS'tir (GUI'siz minimal kurulum; GNOME sonradan eklenir).
GEREKÇE: 26.04.1 LTS resmi indirme sayfasında yayında (kod adı Resolute Raccoon); Server ISO'su varsayılan olarak GUI kurmaz, minimal zemin + ihtiyaca göre GUI standart yoldur. Noktasürüm (.1+) baz alınır çünkü ilk .0 dalgasındaki kurulumcu hataları genelde .1'de toplanır.
ALTERNATİF: Ubuntu 24.04 LTS — 26.04 doğrulanamasaydı yedekti; doğrulandığı için yedekte bekler. Ubuntu Desktop 26.04 (6 GB RAM şartı) saha bütçesini zorladığı için elendi.
RİSK: 26.04.x noktasürümlerinde donanım sürücü farkı; azaltma: golden image LAB(2)'de her saha donanım profilinde test edilir.
MALİYET: Ücretsiz.
LİSANS: Ubuntu LTS ücretsiz (ESM kapsamına bel bağlanmaz) — https://releases.ubuntu.com/ (26.04.1, doğrulanma: 2026-09-15) + https://ubuntu.com/download/desktop (sistem gereksinimi, doğrulanma: 2026-09-15).
KARAR: Saha masaüstü ortamı GNOME'dur (Ubuntu Desktop standardı); XFCE elendi.
GEREKÇE: Kullanıcı kararı + Ubuntu Desktop standardı: tanıdık modern masaüstü, teknisyen akışıyla birebir uyum.
ALTERNATİF: XFCE — hafif ve düşük kaynak tüketimine rağmen kullanıcı kararıyla elendi; yedekte tutulmaz.
RİSK: xRDP+GNOME kombinasyonu ek ayar isteyebilir (uyarı: GNOME oturumu RDP'de ek yapılandırma gerektirebilir); azaltma: 13-MEG-LINUX-ACCEPTANCE testi GNOME üzerinde koşar, `bf-gui-*` LAB'da 26.04.1 imajında doğrulanmadan dondurulmaz.
MALİYET: Ücretsiz.
LİSANS: GNOME (GPL/LGPL bileşenler), ücretsiz — https://www.gnome.org/ (doğrulanma: 2026-09-15).
KARAR: Cihazlar terminale (multi-user) boot eder; grafik katman `bf-gui-on` / `bf-gui-off` ile systemd üzerinden açılıp kapatılır.
GEREKÇE: xRDP mimarisi oturum yöneticisi (sesman) + systemd servis birimleri (`xrdp`, `xrdp-sesman`) üzerine kuruludur; GUI, display-manager + xRDP servisleri üzerinden yönetilebilir bir katman olarak modellenir. Varsayılan kapalı GUI = düşük RAM, düşük saldırı yüzeyi, öngörülebilir boot.
ALTERNATİF: Her zaman grafik boot — kaynak israfı ve 700 cihazda gereksiz hata yüzeyi nedeniyle elendi.
RİSK: Kesin birim adları ve GNOME oturum başlatma satırı 26.04.1'e göre değişebilir; azaltma: LAB'da 26.04.1 imajında doğrulanmadan `bf-gui-*` dondurulmaz.
MALİYET: Ücretsiz.
LİSANS: xRDP Apache-2.0, ücretsiz — https://github.com/neutrinolabs/xrdp (v0.10.6.1, 2026-07-07; doğrulanma: 2026-09-15).
KARAR: Golden image'da `unattended-upgrades` kapatılır (`/etc/apt/apt.conf.d/20auto-upgrades` değerleri `0` + `apt-daily*.timer` maskeleme).
GEREKÇE: `unattended-upgrades` Ubuntu Server'da varsayılan kurulu ve etkindir, günde bir kez çalışır; kapatılmazsa 700 cihaz ilk açılışta güncellemeye kalkar ("onaysız update yasak" ilkesi delinir).
ALTERNATİF: Otomatik security update'e izin verme — eşzamanlı indirme + onaysız değişim riski nedeniyle elendi.
RİSK: Kapatma adımı imajda atlanırsa filo kendiliğinden güncellenir; azaltma: kurucu final-check + monitoring metriği.
MALİYET: Ücretsiz.
LİSANS: Yok (OS yapılandırması) — https://ubuntu.com/server/docs/how-to/software/automatic-updates/ (doğrulanma: 2026-09-15).
4. Neden Bu Karar?
Server minimal kurulum + sonradan GNOME (Ubuntu Desktop standardı, kullanıcı kararı). Terminale boot, 700 cihazın varsayılan durumunu en öngörülebilir hale getirir; grafik yalnızca bakım penceresinde açılır. Otomatik update'in kapatılması, update zincirinin (10-UPDATE) "onay olmadan değişim yok" ilkesinin teknik kilididir.
5. Alternatifler
| Alternatif | Artı | Eksi | Sonuç |
|---|---|---|---|
| Ubuntu 24.04 LTS | Olgun donanım desteği | Daha kısa destek penceresi | Yedek |
| Ubuntu Desktop 26.04 | Tek adımda GUI | 6 GB RAM şartı, şişkin zemin | Elendi |
| XFCE | Hafif, düşük kaynak | Kullanıcı kararıyla elendi (saha standardı GNOME) | Elendi |
| Her zaman grafik boot | Teknisyen rahatlığı | Kaynak israfı, geniş hata yüzeyi | Elendi |
6. Avantajlar
- Minimal zemin = küçük imaj, hızlı kurulum, az saldırı yüzeyi.
- Kapalı GUI varsayılanı = düşük RAM + öngörülebilir boot 700 cihazda çarpan etkisi yapar.
- Kapalı otomatik update = filo sürüm determinizmi.
7. Dezavantajlar
- GNOME oturum başlatma satırı ve display-manager birim adları 26.04.1'e göre LAB'da doğrulanmadan dondurulamaz.
- Teknisyen grafik istediğinde ek komut (
bf-gui-on) gerekir — runbook'a işlenir.
8. Riskler
| Risk | Olasılık | Etki | Azaltma |
|---|---|---|---|
| 26.04.x sürücü farkı heterojen donanımda | Orta | Orta | LAB profil testi (04) |
bf-gui-* birim adları 26.04.1'de farklı |
Orta | Düşük | LAB doğrulaması, §13 açık soru |
unattended-upgrades açık unutulur |
Orta | Yüksek | final-check + monitoring metriği |
9. Uygulama Planı
- BIOS ayarı (her saha PC'sinde, elektrik kesintisi sonrası otomatik açılış için):
Restore on AC Power Loss = Power On(üretici menüsündeAfter Power Loss: Power On/AC Recovery: Power Onadlarıyla da geçer; teknisyen imaj öncesi menüden doğrular).
- Ubuntu Server 26.04.1+ minimal kurulum (GUI seçilmez).
- Boot hedefi terminale sabitlenir:
sudo systemctl set-default multi-user.target
systemctl get-default # multi-user.target beklenir
- GNOME + xRDP katmanı kurulur (kurucu 05 üzerinden):
sudo apt install -y ubuntu-desktop-minimal xrdp
sudo systemctl enable xrdp xrdp-sesman
# GNOME oturumu varsayılan yapılır (LAB'da 26.04.1'e göre doğrulanacak satır):
echo "gnome-session" > ~/.xsession
- GUI aç/kapa anahtarları (kurucu tarafından
/usr/local/bin/altına yazılır):
sudo bf-gui-on # display-manager + xrdp/xrdp-sesman başlatılır, RDP oturumu açılır
sudo bf-gui-off # grafik katman durdurulur, cihaz terminale döner
- Otomatik update kapatılır:
# /etc/apt/apt.conf.d/20auto-upgrades içinde her iki değer 0:
# APT::Periodic::Update-Package-Lists "0";
# APT::Periodic::Unattended-Upgrade "0";
sudo systemctl mask apt-daily.timer apt-daily-upgrade.timer
- Açılışta koşması beklenen servisler (final-check bunları denetler):
NetworkManager(veyasystemd-networkd),wg-quick@wg0,docker,xrdp+xrdp-sesman(yalnızca GUI-açık modda),node_exporter, RustDesk/MeshCentral agent,bf-health-push.timer.
10. Test Planı
| Test | Beklenen sonuç | Ortam |
|---|---|---|
get-default |
multi-user.target |
LAB(2) |
| Güç kesintisi simülasyonu | BIOS ayarı ile cihaz kendiliğinden açılır | LAB(2) |
bf-gui-on/off sonrası RDP |
GNOME oturumu açılır/kapanır | LAB(2) |
20auto-upgrades değerleri 0, timer'lar maskeli |
Otomatik apt çalışmaz | LAB(2) imaj denetimi |
11. Rollback
- Yanlış boot hedefi:
sudo systemctl set-default multi-user.targetile geri alınır. - Bozuk GNOME/xRDP katmanı:
bf-gui-off+ paket yeniden kurulumu; son çare imajdan yeniden kurulum (04). - Otomatik update yanlışlıkla açıldıysa §9 adım 6 yeniden uygulanır,
apt-daily*timer durumu denetlenir.
12. Kontrol Listesi
- ISO sürümü 26.04.1+ (LAB'da
lsb_release -açıktısı kayıtlı). - BIOS
Restore on AC Power Loss = Power Onher profilde doğrulandı. get-default=multi-user.target.bf-gui-on/offLAB 26.04.1 imajında test edildi.unattended-upgradeskapalı + timer'lar maskeli.
13. Açık Sorular
- GNOME oturum başlatma satırı +
bf-gui-*kesin birim listesi — LAB 26.04.1 imajında (sahibi: Faz 3). NetworkManagervssystemd-networkdseçimi — netplan profiliyle birlikte LAB'da netleşecek (sahibi: Faz 3, 08 yazarı).
Ek: Zemin Katmanları
flowchart TB
ISO["Ubuntu Server 26.04.1+ ISO<br/>(GUI'siz minimal)"] --> BOOT["Boot hedefi: multi-user.target<br/>(terminale boot)"]
BOOT --> GUI["GUI katmanı (kapalı varsayılan)<br/>GNOME + xRDP + bf-gui-on/off"]
GUI --> KILIT["Update kilidi<br/>unattended-upgrades kapalı + timer maskeli"]
KILIT --> SERVIS["Açılış servisleri<br/>wg-quick + docker + node_exporter + agent'lar"]