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):
/rundizini 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?
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.Soket Dosyaları: Programların birbirleriyle iletişim kurmasını sağlayan "kapılar" buradadır.
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.
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 /runBağlı olduğu dosya tipini görmek için:
df -h /run(Burada "Filesystem" kısmında
tmpfsyazdığını göreceksiniz.)
4. Dikkat Edilmesi Gerekenler
El ile müdahale etmeyin:
/rundizini 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.piddosyasını silmek bazen çözüm olabilir; fakat bu ileri düzey bir işlemdir.
Özet Tablo
| Özellik | Açıklama |
| Konum | /run |
| Depolama Tipi | RAM (tmpfs) |
| Kalıcılık | Yok (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ık | Geç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. |
| Örnek | Bir uygulamanın ID'si (.pid) | Uygulamanın hata kayıtları (.log) |
İpucu: Eğer bir dosya bilgisayar kapandığında önemini yitiriyorsa
/runiçindedir. Eğer bilgisayarı açtığınızda geçmişte ne olduğunu (hata raporları gibi) görmek istiyorsanız/vardizinine 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,
/runaltındaki ilgili.piddosyası otomatik olarak silinir.)Servisi Başlatma:
sudo systemctl start <servis_adi>(Bu komutla servis yeniden başlar ve
/runaltı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:
Terminali açın ve şu komutu yazın:
ls /run/sshd.pid(Eğer SSH servisi yüklü ve aktifse)Buradaki sayıyı not alın. Bu, uygulamanın Process ID (PID) numarasıdır.
Ardından
ps aux | grep sshdkomutunu çalıştırın.Göreceksiniz ki,
/runiç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.
/procaltı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/sysaltındaki bazı dosyalaraechokomutu 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 |
| Benzetme | Gösterge Paneli | Not Defteri / Telsiz |
| Görevi | Hı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şim | Genelde 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:
Ç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.)
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