ubuntu 24.04.3 LTS Server kurulumu hatası


ubuntu 24.04.3 LTS Server kurulumu yaparken yaşadığım bir sorun, defulat olarak kurulum yaparken kurulum ekranlarında güncelleme yapmasını onaylayıp devam ediyoruz burada ubuntu' nun kendi repo  sunucuları olan bir sorun yüzünden kurulum hata alıyor bu yüzden kurulum ekranında aşağıdaki resimdeki alanı silip devam edip kurulum yapmalısınız ve kurulum sonrasında ise repoları düzenleyerek yeniden güncelleme yaparak süreci tamamlayabilirsiniz. öncesinde ypaılanarl ise cheksun yapılması bir kaç kere iso download yapılması eth modu cpu modu vm modu gibi bir çok alanı değiştirmek sonuç vermeyince bunu bu şekilde çözdüm bilginize - kurulum yaptığım platform : Proxmox VE 9.0.3

kernel shared memory


kernel shared memory değişimi geçici olarak yapmak için

sudo sysctl -w kernel.shmall=8388608

kalıcı olarak değiştirmek için

buradan değiştirebilirsin

sudo nano /etc/sysctl.conf

içinde kernel.shmall=*** değerini bulup yeni değeri ekleyip restart servis yapman gerekiyor.

sudo sysctl -p veya

sysctl --system

komutları uygulanır

Red Hat OpenShift 4.19 - Yenilikler

Red Hat OpenShift 4.19 - Yenilikler

Red Hat OpenShift 4.19 sürümü, işletmelerin yapay zeka (AI) ve sanallaştırma alanındaki ihtiyaçlarını hızlandırmak için önemli yenilikler sunuyor. 

PVE 8.3 den 8.4 e Upgrade


Selamlar hadi bakalım ilk proxmox ilk yazımıda ilk bash scriptimizde bu konu için olsun, nedir kısaca Proxmox Virtual Environment 8.3 den Proxmox Virtual Environment 8.4 e upgrade nasıl yapılır.

RedHat Paket kilitleme (package locking)


Red Hat gibi Linux dağıtımlarında "paket kilitleme" (package locking) kavramını açıklayalım

Paket Kilitleme Nedir?

Paket kilitleme, bir paket yöneticisi (örneğin yum veya dnf) tarafından belirli bir paketin güncellenmesini veya kaldırılmasını engelleme işlemidir. Bu, özellikle sistemde kritik bir paketin yanlışlıkla güncellenmesini veya kaldırılmasını önlemek için kullanılır. Paket kilitlendiğinde, paket yöneticisi bu paketi değiştiremez.

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/UEFIBootloader (GRUB gibi)Çekirdek (Kernel)Init/SystemdServisler/Ç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 veya single-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 yerine reload 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.

Linux’ta Kullanılan 15 Ağ Aracı


1. ping

ping komutu, sistem yöneticileri tarafından en sık kullanılan komutlardan biridir. ICMP paketlerini kullanarak iki makinenin birbirine bağlı olup olmadığını kontrol eder. Ağ bağlantılarının sağlığı ve gecikme sürelerini test etmek için idealdir.
Kullanım:
ping google.com
Bu komut, google.com sunucusunun yanıt verip vermediğini kontrol eder.


2. traceroute
traceroute komutu, mevcut makineden uzak bir sunucuya olan yolu ve bu yol üzerindeki her bir atlamayı (hop) gösterir. Ağ sorunlarını tespit etmek için sıklıkla kullanılır.
Kullanım:
traceroute google.com
Bu komut, google.com’a giden veri paketlerinin hangi yollardan geçtiğini gösterir.


3. mtr
mtr komutu, traceroute ve ping komutlarının bir kombinasyonu gibidir. Ağda herhangi bir paket kaybı olup olmadığını kontrol etmek için kullanılır. Anlık olarak sürekli güncellenen bir ağ izleme sağlar.
Kullanım:
mtr google.com
Bu komut, google.com’a olan ağ yolunu izler ve olası gecikmeleri anlık olarak raporlar.


4. curl
curl, HTTP istekleri yapmak ve dosya indirmek için kullanılan yaygın bir komuttur. Web sayfalarından veri çekmek, API çağrıları yapmak ve dosya indirmek için kullanılır.
Kullanım:
curl https://example.com
Bu komut, example.com’un içeriğini terminale indirir.
Ekstra:
Bir dosyayı indirmek için:
curl -O https://example.com/file.txt


5. wget
wget komutu, curl komutuna benzer ancak genellikle daha basit ve sadece dosya indirmek için kullanılır. Kesilen indirmeleri devam ettirebilmesi önemli bir avantajdır.
Kullanım:
wget https://example.com/file.txt
Bu komut, belirtilen dosyayı indirir.


6. dig
dig komutu, DNS problemlerini çözmek için harika bir araçtır. DNS sorguları yapar ve alan adlarının IP adreslerini çözümlemek için kullanılır.
Kullanım:
dig google.com
Bu komut, google.com için DNS bilgilerini görüntüler.


7. whois
whois komutu, bir alan adıyla ilgili bilgileri almak için kullanılır. Alan adının sahibi, tescil tarihi ve diğer kayıt bilgileri gibi veriler sağlanır.
Kullanım:
whois google.com
Bu komut, google.com alan adıyla ilgili kayıt bilgilerini getirir.


8. ssh
SSH (Secure Shell), uzaktaki bir sunucuya güvenli bir şekilde bağlanmak için kullanılır. Varsayılan olarak 22 numaralı port üzerinden çalışır.
Kullanım:
ssh kullanıcı@sunucu_ip
Bu komut, belirtilen IP adresindeki sunucuya bağlanmayı sağlar.


9. scp ve rsync
scp ve rsync komutları, bir sunucudan diğerine dosya kopyalamak için kullanılır. SSH üzerinden güvenli bir şekilde dosya aktarımı yaparlar.
Kullanım:
scp dosya.txt kullanıcı@sunucu:/hedef_klasor/
rsync -av dosya.txt kullanıcı@sunucu:/hedef_klasor/
rsync daha gelişmiş bir yapıya sahip olup, sadece değişen bölümleri kopyalar.


10. ifconfig
ifconfig komutu, sunucunun mevcut ağ yapılandırmasını incelemek için kullanılır. IP adresi, MAC adresi gibi bilgileri gösterir.
Kullanım:
ifconfig
Bu komut, mevcut ağ arabirimlerini ve yapılandırmalarını listeler.


11. ip
ip komutu, ifconfig komutunun daha modern bir versiyonudur. Ağ yapılandırması, rota ekleme, IP adresi ayarlama gibi görevler için kullanılır.
Kullanım:
ip a
Bu komut, ağ arabirimlerinin yapılandırmasını gösterir.
ip r
Bu komut, mevcut yönlendirme tablolarını listeler.


12. telnet
telnet, SSH’den önce bir sunucudan diğerine bağlanmak için kullanılan protokoldür. Ancak güvenli olmadığı için günümüzde kullanımı önerilmez.
Kullanım:
telnet sunucu_ip
Bu komut, belirtilen IP adresindeki sunucuya bağlanır. Ancak güvenlik nedeniyle SSH tercih edilmelidir.


13. nc (netcat)
nc komutu, TCP veya UDP kullanarak ağ bağlantılarına okuma/yazma işlemleri yapar. Port tarama, dosya aktarımı ve basit sunucu istemci uygulamaları için kullanılır.
Kullanım:
nc -l 1234
Bu komut, 1234 portunda dinleme yapar.
nc sunucu_ip 1234
Bu komut, belirtilen IP adresindeki 1234 portuna bağlanır.


14. nmap
nmap, ağları taramak için kullanılan açık kaynaklı bir araçtır. Belirli bir ağdaki diğer sunucuları keşfetmek için paketler gönderir ve yanıtları analiz eder.
Kullanım:
nmap 192.168.1.1
Bu komut, 192.168.1.1 IP adresindeki sunucuyu tarar.
nmap -sP 192.168.1.0/24
Bu komut, tüm alt ağı tarar.


15. netstat/ss
netstat ve ss komutları, ağ istatistiklerini görüntüler. Ayrıca hangi servislerin çalıştığını ve hangi portların dinlendiğini gösterir.
Kullanım:
netstat -tuln
Bu komut, dinlenen portları listeler.
ss -tuln
Bu komut, netstat komutunun daha hızlı bir alternatifidir.