Pardus'ta Geçici Veri Yönetimi: /run Dizini ve Systemd Servis İlişkisi

Pardus ve genel olarak Linux tabanlı işletim sistemlerinde /run dizini, sistemin "canlı" kalbi gibidir. Bir kullanıcı olarak bu dizine baktığınızda karmaşık dosyalar görebilirsiniz, ancak mantığını kavradığınızda sistemin nasıl haberleştiğini de anlamış olursunuz.


Pardus Dosya Hiyerarşisi: /run Dizini Nedir?

Pardus işletim sisteminde kök dizini (/) altında bulunan /run klasörü, geçici çalışma verilerinin (runtime data) barındırıldığı kritik bir alandır. Bu dizin, sistem önyüklendiğinden (boot) bu yana çalışan servisler ve süreçler (processes) hakkında bilgi tutar.

1. /run Dizininin Temel Özellikleri

Bu dizini diğerlerinden ayıran en önemli özellikler şunlardır:

  • Geçicidir (Tmpfs): /run dizini fiziksel bir disk alanı değil, RAM üzerinde çalışan bir dosya sistemidir (tmpfs). Yani bilgisayarınızı kapattığınızda içindeki tüm veriler silinir.

  • Erken Erişim: Sistem açılışının çok erken aşamalarında (servisler henüz tam başlamadan) kullanılabilir olması için tasarlanmıştır.

  • Hız: RAM üzerinde tutulduğu için bu dizindeki verilere erişim hızı, SSD veya HDD üzerindeki dosyalara göre çok daha yüksektir.


2. Neden İhtiyaç Duyulur?

Geçmişte bu veriler /var/run ve /dev/shm gibi farklı yerlere dağılmıştı. Modern Pardus (ve Debian tabanlı sistemler), karmaşayı önlemek için her şeyi tek bir çatı altında topladı.

İçerisinde Neler Bulunur?

  1. PID Dosyaları: Çalışan programların işlem kimlik numaralarını (.pid) tutar. Örneğin; SSH servisinin PID dosyası burada saklanır, böylece sistem servisi durdurmak istediğinde hangi numaralı işlemi sonlandıracağını bilir.

  2. Soket Dosyaları: Programların birbirleriyle iletişim kurmasını sağlayan "kapılar" buradadır.

  3. Kilit (Lock) Dosyaları: Bir kaynağın (örneğin bir USB aygıtı veya bir dosya) aynı anda iki farklı program tarafından kullanılmasını engellemek için "meşgul" işaretleri burada tutulur.

  4. Kullanıcı Bilgileri: /run/user/ altında, o an sisteme giriş yapmış her kullanıcının ID numarasına göre ayrılmış özel geçici alanları bulunur.


3. Pratik İnceleme: Terminal Üzerinden Keşif

Pardus terminalini (Konsole veya Xfce Terminal) açarak bu dizini inceleyebilirsiniz:

  • İçeriği listelemek için:

    ls -F /run

  • Bağlı olduğu dosya tipini görmek için:

    df -h /run

    (Burada "Filesystem" kısmında tmpfs yazdığını göreceksiniz.)


4. Dikkat Edilmesi Gerekenler

El ile müdahale etmeyin: /run dizini altındaki dosyaları manuel olarak silmek veya değiştirmek, çalışan servislerin çökmesine veya sistemin kararsızlaşmasına neden olabilir. Eğer bir program "zaten çalışıyor" hatası veriyorsa ancak çalışmıyorsa, sadece ilgili .pid dosyasını silmek bazen çözüm olabilir; fakat bu ileri düzey bir işlemdir.


Özet Tablo

ÖzellikAçıklama
Konum/run
Depolama TipiRAM (tmpfs)
KalıcılıkYok (Yeniden başlatmada silinir)
AmacıÇalışan süreçlerin (process) anlık verilerini tutmak


Bölüm 2: Pardus'ta Veri Yönetimi ve Servis Kontrolü

Sistemin kararlı çalışması için verilerin nerede, ne kadar süreyle tutulduğu çok önemlidir. /run dizinini sistemin "kısa süreli belleği" olarak tanımlamıştık. Şimdi ise "uzun süreli çalışma belleği" olan /var ile farklarına ve bunları yöneten mekanizmaya bakalım.

1. /run vs /var: Hangisi, Ne Zaman Kullanılır?

Pardus (ve genel Linux hiyerarşisi) verileri kalıcılıklarına göre ayırır:

Özellik/run (Runtime)/var (Variable)
KalıcılıkGeçicidir, RAM'de tutulur.Kalıcıdır, Diskte tutulur.
Kapanışta Ne Olur?Tamamen silinir.Veriler korunur (Loglar, veritabanları).
Kullanım AmacıO an çalışan süreçlerin iletişimi.Sistemin zamanla biriktirdiği veriler.
ÖrnekBir uygulamanın ID'si (.pid)Uygulamanın hata kayıtları (.log)

İpucu: Eğer bir dosya bilgisayar kapandığında önemini yitiriyorsa /run içindedir. Eğer bilgisayarı açtığınızda geçmişte ne olduğunu (hata raporları gibi) görmek istiyorsanız /var dizinine bakmalısınız.


2. Orkestra Şefi: Systemd ve Servis Yönetimi

Pardus, servisleri (arka plan programlarını) yönetmek için systemd adı verilen bir sistem ve servis yöneticisi kullanır. /run dizinindeki pek çok dosya aslında systemd tarafından oluşturulur ve yönetilir.

Temel Servis Komutları (Pardus Terminal)

Bir servisin (örneğin yazdırma servisi veya ağ yöneticisi) durumunu kontrol etmek için şu komutları kullanırız:

  • Servis Durumu Sorgulama:

    systemctl status <servis_adi>

    (Örnek: systemctl status NetworkManager)

  • Servisi Durdurma:

    sudo systemctl stop <servis_adi>

    (Bu komutu verdiğinizde, /run altındaki ilgili .pid dosyası otomatik olarak silinir.)

  • Servisi Başlatma:

    sudo systemctl start <servis_adi>

    (Bu komutla servis yeniden başlar ve /run altında yeni bir kimlik dosyası oluşturulur.)


3. Pratik Uygulama: Bir Servisin İzini Sürmek

Gelin, /run dizini ile servisler arasındaki bağı canlı bir örnekle görelim:

  1. Terminali açın ve şu komutu yazın:

    ls /run/sshd.pid (Eğer SSH servisi yüklü ve aktifse)

  2. Buradaki sayıyı not alın. Bu, uygulamanın Process ID (PID) numarasıdır.

  3. Ardından ps aux | grep sshd komutunu çalıştırın.

  4. Göreceksiniz ki, /run içindeki o küçük dosyadaki numara ile sistemde çalışan programın numarası tam olarak aynıdır.


4. Neden Önemli?

Pardus'ta bir uygulama "donduğunda" veya "beklenmedik şekilde kapandığında", bazen /run içindeki o dosya silinmeden kalabilir. Uygulamayı tekrar açmaya çalıştığınızda sistem o dosyayı görür ve "Bu program zaten çalışıyor" diyerek açılmayı reddedebilir. İşte Linux uzmanlığı, bu dosyanın ne işe yaradığını bilip müdahale edebilmekle başlar.


Pardus dosya sisteminin derinliklerine indiğimizde, /run ve /proc dizinleri sıkça karıştırılır. Her ikisi de sanal dosya sistemidir (yani diskte fiziksel olarak yer kaplamazlar, RAM'de yaşarlar), ancak varoluş amaçları ve hizmet ettikleri "efendileri" tamamen farklıdır.

Derinlemesine Analiz: /run vs /proc

Pardus'u bir "fabrika" olarak düşünürsek; bu iki dizin fabrikanın tamamen farklı iki departmanını temsil eder.

1. Temel Fark: Kaynak Kim? (Source)

  • /proc (Kernel'in Aynası):

    Burası Linux Çekirdeği'nin (Kernel) konuştuğu yerdir. /proc altındaki dosyalar aslında gerçek dosya değildir; onlar çekirdeğin o anki durumunun, donanım bilgisinin ve çalışan süreçlerin canlı bir yansımasıdır. Çekirdek, bellekteki bilgileri size "dosya gibi" gösterir.

  • /run (Servislerin Sahası):

    Burası Programların (User Space) konuştuğu yerdir. Sistem servisleri (sshd, network-manager, docker vb.) çalışırken ürettikleri geçici verileri buraya yazar. Burası programların birbirleriyle koordinasyon kurduğu bir "beyaz tahta" gibidir.

2. İçerik Farkı: Ne Barındırırlar?

  • /proc İçeriği:

    • Donanım Bilgisi: /proc/cpuinfo (işlemci), /proc/meminfo (RAM).

    • Süreç Bilgisi: Her çalışan program için numaralı bir klasör vardır (örneğin /proc/1/ systemd'ye aittir).

    • Çekirdek Ayarları: /proc/sys/ altında sistemin çalışma parametreleri bulunur.

  • /run İçeriği:

    • PID Dosyaları: "Ben çalışıyorum, kimliğim bu" diyen dosyalar.

    • Soketler (Sockets): Programların veri alışverişi yaptığı bağlantı noktaları.

    • Kilitler (Locks): "Bu dosyayı ben kullanıyorum, başkası dokunmasın" dosyaları.

3. Müdahale Edilebilirlik (Writability)

  • /proc: Genellikle Sadece Okunabilir (Read-Only).

    Çoğu dosyaya yazamazsınız çünkü onlar sadece bilgi verir. (İstisna: /proc/sys altındaki bazı dosyalara echo komutu ile sayı göndererek çekirdek ayarlarını anlık değiştirebilirsiniz).

  • /run: Okunabilir ve Yazılabilir (Read-Write).

    Root yetkisi olan servisler ve kullanıcılar buraya sürekli dosya oluşturur ve siler.


Benzetme ile Anlayalım

Bu iki dizini bir Otomobil üzerinden örneklendirelim:

Özellik/proc Dizini/run Dizini
BenzetmeGösterge PaneliNot Defteri / Telsiz
GöreviHızı, motor sıcaklığını, deviri, yakıt durumunu gösterir.Şoförün "Şu an 3. vitesteyim" veya "Klima açık" diye not aldığı yerdir.
KaynağıMotorun kendisinden (Çekirdek) gelir.Şoförden veya yolculardan (Programlar) gelir.
EtkileşimGenelde sadece bakarsınız (İzleme).Sürekli silip yeni notlar alırsınız (Koordinasyon).

Terminalde Canlı Test

Okuyucularınızın farkı kendi gözleriyle görmesi için şu iki komutu makaleye ekleyebilirsiniz:

  1. Çekirdeğe Bakış (/proc):

    cat /proc/meminfo

    (Çıktı: Sistemin anlık RAM kullanımını gösterir. Bu bilgiyi bir program değil, donanım yönetimini yapan çekirdek verir.)

  2. Servislere Bakış (/run):

    ls /run/lock

    (Çıktı: O an sistemde kilitlenmiş, kullanımda olan kaynakların listesini gösterir.)


Bu karşılaştırma, okuyucunun sistemin "donanım/çekirdek katmanı" (/proc) ile "yazılım/servis katmanı" (/run) arasındaki çizgiyi net bir şekilde çekmesini sağlayacaktır.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu