/etc

 

Linux'ta /etc Dizini: Tarihi ve Gelişimi

1. /etc Dizininin Anlamı ve Rolü

Linux ve Unix tabanlı sistemlerde /etc, sistem genelindeki yapılandırma dosyalarını içeren kritik bir dizindir. Bu dizin, sistemin temel bileşenlerinin nasıl çalışacağını belirleyen ayar dosyalarını barındırır. Genellikle kullanıcı bazlı ayarlar ~/.config gibi dizinlerde tutulurken, sistem genelindeki yapılandırmalar /etc içinde yer alır.

Başlangıçta "etc" kelimesi "et cetera" (Latince "ve benzeri") anlamına geliyordu. Ancak zamanla, özellikle Unix sistemlerinde, yapılandırma dosyalarının merkezi bir deposu haline geldi.


2. Tarihi ve Evrimi

UNIX Dönemi (1970'ler)
  • /etc dizini, 1970’lerde AT&T Bell Labs tarafından geliştirilen orijinal Unix işletim sisteminde tanımlandı.

  • İlk Unix sürümlerinde çekirdek yapılandırmaları, sistem servisleri ve temel komutlar için ayar dosyaları burada tutuluyordu.

  • /etc/passwd, /etc/group gibi kullanıcı yönetim dosyaları bu dönemde oluşturuldu.

BSD ve System V (1980'ler)
  • Unix’in BSD (Berkeley Software Distribution) ve System V sürümleri, /etc dizinini daha da genişletti.

  • System V init sisteminin (/etc/init.d) tanıtılması, hizmet yönetimini yapılandırmak için /etc dizinini daha önemli hale getirdi.

  • TCP/IP ve ağ yönetimi için ayarlar (örneğin, /etc/hosts, /etc/resolv.conf) burada saklanmaya başlandı.

Linux’un Ortaya Çıkışı (1990’lar)
  • Linux’un 1991’de Linus Torvalds tarafından geliştirilmesiyle birlikte Unix geleneği korundu ve Linux dağıtımları da /etc dizinini standart hale getirdi.

  • Linux Standard Base (LSB) ve Filesystem Hierarchy Standard (FHS) gibi standartlar, /etc dizininin ne tür dosyalar içermesi gerektiğini belirledi.

  • Linux dağıtımları RPM (Red Hat) ve DEB (Debian) paket yönetim sistemleriyle entegre edildi; yapılandırma dosyaları için /etc içinde paketlere özgü alt dizinler oluşturulmaya başlandı.

Modern Linux Dağıtımları (2000’ler - Günümüz)
  • Systemd’nin (/etc/systemd) yükselişi ile birlikte init betikleri büyük ölçüde değişti.

  • Dinamik yapılandırma araçları (örn. NetworkManager, Udev) bazı dosyaların önemini azalttı, ancak manuel yapılandırmalar için /etc hala kritik kaldı.

  • Kapsayıcı (container) teknolojileri ve bulut tabanlı sistemler ile /etc dizini, genellikle sabit ayarlardan ziyade şablonlarla (örneğin, Kubernetes ConfigMap’leri) yönetilmeye başladı.


3. /etc Dizininin İçeriği ve Alt Dizileri

Günümüzde Linux sistemlerinde /etc dizini şu önemli yapılandırma dosyalarını içerir:

  • Kullanıcı ve Grup Yönetimi

    • /etc/passwd: Kullanıcı bilgileri

    • /etc/shadow: Kullanıcı şifreleri

    • /etc/group: Grup bilgileri

  • Sistem ve Ağ Yapılandırması

    • /etc/hostname: Sistem adı

    • /etc/hosts: Yerel makine IP eşleşmeleri

    • /etc/resolv.conf: DNS yapılandırması

    • /etc/network/interfaces veya /etc/netplan/: Ağ arayüzleri

  • Servis Yönetimi ve Init Sistemleri

    • /etc/init.d/: Eski SystemV init betikleri

    • /etc/systemd/: Modern Systemd hizmet yapılandırmaları

  • Paket Yöneticisi Konfigürasyonları

    • /etc/apt/: Debian ve Ubuntu için APT yapılandırmaları

    • /etc/yum/: Red Hat ve CentOS için YUM yapılandırmaları

  • Güvenlik ve Erişim Kontrolleri

    • /etc/sudoers: Sudo izinleri

    • /etc/ssh/: SSH sunucu ayarları

    • /etc/pam.d/: Kimlik doğrulama modülleri (PAM)


4. Sonuç

  • /etc, Unix ve Linux sistemlerinin en kritik yapılandırma dizinlerinden biridir.

  • Tarihsel olarak esneklik ve merkezi yapılandırma amacıyla oluşturulmuş, zamanla modern init sistemleri ve bulut teknolojileri ile evrim geçirmiştir.

  • Günümüzde, konteyner teknolojileri ve otomasyon araçları ile doğrudan düzenlenmesi daha az gerekse de, geleneksel Linux sistemlerinde hâlâ vazgeçilmezdir.

Sistem yapılandırmalarıyla ilgilenirken, /etc dizinini değiştirmeden önce yedek almak her zaman iyi bir uygulamadır.